diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index cc5e0aa47168..c51b5baeadf4 100755 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -155,9 +155,13 @@ XPCOMUtils.defineLazyGetter(this, "PopupNotifications", function() { try { // Hide all notifications while the URL is being edited and the address bar // has focus, including the virtual focus in the results popup. + // We also have to hide notifications explicitly when the window is + // minimized because of the effects of the "noautohide" attribute on Linux. + // This can be removed once bug 545265 and bug 1320361 are fixed. let shouldSuppress = () => { - return gURLBar.getAttribute("pageproxystate") != "valid" && - gURLBar.focused; + return window.windowState == window.STATE_MINIMIZED || + (gURLBar.getAttribute("pageproxystate") != "valid" && + gURLBar.focused); }; return new tmp.PopupNotifications(gBrowser, document.getElementById("notification-popup"), @@ -1500,6 +1504,15 @@ var gBrowserInit = { gExtensionsNotifications.init(); + let wasMinimized = window.windowState == window.STATE_MINIMIZED; + window.addEventListener("sizemodechange", () => { + let isMinimized = window.windowState == window.STATE_MINIMIZED; + if (wasMinimized != isMinimized) { + wasMinimized = isMinimized; + UpdatePopupNotificationsVisibility(); + } + }); + window.addEventListener("mousemove", MousePosTracker); window.addEventListener("dragover", MousePosTracker); diff --git a/browser/config/mozconfigs/macosx64/debug-static-analysis b/browser/config/mozconfigs/macosx64/debug-static-analysis index dda220f3d75a..bb19af612248 100644 --- a/browser/config/mozconfigs/macosx64/debug-static-analysis +++ b/browser/config/mozconfigs/macosx64/debug-static-analysis @@ -2,26 +2,6 @@ MOZ_AUTOMATION_BUILD_SYMBOLS=0 MOZ_AUTOMATION_PACKAGE_TESTS=0 MOZ_AUTOMATION_L10N_CHECK=0 -if test `uname -s` = Darwin; then - # The toolchain installed on our OSX 10.7 build machines is too old to support - # MachO LC_DATA_IN_CODE load command, which newer LLVM generates, so we need to - # use a newer toolchain that we build. - # - # Unfortunately setting $PATH is not enough, because the build system hardcodes - # the default values for some of the build tools, which we also need to - # override below. The default value for host ar and host ranlib is also - # hardcoded so we need to override those separately. - CCTOOLS_DIR="$topsrcdir/cctools/bin" - export PATH="$CCTOOLS_DIR:$PATH" - export AR="$CCTOOLS_DIR/ar" - export HOST_AR="$CCTOOLS_DIR/ar" - export RANLIB="$CCTOOLS_DIR/ranlib" - export HOST_RANLIB="$CCTOOLS_DIR/ranlib" - export LIPO="$CCTOOLS_DIR/lipo" - export OTOOL="$CCTOOLS_DIR/otool" - export STRIP="$CCTOOLS_DIR/strip" -fi - . $topsrcdir/build/macosx/mozconfig.common ac_add_options --enable-debug diff --git a/devtools/client/inspector/inspector.xhtml b/devtools/client/inspector/inspector.xhtml index 8fdb9ee7be62..69e9cf651f60 100644 --- a/devtools/client/inspector/inspector.xhtml +++ b/devtools/client/inspector/inspector.xhtml @@ -9,6 +9,7 @@ + diff --git a/devtools/client/inspector/rules/views/text-property-editor.js b/devtools/client/inspector/rules/views/text-property-editor.js index a170d38ef4a6..7a32979b4652 100644 --- a/devtools/client/inspector/rules/views/text-property-editor.js +++ b/devtools/client/inspector/rules/views/text-property-editor.js @@ -108,7 +108,7 @@ TextPropertyEditor.prototype = { this.element._textPropertyEditor = this; this.container = createChild(this.element, "div", { - class: "ruleview-propertycontainer" + class: "ruleview-propertycontainer inline-tooltip-container" }); // The enable checkbox will disable or enable the rule. diff --git a/devtools/client/shared/widgets/ColorWidget.js b/devtools/client/shared/widgets/ColorWidget.js index 7031c73f5eba..a40540d4ff82 100644 --- a/devtools/client/shared/widgets/ColorWidget.js +++ b/devtools/client/shared/widgets/ColorWidget.js @@ -40,102 +40,18 @@ const XHTML_NS = "http://www.w3.org/1999/xhtml"; function ColorWidget(parentEl, rgb) { EventEmitter.decorate(this); - this.element = parentEl.ownerDocument.createElementNS(XHTML_NS, "div"); this.parentEl = parentEl; - this.element.className = "colorwidget-container"; - this.element.innerHTML = ` -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
- -
-
- - - - -
-
- - - - -
-
- `; - - this.onSelectValueChange = this.onSelectValueChange.bind(this); - this.onHexInputChange = this.onHexInputChange.bind(this); - this.onRgbaInputChange = this.onRgbaInputChange.bind(this); - this.onHslaInputChange = this.onHslaInputChange.bind(this); - + this.onAlphaSliderMove = this.onAlphaSliderMove.bind(this); this.onElementClick = this.onElementClick.bind(this); - this.element.addEventListener("click", this.onElementClick); + this.onDraggerMove = this.onDraggerMove.bind(this); + this.onHexInputChange = this.onHexInputChange.bind(this); + this.onHslaInputChange = this.onHslaInputChange.bind(this); + this.onRgbaInputChange = this.onRgbaInputChange.bind(this); + this.onSelectValueChange = this.onSelectValueChange.bind(this); + this.onSliderMove = this.onSliderMove.bind(this); - this.parentEl.appendChild(this.element); - - this.slider = this.element.querySelector(".colorwidget-hue"); - this.slideHelper = this.element.querySelector(".colorwidget-slider"); - ColorWidget.draggable(this.slider, this.onSliderMove.bind(this)); - - this.dragger = this.element.querySelector(".colorwidget-color"); - this.dragHelper = this.element.querySelector(".colorwidget-dragger"); - ColorWidget.draggable(this.dragger, this.onDraggerMove.bind(this)); - - this.alphaSlider = this.element.querySelector(".colorwidget-alpha"); - this.alphaSliderInner = this.element.querySelector(".colorwidget-alpha-inner"); - this.alphaSliderHelper = this.element.querySelector(".colorwidget-alpha-handle"); - ColorWidget.draggable(this.alphaSliderInner, this.onAlphaSliderMove.bind(this)); - - this.colorSelect = this.element.querySelector(".colorwidget-select"); - this.colorSelect.addEventListener("change", this.onSelectValueChange); - - this.hexValue = this.element.querySelector(".colorwidget-hex"); - this.hexValueInput = this.element.querySelector(".colorwidget-hex-input"); - this.hexValueInput.addEventListener("input", this.onHexInputChange); - - this.rgbaValue = this.element.querySelector(".colorwidget-rgba"); - this.rgbaValueInputs = { - r: this.element.querySelector(".colorwidget-rgba-r"), - g: this.element.querySelector(".colorwidget-rgba-g"), - b: this.element.querySelector(".colorwidget-rgba-b"), - a: this.element.querySelector(".colorwidget-rgba-a"), - }; - this.rgbaValue.addEventListener("input", this.onRgbaInputChange); - - this.hslaValue = this.element.querySelector(".colorwidget-hsla"); - this.hslaValueInputs = { - h: this.element.querySelector(".colorwidget-hsla-h"), - s: this.element.querySelector(".colorwidget-hsla-s"), - l: this.element.querySelector(".colorwidget-hsla-l"), - a: this.element.querySelector(".colorwidget-hsla-a"), - }; - this.hslaValue.addEventListener("input", this.onHslaInputChange); + this.initializeColorWidget(); if (rgb) { this.rgb = rgb; @@ -291,7 +207,101 @@ ColorWidget.prototype = { rgb[3] + ")"; }, + initializeColorWidget: function () { + this.parentEl.innerHTML = ""; + this.element = this.parentEl.ownerDocument.createElementNS(XHTML_NS, "div"); + + this.element.className = "colorwidget-container"; + this.element.innerHTML = ` +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ + + + +
+
+ + + + +
+
+ `; + + this.element.addEventListener("click", this.onElementClick); + + this.parentEl.appendChild(this.element); + + this.slider = this.element.querySelector(".colorwidget-hue"); + this.slideHelper = this.element.querySelector(".colorwidget-slider"); + ColorWidget.draggable(this.slider, this.onSliderMove); + + this.dragger = this.element.querySelector(".colorwidget-color"); + this.dragHelper = this.element.querySelector(".colorwidget-dragger"); + ColorWidget.draggable(this.dragger, this.onDraggerMove); + + this.alphaSlider = this.element.querySelector(".colorwidget-alpha"); + this.alphaSliderInner = this.element.querySelector(".colorwidget-alpha-inner"); + this.alphaSliderHelper = this.element.querySelector(".colorwidget-alpha-handle"); + ColorWidget.draggable(this.alphaSliderInner, this.onAlphaSliderMove); + + this.colorSelect = this.element.querySelector(".colorwidget-select"); + this.colorSelect.addEventListener("change", this.onSelectValueChange); + + this.hexValue = this.element.querySelector(".colorwidget-hex"); + this.hexValueInput = this.element.querySelector(".colorwidget-hex-input"); + this.hexValueInput.addEventListener("input", this.onHexInputChange); + + this.rgbaValue = this.element.querySelector(".colorwidget-rgba"); + this.rgbaValueInputs = { + r: this.element.querySelector(".colorwidget-rgba-r"), + g: this.element.querySelector(".colorwidget-rgba-g"), + b: this.element.querySelector(".colorwidget-rgba-b"), + a: this.element.querySelector(".colorwidget-rgba-a"), + }; + this.rgbaValue.addEventListener("input", this.onRgbaInputChange); + + this.hslaValue = this.element.querySelector(".colorwidget-hsla"); + this.hslaValueInputs = { + h: this.element.querySelector(".colorwidget-hsla-h"), + s: this.element.querySelector(".colorwidget-hsla-s"), + l: this.element.querySelector(".colorwidget-hsla-l"), + a: this.element.querySelector(".colorwidget-hsla-a"), + }; + this.hslaValue.addEventListener("input", this.onHslaInputChange); + }, + show: function () { + this.initializeColorWidget(); this.element.classList.add("colorwidget-show"); this.slideHeight = this.slider.offsetHeight; diff --git a/devtools/client/shared/widgets/tooltip/InlineTooltip.js b/devtools/client/shared/widgets/tooltip/InlineTooltip.js new file mode 100644 index 000000000000..797ccf4f2b37 --- /dev/null +++ b/devtools/client/shared/widgets/tooltip/InlineTooltip.js @@ -0,0 +1,97 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +const EventEmitter = require("devtools/shared/event-emitter"); + +/** + * The InlineTooltip can display widgets for the CSS Rules view in an + * inline container. + * + * @param {Document} doc + * The toolbox document to attach the InlineTooltip container. + */ +function InlineTooltip(doc) { + EventEmitter.decorate(this); + + this.doc = doc; + + this.panel = this.doc.createElement("div"); + + this.topWindow = this._getTopWindow(); +} + +InlineTooltip.prototype = { + /** + * Show the tooltip. It might be wise to append some content first if you + * don't want the tooltip to be empty. + * + * @param {Node} anchor + * Which node below which the tooltip should be shown. + */ + show(anchor) { + anchor.parentNode.insertBefore(this.panel, anchor.nextSibling); + + this.emit("shown"); + }, + + /** + * Hide the current tooltip. + */ + hide() { + if (!this.isVisible()) { + return; + } + + this.panel.parentNode.remove(this.panel); + + this.emit("hidden"); + }, + + /** + * Check if the tooltip is currently displayed. + * + * @return {Boolean} true if the tooltip is visible + */ + isVisible() { + return typeof this.panel.parentNode !== "undefined" && this.panel.parentNode !== null; + }, + + /** + * Clears the HTML content of the tooltip panel + */ + clear() { + this.panel.innerHTML = ""; + }, + + /** + * Set the content of this tooltip. Will first clear the tooltip and then + * append the new content element. + * + * @param {DOMNode} content + * A node that can be appended in the tooltip + */ + setContent(content) { + this.clear(); + + this.panel.appendChild(content); + }, + + get content() { + return this.panel.firstChild; + }, + + _getTopWindow: function () { + return this.doc.defaultView; + }, + + destroy() { + this.hide(); + this.doc = null; + this.panel = null; + }, +}; + +module.exports = InlineTooltip; diff --git a/devtools/client/shared/widgets/tooltip/SwatchBasedEditorTooltip.js b/devtools/client/shared/widgets/tooltip/SwatchBasedEditorTooltip.js index 499175cf137a..25e4c7e429f0 100644 --- a/devtools/client/shared/widgets/tooltip/SwatchBasedEditorTooltip.js +++ b/devtools/client/shared/widgets/tooltip/SwatchBasedEditorTooltip.js @@ -7,6 +7,9 @@ const EventEmitter = require("devtools/shared/event-emitter"); const KeyShortcuts = require("devtools/client/shared/key-shortcuts"); const {HTMLTooltip} = require("devtools/client/shared/widgets/tooltip/HTMLTooltip"); +const InlineTooltip = require("devtools/client/shared/widgets/tooltip/InlineTooltip"); + +const INLINE_TOOLTIP_CLASS = "inline-tooltip-container"; /** * Base class for all (color, gradient, ...)-swatch based value editors inside @@ -16,19 +19,30 @@ const {HTMLTooltip} = require("devtools/client/shared/widgets/tooltip/HTMLToolti * The document to attach the SwatchBasedEditorTooltip. This is either the toolbox * document if the tooltip is a popup tooltip or the panel's document if it is an * inline editor. + * @param {String} stylesheet + * The stylesheet to be used for the HTMLTooltip. + * @param {Boolean} useInline + * A boolean flag representing whether or not the InlineTooltip should be used. */ -function SwatchBasedEditorTooltip(document, stylesheet) { +function SwatchBasedEditorTooltip(document, stylesheet, useInline) { EventEmitter.decorate(this); + + this.useInline = useInline; + // Creating a tooltip instance - // This one will consume outside clicks as it makes more sense to let the user - // close the tooltip by clicking out - // It will also close on and - this.tooltip = new HTMLTooltip(document, { - type: "arrow", - consumeOutsideClicks: true, - useXulWrapper: true, - stylesheet - }); + if (useInline) { + this.tooltip = new InlineTooltip(document); + } else { + // This one will consume outside clicks as it makes more sense to let the user + // close the tooltip by clicking out + // It will also close on and + this.tooltip = new HTMLTooltip(document, { + type: "arrow", + consumeOutsideClicks: true, + useXulWrapper: true, + stylesheet + }); + } // By default, swatch-based editor tooltips revert value change on and // commit value change on @@ -73,9 +87,13 @@ SwatchBasedEditorTooltip.prototype = { * immediately if there is no currently active swatch. */ show: function () { - if (this.activeSwatch) { + let tooltipAnchor = this.useInline ? + this.activeSwatch.closest(`.${INLINE_TOOLTIP_CLASS}`) : + this.activeSwatch; + + if (tooltipAnchor) { let onShown = this.tooltip.once("shown"); - this.tooltip.show(this.activeSwatch, "topcenter bottomleft"); + this.tooltip.show(tooltipAnchor, "topcenter bottomleft"); // When the tooltip is closed by clicking outside the panel we want to // commit any changes. diff --git a/devtools/client/shared/widgets/tooltip/SwatchColorPickerTooltip.js b/devtools/client/shared/widgets/tooltip/SwatchColorPickerTooltip.js index 9207784d59ea..8bb16b43d736 100644 --- a/devtools/client/shared/widgets/tooltip/SwatchColorPickerTooltip.js +++ b/devtools/client/shared/widgets/tooltip/SwatchColorPickerTooltip.js @@ -7,6 +7,7 @@ const Services = require("Services"); const {Task} = require("devtools/shared/task"); const {colorUtils} = require("devtools/shared/css/color"); +const {ColorWidget} = require("devtools/client/shared/widgets/ColorWidget"); const {Spectrum} = require("devtools/client/shared/widgets/Spectrum"); const SwatchBasedEditorTooltip = require("devtools/client/shared/widgets/tooltip/SwatchBasedEditorTooltip"); const {LocalizationHelper} = require("devtools/shared/l10n"); @@ -38,9 +39,10 @@ function SwatchColorPickerTooltip(document, inspector, {supportsCssColor4ColorFunction}) { let stylesheet = NEW_COLOR_WIDGET ? - "chrome://devtools/content/shared/widgets/color-widget.css" : + null : "chrome://devtools/content/shared/widgets/spectrum.css"; - SwatchBasedEditorTooltip.call(this, document, stylesheet); + let tooltipDocument = NEW_COLOR_WIDGET ? inspector.panelDoc : document; + SwatchBasedEditorTooltip.call(this, tooltipDocument, stylesheet, NEW_COLOR_WIDGET); this.inspector = inspector; @@ -62,9 +64,20 @@ SwatchColorPickerTooltip.prototype = Heritage.extend(SwatchBasedEditorTooltip.pr let container = doc.createElementNS(XHTML_NS, "div"); container.id = "spectrum-tooltip"; - let spectrumNode = doc.createElementNS(XHTML_NS, "div"); - spectrumNode.id = "spectrum"; - container.appendChild(spectrumNode); + + let widget; + let node = doc.createElementNS(XHTML_NS, "div"); + + if (NEW_COLOR_WIDGET) { + node.id = "colorwidget"; + container.appendChild(node); + widget = new ColorWidget(node, color); + } else { + node.id = "spectrum"; + container.appendChild(node); + widget = new Spectrum(node, color); + } + let eyedropper = doc.createElementNS(XHTML_NS, "button"); eyedropper.id = "eyedropper-button"; eyedropper.className = "devtools-button"; @@ -74,23 +87,15 @@ SwatchColorPickerTooltip.prototype = Heritage.extend(SwatchBasedEditorTooltip.pr eyedropper.style.pointerEvents = "auto"; container.appendChild(eyedropper); - let spectrum; - if (NEW_COLOR_WIDGET) { - this.tooltip.setContent(container, { width: 218, height: 271 }); - const {ColorWidget} = require("devtools/client/shared/widgets/ColorWidget"); - spectrum = new ColorWidget(spectrumNode, color); - } else { - this.tooltip.setContent(container, { width: 218, height: 224 }); - spectrum = new Spectrum(spectrumNode, color); - } + this.tooltip.setContent(container, { width: 218, height: 224 }); - // Wait for the tooltip to be shown before calling spectrum.show + // Wait for the tooltip to be shown before calling widget.show // as it expect to be visible in order to compute DOM element sizes. this.tooltip.once("shown", () => { - spectrum.show(); + widget.show(); }); - return spectrum; + return widget; }, /** @@ -100,6 +105,7 @@ SwatchColorPickerTooltip.prototype = Heritage.extend(SwatchBasedEditorTooltip.pr show: Task.async(function* () { // Call then parent class' show function yield SwatchBasedEditorTooltip.prototype.show.call(this); + // Then set spectrum's color and listen to color changes to preview them if (this.activeSwatch) { this.currentSwatchColor = this.activeSwatch.nextSibling; diff --git a/devtools/client/shared/widgets/tooltip/moz.build b/devtools/client/shared/widgets/tooltip/moz.build index 93172227a730..8fd67533ad57 100644 --- a/devtools/client/shared/widgets/tooltip/moz.build +++ b/devtools/client/shared/widgets/tooltip/moz.build @@ -9,6 +9,7 @@ DevToolsModules( 'EventTooltipHelper.js', 'HTMLTooltip.js', 'ImageTooltipHelper.js', + 'InlineTooltip.js', 'SwatchBasedEditorTooltip.js', 'SwatchColorPickerTooltip.js', 'SwatchCubicBezierTooltip.js', diff --git a/devtools/client/themes/rules.css b/devtools/client/themes/rules.css index 2448534567fd..1c47b0b8d016 100644 --- a/devtools/client/themes/rules.css +++ b/devtools/client/themes/rules.css @@ -5,16 +5,19 @@ /* CSS Variables specific to this panel that aren't defined by the themes */ .theme-light { --rule-highlight-background-color: #ffee99; + --rule-overridden-item-border-color: var(--theme-content-color3); } .theme-dark { --rule-highlight-background-color: #594724; + --rule-overridden-item-border-color: var(--theme-content-color1); } .theme-firebug { --rule-highlight-background-color: #ffee99; --rule-property-name: darkgreen; --rule-property-value: darkblue; + --rule-overridden-item-border-color: var(--theme-content-color2); } /* Rule View Tabpanel */ @@ -428,9 +431,9 @@ top: 0px; content: ''; display: block; - border-left: 1px solid var(--theme-highlight-gray); - height: 0.7em; - border-bottom: 1px solid var(--theme-highlight-gray); + border-left: 0.5px solid var(--rule-overridden-item-border-color); + height: 0.8em; + border-bottom: 0.5px solid var(--rule-overridden-item-border-color); width: 10px; } @@ -440,7 +443,7 @@ bottom: -7px; content: ''; display: block; - border-left: 1px solid var(--theme-highlight-gray); + border-left: 0.5px solid var(--rule-overridden-item-border-color); height: 100%; } diff --git a/dom/base/StructuredCloneHolder.cpp b/dom/base/StructuredCloneHolder.cpp index 2f05e6ab611f..2f5158b5adce 100644 --- a/dom/base/StructuredCloneHolder.cpp +++ b/dom/base/StructuredCloneHolder.cpp @@ -988,13 +988,6 @@ WriteFormData(JSStructuredCloneWriter* aWriter, if (aValue.IsDirectory()) { Directory* directory = aValue.GetAsDirectory(); - - if (closure->mHolder->CloneScope() != - StructuredCloneHolder::StructuredCloneScope::SameProcessSameThread && - !directory->ClonableToDifferentThreadOrProcess()) { - return false; - } - return WriteDirectory(closure->mWriter, directory); } @@ -1114,11 +1107,6 @@ StructuredCloneHolder::CustomWriteHandler(JSContext* aCx, { Directory* directory = nullptr; if (NS_SUCCEEDED(UNWRAP_OBJECT(Directory, aObj, directory))) { - if (mStructuredCloneScope != StructuredCloneScope::SameProcessSameThread && - !directory->ClonableToDifferentThreadOrProcess()) { - return false; - } - return WriteDirectory(aWriter, directory); } } diff --git a/dom/cache/AutoUtils.cpp b/dom/cache/AutoUtils.cpp index c64b47f7a175..2fe42be8c0b6 100644 --- a/dom/cache/AutoUtils.cpp +++ b/dom/cache/AutoUtils.cpp @@ -38,7 +38,7 @@ void CleanupChild(CacheReadStream& aReadStream, CleanupAction aAction) { // fds cleaned up by mStreamCleanupList - // PSendStream actors cleaned up by mStreamCleanupList + // PChildToParentStream actors cleaned up by mStreamCleanupList } void diff --git a/dom/cache/CacheOpParent.cpp b/dom/cache/CacheOpParent.cpp index 992ee82a76b6..f7eeb30caaf6 100644 --- a/dom/cache/CacheOpParent.cpp +++ b/dom/cache/CacheOpParent.cpp @@ -12,7 +12,6 @@ #include "mozilla/dom/cache/SavedTypes.h" #include "mozilla/ipc/FileDescriptorSetParent.h" #include "mozilla/ipc/InputStreamUtils.h" -#include "mozilla/ipc/SendStream.h" namespace mozilla { namespace dom { @@ -20,7 +19,6 @@ namespace cache { using mozilla::ipc::FileDescriptorSetParent; using mozilla::ipc::PBackgroundParent; -using mozilla::ipc::SendStreamParent; CacheOpParent::CacheOpParent(PBackgroundParent* aIpcManager, CacheId aCacheId, const CacheOpArgs& aOpArgs) @@ -220,7 +218,7 @@ CacheOpParent::DeserializeCacheStream(const CacheReadStreamOrVoid& aStreamOrVoid } // Option 2: A stream was serialized using normal methods or passed - // as a PSendStream actor. Use the standard method for + // as a PChildToParentStream actor. Use the standard method for // extracting the resulting stream. return DeserializeIPCStream(readStream.stream()); } diff --git a/dom/cache/CacheStreamControlParent.cpp b/dom/cache/CacheStreamControlParent.cpp index 88c5c26b95ad..41c6c8a2ca3c 100644 --- a/dom/cache/CacheStreamControlParent.cpp +++ b/dom/cache/CacheStreamControlParent.cpp @@ -60,8 +60,11 @@ CacheStreamControlParent::SerializeStream(CacheReadStream* aReadStreamOut, NS_ASSERT_OWNINGTHREAD(CacheStreamControlParent); MOZ_DIAGNOSTIC_ASSERT(aReadStreamOut); MOZ_DIAGNOSTIC_ASSERT(aStream); + UniquePtr autoStream(new AutoIPCStream(aReadStreamOut->stream())); - autoStream->Serialize(aStream, Manager()); + bool ok = autoStream->Serialize(aStream, Manager()); + MOZ_DIAGNOSTIC_ASSERT(ok); + aStreamCleanupList.AppendElement(Move(autoStream)); } diff --git a/dom/cache/CacheTypes.ipdlh b/dom/cache/CacheTypes.ipdlh index 0c51d8eb4e86..4af5228f9755 100644 --- a/dom/cache/CacheTypes.ipdlh +++ b/dom/cache/CacheTypes.ipdlh @@ -4,7 +4,7 @@ include protocol PCache; include protocol PCacheStreamControl; -include protocol PSendStream; +include protocol PChildToParentStream; include IPCStream; include ChannelInfo; include PBackgroundSharedTypes; diff --git a/dom/cache/PCache.ipdl b/dom/cache/PCache.ipdl index f9040009bea5..b8ecd9786e66 100644 --- a/dom/cache/PCache.ipdl +++ b/dom/cache/PCache.ipdl @@ -7,7 +7,8 @@ include protocol PBlob; // FIXME: bug 792908 include protocol PCacheOp; include protocol PCacheStreamControl; include protocol PFileDescriptorSet; -include protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include CacheTypes; diff --git a/dom/cache/PCacheOp.ipdl b/dom/cache/PCacheOp.ipdl index cc5aa9357585..9e1795faa1a0 100644 --- a/dom/cache/PCacheOp.ipdl +++ b/dom/cache/PCacheOp.ipdl @@ -6,7 +6,8 @@ include protocol PCache; include protocol PCacheStorage; include protocol PCacheStreamControl; include protocol PFileDescriptorSet; -include protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include CacheTypes; diff --git a/dom/cache/PCacheStorage.ipdl b/dom/cache/PCacheStorage.ipdl index 4a1345393fa1..8c8bbbc3cad6 100644 --- a/dom/cache/PCacheStorage.ipdl +++ b/dom/cache/PCacheStorage.ipdl @@ -8,7 +8,8 @@ include protocol PCache; include protocol PCacheOp; include protocol PCacheStreamControl; include protocol PFileDescriptorSet; -include protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include CacheTypes; diff --git a/dom/cache/TypeUtils.cpp b/dom/cache/TypeUtils.cpp index 2d4cb30eb2e3..d3cbed154099 100644 --- a/dom/cache/TypeUtils.cpp +++ b/dom/cache/TypeUtils.cpp @@ -17,7 +17,6 @@ #include "mozilla/ipc/PBackgroundChild.h" #include "mozilla/ipc/PFileDescriptorSetChild.h" #include "mozilla/ipc/InputStreamUtils.h" -#include "mozilla/ipc/SendStream.h" #include "nsCOMPtr.h" #include "nsIAsyncInputStream.h" #include "nsIAsyncOutputStream.h" diff --git a/dom/cache/TypeUtils.h b/dom/cache/TypeUtils.h index 731ef9506b82..4b69c9bfd223 100644 --- a/dom/cache/TypeUtils.h +++ b/dom/cache/TypeUtils.h @@ -20,7 +20,6 @@ namespace mozilla { namespace ipc { class PBackgroundChild; -class SendStreamChild; class AutoIPCStream; } diff --git a/dom/fetch/InternalResponse.cpp b/dom/fetch/InternalResponse.cpp index cb7d74597234..2cc28959cbdf 100644 --- a/dom/fetch/InternalResponse.cpp +++ b/dom/fetch/InternalResponse.cpp @@ -80,9 +80,9 @@ InternalResponse::~InternalResponse() } template void -InternalResponse::ToIPC +InternalResponse::ToIPC (IPCInternalResponse* aIPCResponse, - PContentParent* aManager, + nsIContentParent* aManager, UniquePtr& aAutoStream); template void InternalResponse::ToIPC @@ -127,7 +127,8 @@ InternalResponse::ToIPC(IPCInternalResponse* aIPCResponse, if (body) { aAutoStream.reset(new mozilla::ipc::AutoIPCStream(aIPCResponse->body())); - aAutoStream->Serialize(body, aManager); + bool ok = aAutoStream->Serialize(body, aManager); + MOZ_DIAGNOSTIC_ASSERT(ok); } else { aIPCResponse->body() = void_t(); } diff --git a/dom/file/ipc/PBlob.ipdl b/dom/file/ipc/PBlob.ipdl index 3e758fe923f1..7cd4cbe85677 100644 --- a/dom/file/ipc/PBlob.ipdl +++ b/dom/file/ipc/PBlob.ipdl @@ -7,7 +7,8 @@ include protocol PBlobStream; include protocol PContent; include protocol PContentBridge; include protocol PFileDescriptorSet; -include protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include BlobTypes; include DOMTypes; diff --git a/dom/filesystem/Directory.cpp b/dom/filesystem/Directory.cpp index 5e8a4a745303..199ae93d5e60 100644 --- a/dom/filesystem/Directory.cpp +++ b/dom/filesystem/Directory.cpp @@ -239,18 +239,5 @@ Directory::GetFileSystem(ErrorResult& aRv) return mFileSystem; } - -bool -Directory::ClonableToDifferentThreadOrProcess() const -{ - // If we don't have a fileSystem we are going to create a OSFileSystem that is - // clonable everywhere. - if (!mFileSystem) { - return true; - } - - return mFileSystem->ClonableToDifferentThreadOrProcess(); -} - } // namespace dom } // namespace mozilla diff --git a/dom/filesystem/Directory.h b/dom/filesystem/Directory.h index 3a532e043e09..1411a514e8ff 100644 --- a/dom/filesystem/Directory.h +++ b/dom/filesystem/Directory.h @@ -96,9 +96,6 @@ public: FileSystemBase* GetFileSystem(ErrorResult& aRv); - bool - ClonableToDifferentThreadOrProcess() const; - nsIFile* GetInternalNsIFile() const { diff --git a/dom/filesystem/FileSystemBase.h b/dom/filesystem/FileSystemBase.h index 0b875eb147fb..f2292aac08c8 100644 --- a/dom/filesystem/FileSystemBase.h +++ b/dom/filesystem/FileSystemBase.h @@ -72,18 +72,6 @@ public: bool GetRealPath(BlobImpl* aFile, nsIFile** aPath) const; - // IPC initialization - // See how these 2 methods are used in FileSystemTaskChildBase. - - virtual bool - NeedToGoToMainThread() const { return false; } - - virtual nsresult - MainThreadWork() { return NS_ERROR_FAILURE; } - - virtual bool - ClonableToDifferentThreadOrProcess() const { return false; } - // CC methods virtual void Unlink() {} virtual void Traverse(nsCycleCollectionTraversalCallback &cb) {} diff --git a/dom/filesystem/FileSystemTaskBase.cpp b/dom/filesystem/FileSystemTaskBase.cpp index 9cca5d35c483..e7636695dba5 100644 --- a/dom/filesystem/FileSystemTaskBase.cpp +++ b/dom/filesystem/FileSystemTaskBase.cpp @@ -256,12 +256,6 @@ FileSystemTaskParentBase::Start() AssertIsOnBackgroundThread(); mFileSystem->AssertIsOnOwningThread(); - if (NeedToGoToMainThread()) { - DebugOnly rv = NS_DispatchToMainThread(this, NS_DISPATCH_NORMAL); - NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "NS_DispatchToCurrentThread failed"); - return; - } - DebugOnly rv = DispatchToIOThread(this); NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "DispatchToIOThread failed"); } @@ -305,52 +299,12 @@ FileSystemTaskParentBase::SetError(const nsresult& aErrorValue) mErrorValue = FileSystemErrorFromNsError(aErrorValue); } -bool -FileSystemTaskParentBase::NeedToGoToMainThread() const -{ - return mFileSystem->NeedToGoToMainThread(); -} - -nsresult -FileSystemTaskParentBase::MainThreadWork() -{ - MOZ_ASSERT(NS_IsMainThread()); - return mFileSystem->MainThreadWork(); -} - NS_IMETHODIMP FileSystemTaskParentBase::Run() { - // This method can run in 3 different threads. Here why: - // 1. if we are on the main-thread it's because the task must do something - // here. If no errors are returned we go the step 2. - // 2. We can be here directly if the task doesn't have nothing to do on the - // main-thread. We are are on the I/O thread and we call IOWork(). - // 3. Both step 1 (in case of error) and step 2 end up here where return the - // value back to the PBackground thread. - if (NS_IsMainThread()) { - MOZ_ASSERT(NeedToGoToMainThread()); - - nsresult rv = MainThreadWork(); - if (NS_WARN_IF(NS_FAILED(rv))) { - SetError(rv); - - // Something when wrong. Let's go to the Background thread directly - // skipping the I/O thread step. - rv = mBackgroundEventTarget->Dispatch(this, NS_DISPATCH_NORMAL); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - } - - // Next step must happen on the I/O thread. - rv = DispatchToIOThread(this); - if (NS_WARN_IF(NS_FAILED(rv))) { - return rv; - } - - return NS_OK; - } + // This method can run in 2 different threads. Here why: + // 1. We are are on the I/O thread and we call IOWork(). + // 2. After step 1, it returns back to the PBackground thread. // Run I/O thread tasks if (!IsOnBackgroundThread()) { diff --git a/dom/filesystem/FileSystemTaskBase.h b/dom/filesystem/FileSystemTaskBase.h index 86e944fa52c2..03e9f2090c27 100644 --- a/dom/filesystem/FileSystemTaskBase.h +++ b/dom/filesystem/FileSystemTaskBase.h @@ -225,17 +225,6 @@ public: void HandleResult(); - // If this task must do something on the main-thread before IOWork(), it must - // overwrite this method. Otherwise it returns true if the FileSystem must be - // initialized on the main-thread. It's called from the Background thread. - virtual bool - NeedToGoToMainThread() const; - - // This method is called only if NeedToGoToMainThread() returns true. - // Of course, it runs on the main-thread. - virtual nsresult - MainThreadWork(); - bool HasError() const { return NS_FAILED(mErrorValue); } diff --git a/dom/filesystem/OSFileSystem.h b/dom/filesystem/OSFileSystem.h index 165f6b99a37d..9b0405ada600 100644 --- a/dom/filesystem/OSFileSystem.h +++ b/dom/filesystem/OSFileSystem.h @@ -46,9 +46,6 @@ public: virtual void SerializeDOMPath(nsAString& aOutput) const override; - virtual bool - ClonableToDifferentThreadOrProcess() const override { return true; } - // CC methods virtual void Unlink() override; virtual void Traverse(nsCycleCollectionTraversalCallback &cb) override; diff --git a/dom/flyweb/PFlyWebPublishedServer.ipdl b/dom/flyweb/PFlyWebPublishedServer.ipdl index 4d08a47fc4d6..5b966f04f53a 100644 --- a/dom/flyweb/PFlyWebPublishedServer.ipdl +++ b/dom/flyweb/PFlyWebPublishedServer.ipdl @@ -5,7 +5,8 @@ * You can obtain one at http://mozilla.org/MPL/2.0/. */ include protocol PContent; -include protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include protocol PFileDescriptorSet; include protocol PTransportProvider; include FetchTypes; diff --git a/dom/ipc/ContentBridgeChild.cpp b/dom/ipc/ContentBridgeChild.cpp index eaa238323499..d13fa8c6e686 100644 --- a/dom/ipc/ContentBridgeChild.cpp +++ b/dom/ipc/ContentBridgeChild.cpp @@ -90,10 +90,10 @@ ContentBridgeChild::SendPFileDescriptorSetConstructor(const FileDescriptor& aFD) return PContentBridgeChild::SendPFileDescriptorSetConstructor(aFD); } -PSendStreamChild* -ContentBridgeChild::SendPSendStreamConstructor(PSendStreamChild* aActor) +PChildToParentStreamChild* +ContentBridgeChild::SendPChildToParentStreamConstructor(PChildToParentStreamChild* aActor) { - return PContentBridgeChild::SendPSendStreamConstructor(aActor); + return PContentBridgeChild::SendPChildToParentStreamConstructor(aActor); } // This implementation is identical to ContentChild::GetCPOWManager but we can't @@ -168,16 +168,28 @@ ContentBridgeChild::DeallocPBlobChild(PBlobChild* aActor) return nsIContentChild::DeallocPBlobChild(aActor); } -PSendStreamChild* -ContentBridgeChild::AllocPSendStreamChild() +PChildToParentStreamChild* +ContentBridgeChild::AllocPChildToParentStreamChild() { - return nsIContentChild::AllocPSendStreamChild(); + return nsIContentChild::AllocPChildToParentStreamChild(); } bool -ContentBridgeChild::DeallocPSendStreamChild(PSendStreamChild* aActor) +ContentBridgeChild::DeallocPChildToParentStreamChild(PChildToParentStreamChild* aActor) { - return nsIContentChild::DeallocPSendStreamChild(aActor); + return nsIContentChild::DeallocPChildToParentStreamChild(aActor); +} + +PParentToChildStreamChild* +ContentBridgeChild::AllocPParentToChildStreamChild() +{ + return nsIContentChild::AllocPParentToChildStreamChild(); +} + +bool +ContentBridgeChild::DeallocPParentToChildStreamChild(PParentToChildStreamChild* aActor) +{ + return nsIContentChild::DeallocPParentToChildStreamChild(aActor); } PFileDescriptorSetChild* diff --git a/dom/ipc/ContentBridgeChild.h b/dom/ipc/ContentBridgeChild.h index 6795320dbbd2..b55cadbf1482 100644 --- a/dom/ipc/ContentBridgeChild.h +++ b/dom/ipc/ContentBridgeChild.h @@ -48,8 +48,8 @@ public: virtual mozilla::ipc::PFileDescriptorSetChild* SendPFileDescriptorSetConstructor(const mozilla::ipc::FileDescriptor&) override; - virtual mozilla::ipc::PSendStreamChild* - SendPSendStreamConstructor(mozilla::ipc::PSendStreamChild*) override; + virtual mozilla::ipc::PChildToParentStreamChild* + SendPChildToParentStreamConstructor(mozilla::ipc::PChildToParentStreamChild*) override; FORWARD_SHMEM_ALLOCATOR_TO(PContentBridgeChild) @@ -75,10 +75,16 @@ protected: virtual PBlobChild* AllocPBlobChild(const BlobConstructorParams& aParams) override; virtual bool DeallocPBlobChild(PBlobChild*) override; - virtual mozilla::ipc::PSendStreamChild* AllocPSendStreamChild() override; + virtual mozilla::ipc::PChildToParentStreamChild* + AllocPChildToParentStreamChild() override; virtual bool - DeallocPSendStreamChild(mozilla::ipc::PSendStreamChild* aActor) override; + DeallocPChildToParentStreamChild(mozilla::ipc::PChildToParentStreamChild* aActor) override; + + virtual PParentToChildStreamChild* AllocPParentToChildStreamChild() override; + + virtual bool + DeallocPParentToChildStreamChild(PParentToChildStreamChild* aActor) override; virtual PFileDescriptorSetChild* AllocPFileDescriptorSetChild(const mozilla::ipc::FileDescriptor& aFD) override; diff --git a/dom/ipc/ContentBridgeParent.cpp b/dom/ipc/ContentBridgeParent.cpp index 920d8f5d8215..d69ba6349775 100644 --- a/dom/ipc/ContentBridgeParent.cpp +++ b/dom/ipc/ContentBridgeParent.cpp @@ -110,6 +110,12 @@ ContentBridgeParent::SendPBrowserConstructor(PBrowserParent* aActor, aIsForBrowser); } +PParentToChildStreamParent* +ContentBridgeParent::SendPParentToChildStreamConstructor(PParentToChildStreamParent* aActor) +{ + return PContentBridgeParent::SendPParentToChildStreamConstructor(aActor); +} + PBlobParent* ContentBridgeParent::AllocPBlobParent(const BlobConstructorParams& aParams) { @@ -186,6 +192,12 @@ ContentBridgeParent::Observe(nsISupports* aSubject, return NS_OK; } +PFileDescriptorSetParent* +ContentBridgeParent::SendPFileDescriptorSetConstructor(const FileDescriptor& aFD) +{ + return PContentBridgeParent::SendPFileDescriptorSetConstructor(aFD); +} + PFileDescriptorSetParent* ContentBridgeParent::AllocPFileDescriptorSetParent(const FileDescriptor& aFD) { @@ -198,16 +210,28 @@ ContentBridgeParent::DeallocPFileDescriptorSetParent(PFileDescriptorSetParent* a return nsIContentParent::DeallocPFileDescriptorSetParent(aActor); } -PSendStreamParent* -ContentBridgeParent::AllocPSendStreamParent() +PChildToParentStreamParent* +ContentBridgeParent::AllocPChildToParentStreamParent() { - return nsIContentParent::AllocPSendStreamParent(); + return nsIContentParent::AllocPChildToParentStreamParent(); } bool -ContentBridgeParent::DeallocPSendStreamParent(PSendStreamParent* aActor) +ContentBridgeParent::DeallocPChildToParentStreamParent(PChildToParentStreamParent* aActor) { - return nsIContentParent::DeallocPSendStreamParent(aActor); + return nsIContentParent::DeallocPChildToParentStreamParent(aActor); +} + +PParentToChildStreamParent* +ContentBridgeParent::AllocPParentToChildStreamParent() +{ + return nsIContentParent::AllocPParentToChildStreamParent(); +} + +bool +ContentBridgeParent::DeallocPParentToChildStreamParent(PParentToChildStreamParent* aActor) +{ + return nsIContentParent::DeallocPParentToChildStreamParent(aActor); } } // namespace dom diff --git a/dom/ipc/ContentBridgeParent.h b/dom/ipc/ContentBridgeParent.h index ade0e7ef87bb..d10459660590 100644 --- a/dom/ipc/ContentBridgeParent.h +++ b/dom/ipc/ContentBridgeParent.h @@ -45,6 +45,9 @@ public: const ContentParentId& aCpID, const bool& aIsForBrowser) override; + virtual PFileDescriptorSetParent* + SendPFileDescriptorSetConstructor(const FileDescriptor&) override; + FORWARD_SHMEM_ALLOCATOR_TO(PContentBridgeParent) jsipc::CPOWManager* GetCPOWManager() override; @@ -63,6 +66,9 @@ public: return -1; } + virtual mozilla::ipc::PParentToChildStreamParent* + SendPParentToChildStreamConstructor(mozilla::ipc::PParentToChildStreamParent*) override; + protected: virtual ~ContentBridgeParent(); @@ -114,9 +120,16 @@ protected: virtual bool DeallocPBlobParent(PBlobParent*) override; - virtual PSendStreamParent* AllocPSendStreamParent() override; + virtual PChildToParentStreamParent* AllocPChildToParentStreamParent() override; - virtual bool DeallocPSendStreamParent(PSendStreamParent* aActor) override; + virtual bool + DeallocPChildToParentStreamParent(PChildToParentStreamParent* aActor) override; + + virtual mozilla::ipc::PParentToChildStreamParent* + AllocPParentToChildStreamParent() override; + + virtual bool + DeallocPParentToChildStreamParent(mozilla::ipc::PParentToChildStreamParent* aActor) override; virtual PFileDescriptorSetParent* AllocPFileDescriptorSetParent(const mozilla::ipc::FileDescriptor&) override; diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp index 2b3e45c6f1a6..991207159e3e 100644 --- a/dom/ipc/ContentChild.cpp +++ b/dom/ipc/ContentChild.cpp @@ -49,7 +49,7 @@ #include "mozilla/ipc/FileDescriptorUtils.h" #include "mozilla/ipc/GeckoChildProcessHost.h" #include "mozilla/ipc/ProcessChild.h" -#include "mozilla/ipc/PSendStreamChild.h" +#include "mozilla/ipc/PChildToParentStreamChild.h" #include "mozilla/ipc/TestShellChild.h" #include "mozilla/jsipc/CrossProcessObjectWrappers.h" #include "mozilla/layers/APZChild.h" @@ -1713,26 +1713,38 @@ ContentChild::DeallocPPrintingChild(PPrintingChild* printing) return true; } -PSendStreamChild* -ContentChild::SendPSendStreamConstructor(PSendStreamChild* aActor) +PChildToParentStreamChild* +ContentChild::SendPChildToParentStreamConstructor(PChildToParentStreamChild* aActor) { if (IsShuttingDown()) { return nullptr; } - return PContentChild::SendPSendStreamConstructor(aActor); + return PContentChild::SendPChildToParentStreamConstructor(aActor); } -PSendStreamChild* -ContentChild::AllocPSendStreamChild() +PChildToParentStreamChild* +ContentChild::AllocPChildToParentStreamChild() { - return nsIContentChild::AllocPSendStreamChild(); + return nsIContentChild::AllocPChildToParentStreamChild(); } bool -ContentChild::DeallocPSendStreamChild(PSendStreamChild* aActor) +ContentChild::DeallocPChildToParentStreamChild(PChildToParentStreamChild* aActor) { - return nsIContentChild::DeallocPSendStreamChild(aActor); + return nsIContentChild::DeallocPChildToParentStreamChild(aActor); +} + +PParentToChildStreamChild* +ContentChild::AllocPParentToChildStreamChild() +{ + return nsIContentChild::AllocPParentToChildStreamChild(); +} + +bool +ContentChild::DeallocPParentToChildStreamChild(PParentToChildStreamChild* aActor) +{ + return nsIContentChild::DeallocPParentToChildStreamChild(aActor); } PScreenManagerChild* diff --git a/dom/ipc/ContentChild.h b/dom/ipc/ContentChild.h index b927bc8a0039..c7a0a5201bbf 100644 --- a/dom/ipc/ContentChild.h +++ b/dom/ipc/ContentChild.h @@ -233,11 +233,14 @@ public: virtual bool DeallocPPrintingChild(PPrintingChild*) override; - virtual PSendStreamChild* - SendPSendStreamConstructor(PSendStreamChild*) override; + virtual PChildToParentStreamChild* + SendPChildToParentStreamConstructor(PChildToParentStreamChild*) override; - virtual PSendStreamChild* AllocPSendStreamChild() override; - virtual bool DeallocPSendStreamChild(PSendStreamChild*) override; + virtual PChildToParentStreamChild* AllocPChildToParentStreamChild() override; + virtual bool DeallocPChildToParentStreamChild(PChildToParentStreamChild*) override; + + virtual PParentToChildStreamChild* AllocPParentToChildStreamChild() override; + virtual bool DeallocPParentToChildStreamChild(PParentToChildStreamChild*) override; virtual PScreenManagerChild* AllocPScreenManagerChild(uint32_t* aNumberOfScreens, diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp index 4c687275c225..711751d20160 100644 --- a/dom/ipc/ContentParent.cpp +++ b/dom/ipc/ContentParent.cpp @@ -69,7 +69,7 @@ #include "mozilla/ipc/BackgroundChild.h" #include "mozilla/ipc/BackgroundParent.h" #include "mozilla/ipc/FileDescriptorUtils.h" -#include "mozilla/ipc/PSendStreamParent.h" +#include "mozilla/ipc/PChildToParentStreamParent.h" #include "mozilla/ipc/TestShellParent.h" #include "mozilla/ipc/IPCStreamUtils.h" #include "mozilla/jsipc/CrossProcessObjectWrappers.h" @@ -3176,16 +3176,34 @@ ContentParent::GetPrintingParent() } #endif -PSendStreamParent* -ContentParent::AllocPSendStreamParent() +PChildToParentStreamParent* +ContentParent::AllocPChildToParentStreamParent() { - return nsIContentParent::AllocPSendStreamParent(); + return nsIContentParent::AllocPChildToParentStreamParent(); } bool -ContentParent::DeallocPSendStreamParent(PSendStreamParent* aActor) +ContentParent::DeallocPChildToParentStreamParent(PChildToParentStreamParent* aActor) { - return nsIContentParent::DeallocPSendStreamParent(aActor); + return nsIContentParent::DeallocPChildToParentStreamParent(aActor); +} + +PParentToChildStreamParent* +ContentParent::SendPParentToChildStreamConstructor(PParentToChildStreamParent* aActor) +{ + return PContentParent::SendPParentToChildStreamConstructor(aActor); +} + +PParentToChildStreamParent* +ContentParent::AllocPParentToChildStreamParent() +{ + return nsIContentParent::AllocPParentToChildStreamParent(); +} + +bool +ContentParent::DeallocPParentToChildStreamParent(PParentToChildStreamParent* aActor) +{ + return nsIContentParent::DeallocPParentToChildStreamParent(aActor); } PScreenManagerParent* @@ -3921,7 +3939,10 @@ ContentParent::RecvKeywordToURI(const nsCString& aKeyword, info->GetKeywordProviderName(*aProviderName); AutoIPCStream autoStream; - autoStream.Serialize(postData, this); + if (NS_WARN_IF(!autoStream.Serialize(postData, this))) { + NS_ENSURE_SUCCESS(NS_ERROR_FAILURE, IPC_FAIL_NO_REASON(this)); + } + *aPostData = autoStream.TakeOptionalValue(); nsCOMPtr uri; @@ -4110,6 +4131,12 @@ ContentParent::RecvKeygenProvideContent(nsString* aAttribute, return IPC_OK(); } +PFileDescriptorSetParent* +ContentParent::SendPFileDescriptorSetConstructor(const FileDescriptor& aFD) +{ + return PContentParent::SendPFileDescriptorSetConstructor(aFD); +} + PFileDescriptorSetParent* ContentParent::AllocPFileDescriptorSetParent(const FileDescriptor& aFD) { @@ -5137,6 +5164,10 @@ ContentParent::RecvFileCreationRequest(const nsID& aID, MOZ_ASSERT(blobImpl); BlobParent* blobParent = BlobParent::GetOrCreate(this, blobImpl); + if (NS_WARN_IF(!blobParent)) { + return IPC_FAIL_NO_REASON(this); + } + if (!SendFileCreationResponse(aID, FileCreationSuccessResult(blobParent, nullptr))) { return IPC_FAIL_NO_REASON(this); diff --git a/dom/ipc/ContentParent.h b/dom/ipc/ContentParent.h index 4d362724a72d..c3edd363e986 100644 --- a/dom/ipc/ContentParent.h +++ b/dom/ipc/ContentParent.h @@ -425,8 +425,19 @@ public: already_AddRefed GetPrintingParent(); #endif - virtual PSendStreamParent* AllocPSendStreamParent() override; - virtual bool DeallocPSendStreamParent(PSendStreamParent* aActor) override; + virtual PChildToParentStreamParent* AllocPChildToParentStreamParent() override; + virtual bool + DeallocPChildToParentStreamParent(PChildToParentStreamParent* aActor) override; + + virtual PParentToChildStreamParent* + SendPParentToChildStreamConstructor(PParentToChildStreamParent*) override; + + virtual PFileDescriptorSetParent* + SendPFileDescriptorSetConstructor(const FileDescriptor&) override; + + virtual PParentToChildStreamParent* AllocPParentToChildStreamParent() override; + virtual bool + DeallocPParentToChildStreamParent(PParentToChildStreamParent* aActor) override; virtual PScreenManagerParent* AllocPScreenManagerParent(uint32_t* aNumberOfScreens, diff --git a/dom/ipc/DOMTypes.ipdlh b/dom/ipc/DOMTypes.ipdlh index b8daf68c1f08..d2a7c9deacfa 100644 --- a/dom/ipc/DOMTypes.ipdlh +++ b/dom/ipc/DOMTypes.ipdlh @@ -5,7 +5,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ include protocol PBlob; -include protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include IPCStream; include ProtocolTypes; diff --git a/dom/ipc/PContent.ipdl b/dom/ipc/PContent.ipdl index e445912579e5..13394490cd6d 100644 --- a/dom/ipc/PContent.ipdl +++ b/dom/ipc/PContent.ipdl @@ -26,7 +26,8 @@ include protocol PGMPService; include protocol PPluginModule; include protocol PGMP; include protocol PPrinting; -include protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include protocol POfflineCacheUpdate; include protocol PRenderFrame; include protocol PScreenManager; @@ -286,7 +287,8 @@ nested(upto inside_cpow) sync protocol PContent manages PNecko; manages POfflineCacheUpdate; manages PPrinting; - manages PSendStream; + manages PChildToParentStream; + manages PParentToChildStream; manages PScreenManager; manages PSpeechSynthesis; manages PStorage; @@ -587,6 +589,8 @@ child: async ParentActivated(PBrowser aTab, bool aActivated); + async PParentToChildStream(); + parent: async InitBackground(Endpoint aEndpoint); @@ -701,7 +705,7 @@ parent: async PPrinting(); - async PSendStream(); + async PChildToParentStream(); nested(inside_sync) sync PScreenManager() returns (uint32_t numberOfScreens, diff --git a/dom/ipc/PContentBridge.ipdl b/dom/ipc/PContentBridge.ipdl index 8650a823ebbb..693cd83cd10a 100644 --- a/dom/ipc/PContentBridge.ipdl +++ b/dom/ipc/PContentBridge.ipdl @@ -9,7 +9,8 @@ include protocol PBrowser; include protocol PContent; include protocol PJavaScript; include protocol PFileDescriptorSet; -include protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include DOMTypes; include JavaScriptTypes; @@ -38,7 +39,11 @@ nested(upto inside_cpow) sync protocol PContentBridge manages PBrowser; manages PFileDescriptorSet; manages PJavaScript; - manages PSendStream; + manages PChildToParentStream; + manages PParentToChildStream; + +child: + async PParentToChildStream(); parent: sync SyncMessage(nsString aMessage, ClonedMessageData aData, @@ -47,7 +52,7 @@ parent: async PJavaScript(); - async PSendStream(); + async PChildToParentStream(); both: // Both the parent and the child can construct the PBrowser. diff --git a/dom/ipc/nsIContentChild.cpp b/dom/ipc/nsIContentChild.cpp index de487105e7ec..82c75caac9ce 100644 --- a/dom/ipc/nsIContentChild.cpp +++ b/dom/ipc/nsIContentChild.cpp @@ -15,7 +15,11 @@ #include "mozilla/dom/ipc/StructuredCloneData.h" #include "mozilla/ipc/FileDescriptorSetChild.h" #include "mozilla/ipc/InputStreamUtils.h" -#include "mozilla/ipc/SendStream.h" +#include "mozilla/ipc/IPCStreamAlloc.h" +#include "mozilla/ipc/IPCStreamDestination.h" +#include "mozilla/ipc/IPCStreamSource.h" +#include "mozilla/ipc/PChildToParentStreamChild.h" +#include "mozilla/ipc/PParentToChildStreamChild.h" #include "nsPrintfCString.h" #include "xpcpublic.h" @@ -135,14 +139,27 @@ nsIContentChild::GetOrCreateActorForBlobImpl(BlobImpl* aImpl) return actor; } -PSendStreamChild* -nsIContentChild::AllocPSendStreamChild() +PChildToParentStreamChild* +nsIContentChild::AllocPChildToParentStreamChild() { - MOZ_CRASH("PSendStreamChild actors should be manually constructed!"); + MOZ_CRASH("PChildToParentStreamChild actors should be manually constructed!"); } bool -nsIContentChild::DeallocPSendStreamChild(PSendStreamChild* aActor) +nsIContentChild::DeallocPChildToParentStreamChild(PChildToParentStreamChild* aActor) +{ + delete aActor; + return true; +} + +PParentToChildStreamChild* +nsIContentChild::AllocPParentToChildStreamChild() +{ + return mozilla::ipc::AllocPParentToChildStreamChild(); +} + +bool +nsIContentChild::DeallocPParentToChildStreamChild(PParentToChildStreamChild* aActor) { delete aActor; return true; diff --git a/dom/ipc/nsIContentChild.h b/dom/ipc/nsIContentChild.h index 47ce865bd445..52566a1f33eb 100644 --- a/dom/ipc/nsIContentChild.h +++ b/dom/ipc/nsIContentChild.h @@ -29,7 +29,8 @@ namespace mozilla { namespace ipc { class FileDescriptor; class PFileDescriptorSetChild; -class PSendStreamChild; +class PChildToParentStreamChild; +class PParentToChildStreamChild; class Shmem; } // namespace ipc @@ -74,8 +75,8 @@ public: virtual mozilla::ipc::PFileDescriptorSetChild* SendPFileDescriptorSetConstructor(const mozilla::ipc::FileDescriptor&) = 0; - virtual mozilla::ipc::PSendStreamChild* - SendPSendStreamConstructor(mozilla::ipc::PSendStreamChild*) = 0; + virtual mozilla::ipc::PChildToParentStreamChild* + SendPChildToParentStreamConstructor(mozilla::ipc::PChildToParentStreamChild*) = 0; protected: virtual jsipc::PJavaScriptChild* AllocPJavaScriptChild(); @@ -99,9 +100,15 @@ protected: virtual bool DeallocPBlobChild(PBlobChild* aActor); - virtual mozilla::ipc::PSendStreamChild* AllocPSendStreamChild(); + virtual mozilla::ipc::PChildToParentStreamChild* AllocPChildToParentStreamChild(); - virtual bool DeallocPSendStreamChild(mozilla::ipc::PSendStreamChild* aActor); + virtual bool + DeallocPChildToParentStreamChild(mozilla::ipc::PChildToParentStreamChild* aActor); + + virtual mozilla::ipc::PParentToChildStreamChild* AllocPParentToChildStreamChild(); + + virtual bool + DeallocPParentToChildStreamChild(mozilla::ipc::PParentToChildStreamChild* aActor); virtual mozilla::ipc::PFileDescriptorSetChild* AllocPFileDescriptorSetChild(const mozilla::ipc::FileDescriptor& aFD); diff --git a/dom/ipc/nsIContentParent.cpp b/dom/ipc/nsIContentParent.cpp index d4ae5e95a0c0..557ae8786bfb 100644 --- a/dom/ipc/nsIContentParent.cpp +++ b/dom/ipc/nsIContentParent.cpp @@ -18,7 +18,9 @@ #include "mozilla/jsipc/CrossProcessObjectWrappers.h" #include "mozilla/ipc/FileDescriptorSetParent.h" #include "mozilla/ipc/PFileDescriptorSetParent.h" -#include "mozilla/ipc/SendStreamAlloc.h" +#include "mozilla/ipc/IPCStreamAlloc.h" +#include "mozilla/ipc/IPCStreamDestination.h" +#include "mozilla/ipc/IPCStreamSource.h" #include "mozilla/Unused.h" #include "nsFrameMessageManager.h" @@ -260,14 +262,27 @@ nsIContentParent::DeallocPFileDescriptorSetParent(PFileDescriptorSetParent* aAct return true; } -PSendStreamParent* -nsIContentParent::AllocPSendStreamParent() +PChildToParentStreamParent* +nsIContentParent::AllocPChildToParentStreamParent() { - return mozilla::ipc::AllocPSendStreamParent(); + return mozilla::ipc::AllocPChildToParentStreamParent(); } bool -nsIContentParent::DeallocPSendStreamParent(PSendStreamParent* aActor) +nsIContentParent::DeallocPChildToParentStreamParent(PChildToParentStreamParent* aActor) +{ + delete aActor; + return true; +} + +PParentToChildStreamParent* +nsIContentParent::AllocPParentToChildStreamParent() +{ + MOZ_CRASH("PParentToChildStreamChild actors should be manually constructed!"); +} + +bool +nsIContentParent::DeallocPParentToChildStreamParent(PParentToChildStreamParent* aActor) { delete aActor; return true; diff --git a/dom/ipc/nsIContentParent.h b/dom/ipc/nsIContentParent.h index 5cc1d604edec..571882d02ecf 100644 --- a/dom/ipc/nsIContentParent.h +++ b/dom/ipc/nsIContentParent.h @@ -10,6 +10,8 @@ #include "mozilla/Attributes.h" #include "mozilla/dom/ipc/IdType.h" #include "mozilla/ipc/ProtocolUtils.h" +#include "mozilla/ipc/PChildToParentStreamParent.h" +#include "mozilla/ipc/PParentToChildStreamParent.h" #include "nsFrameMessageManager.h" #include "nsISupports.h" @@ -32,7 +34,8 @@ class CpowEntry; namespace ipc { class PFileDescriptorSetParent; -class PSendStreamParent; +class PChildToParentStreamParent; +class PParentToChildStreamParent; } namespace dom { @@ -75,6 +78,9 @@ public: const ContentParentId& aCpId, const bool& aIsForBrowser) = 0; + virtual mozilla::ipc::PFileDescriptorSetParent* + SendPFileDescriptorSetConstructor(const mozilla::ipc::FileDescriptor&) = 0; + virtual bool IsContentParent() const { return false; } ContentParent* AsContentParent(); @@ -87,6 +93,9 @@ public: virtual int32_t Pid() const = 0; + virtual mozilla::ipc::PParentToChildStreamParent* + SendPParentToChildStreamConstructor(mozilla::ipc::PParentToChildStreamParent*) = 0; + protected: // methods bool CanOpenBrowser(const IPCTabContext& aContext); @@ -111,9 +120,15 @@ protected: // IPDL methods virtual bool DeallocPFileDescriptorSetParent(mozilla::ipc::PFileDescriptorSetParent* aActor); - virtual mozilla::ipc::PSendStreamParent* AllocPSendStreamParent(); + virtual mozilla::ipc::PChildToParentStreamParent* AllocPChildToParentStreamParent(); - virtual bool DeallocPSendStreamParent(mozilla::ipc::PSendStreamParent* aActor); + virtual bool + DeallocPChildToParentStreamParent(mozilla::ipc::PChildToParentStreamParent* aActor); + + virtual mozilla::ipc::PParentToChildStreamParent* AllocPParentToChildStreamParent(); + + virtual bool + DeallocPParentToChildStreamParent(mozilla::ipc::PParentToChildStreamParent* aActor); virtual mozilla::ipc::IPCResult RecvSyncMessage(const nsString& aMsg, const ClonedMessageData& aData, diff --git a/dom/media/platforms/wmf/DXVA2Manager.cpp b/dom/media/platforms/wmf/DXVA2Manager.cpp index 3e65059cd83f..c19f5e6b3783 100644 --- a/dom/media/platforms/wmf/DXVA2Manager.cpp +++ b/dom/media/platforms/wmf/DXVA2Manager.cpp @@ -699,7 +699,8 @@ D3D11DXVA2Manager::Init(layers::KnowsCompositor* aKnowsCompositor, mTextureClientAllocator = new D3D11RecycleAllocator( layers::ImageBridgeChild::GetSingleton().get(), mDevice); - if (ImageBridgeChild::GetSingleton() && gfxPrefs::PDMWMFUseSyncTexture()) { + if (ImageBridgeChild::GetSingleton() && gfxPrefs::PDMWMFUseSyncTexture() && + mDevice != DeviceManagerDx::Get()->GetCompositorDevice()) { // We use a syncobject to avoid the cost of the mutex lock when compositing, // and because it allows color conversion ocurring directly from this texture // DXVA does not seem to accept IDXGIKeyedMutex textures as input. @@ -902,7 +903,7 @@ D3D11DXVA2Manager::CopyToImage(IMFSample* aVideoSample, if (mutex) { hr = mutex->AcquireSync(0, 2000); NS_ENSURE_TRUE(SUCCEEDED(hr), hr); - } else { + } else if (mDevice != DeviceManagerDx::Get()->GetCompositorDevice()) { NS_ENSURE_TRUE(mSyncObject, E_FAIL); } @@ -939,10 +940,10 @@ D3D11DXVA2Manager::CopyToImage(IMFSample* aVideoSample, hr = mTransform->Output(&sample); } - if (!mutex) { + if (!mutex && mDevice != DeviceManagerDx::Get()->GetCompositorDevice()) { client->SyncWithObject(mSyncObject); mSyncObject->FinalizeFrame(); - } else { + } else if (mutex) { mutex->ReleaseSync(0); } diff --git a/dom/network/PUDPSocket.ipdl b/dom/network/PUDPSocket.ipdl index 9efdb2dae2e6..80d2fef8f3d9 100644 --- a/dom/network/PUDPSocket.ipdl +++ b/dom/network/PUDPSocket.ipdl @@ -9,7 +9,8 @@ include protocol PNecko; include protocol PBackground; include protocol PBlob; //FIXME: bug #792908 include protocol PFileDescriptorSet; // FIXME: bug #792908 -include protocol PSendStream; //FIXME: bug #792908 +include protocol PChildToParentStream; //FIXME: bug #792908 +include protocol PParentToChildStream; //FIXME: bug #792908 include IPCStream; diff --git a/dom/tests/mochitest/chrome/test_bug1224790-1.xul b/dom/tests/mochitest/chrome/test_bug1224790-1.xul index 327d2a1741d0..6c14d7c0890c 100644 --- a/dom/tests/mochitest/chrome/test_bug1224790-1.xul +++ b/dom/tests/mochitest/chrome/test_bug1224790-1.xul @@ -30,16 +30,29 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1224790 SimpleTest.waitForFocus(gotFocus); } + var timer = null; function gotFocus() { var button = document.getElementById('button'); synthesizeMouseAtCenter(button, { type: 'mousemove' }, window); - // The bug is not reproducible with synthesizeMouseAtCenter. - // Need to emulate native mouse event. - synthesizeNativeOSXClick(button.boxObject.screenX + button.boxObject.width / 2, - button.boxObject.screenY + button.boxObject.height / 2); + function click() { + // The bug is not reproducible with synthesizeMouseAtCenter. + // Need to emulate native mouse event. + synthesizeNativeOSXClick(button.boxObject.screenX + button.boxObject.width / 2, + button.boxObject.screenY + button.boxObject.height / 2); + } + click(); + // On debug build, it's possible that the click event handler is not + // triggered by the first click in case the click is dispatched too early + // before Firefox gets ready for input. + // Click the button again after 1 sec when we don't get click event. + timer = setTimeout(click, 1000); } function onClick() { + if (timer) { + // Avoid clicking unrelated thing. + clearTimeout(timer); + } ok(true, "Click event should be fired"); SimpleTest.finish(); } diff --git a/dom/tests/mochitest/chrome/test_bug1224790-2.xul b/dom/tests/mochitest/chrome/test_bug1224790-2.xul index 97187ac13abc..5ce7f105465c 100644 --- a/dom/tests/mochitest/chrome/test_bug1224790-2.xul +++ b/dom/tests/mochitest/chrome/test_bug1224790-2.xul @@ -31,16 +31,29 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1224790 SimpleTest.waitForFocus(gotFocus); } + var timer = null; function gotFocus() { var button = document.getElementById('button'); synthesizeMouseAtCenter(button, { type: 'mousemove' }, window); - // The bug is not reproducible with synthesizeMouseAtCenter. - // Need to emulate native mouse event. - synthesizeNativeOSXClick(button.boxObject.screenX + button.boxObject.width / 2, - button.boxObject.screenY + button.boxObject.height / 2); + function click() { + // The bug is not reproducible with synthesizeMouseAtCenter. + // Need to emulate native mouse event. + synthesizeNativeOSXClick(button.boxObject.screenX + button.boxObject.width / 2, + button.boxObject.screenY + button.boxObject.height / 2); + } + click(); + // On debug build, it's possible that the click event handler is not + // triggered by the first click in case the click is dispatched too early + // before Firefox gets ready for input. + // Click the button again after 1 sec when we don't get click event. + timer = setTimeout(click, 1000); } function onClick() { + if (timer) { + // Avoid clicking unrelated thing. + clearTimeout(timer); + } ok(true, "Click event should be fired"); SimpleTest.finish(); } diff --git a/dom/webbrowserpersist/PWebBrowserPersistDocument.ipdl b/dom/webbrowserpersist/PWebBrowserPersistDocument.ipdl index 0a762d4991b2..ad6332763e68 100644 --- a/dom/webbrowserpersist/PWebBrowserPersistDocument.ipdl +++ b/dom/webbrowserpersist/PWebBrowserPersistDocument.ipdl @@ -7,7 +7,8 @@ include protocol PContent; include protocol PWebBrowserPersistResources; include protocol PWebBrowserPersistSerialize; include protocol PFileDescriptorSet; -include protocol PSendStream; +include protocol PChildToParentStream; //FIXME: bug #792908 +include protocol PParentToChildStream; //FIXME: bug #792908 include IPCStream; diff --git a/gfx/layers/D3D11ShareHandleImage.cpp b/gfx/layers/D3D11ShareHandleImage.cpp index b98a4a78c59f..7def822c58c8 100644 --- a/gfx/layers/D3D11ShareHandleImage.cpp +++ b/gfx/layers/D3D11ShareHandleImage.cpp @@ -11,6 +11,7 @@ #include "mozilla/layers/TextureD3D11.h" #include "mozilla/layers/CompositableClient.h" #include "mozilla/layers/CompositableForwarder.h" +#include "mozilla/gfx/DeviceManagerDx.h" #include "d3d11.h" #include "gfxPrefs.h" #include "DXVA2Manager.h" @@ -19,6 +20,8 @@ namespace mozilla { namespace layers { +using namespace gfx; + D3D11ShareHandleImage::D3D11ShareHandleImage(const gfx::IntSize& aSize, const gfx::IntRect& aRect) : Image(nullptr, ImageFormat::D3D11_SHARE_HANDLE_TEXTURE), @@ -193,7 +196,8 @@ D3D11RecycleAllocator::CreateOrRecycleClient(gfx::SurfaceFormat aFormat, const gfx::IntSize& aSize) { TextureAllocationFlags allocFlags = TextureAllocationFlags::ALLOC_DEFAULT; - if (gfxPrefs::PDMWMFUseSyncTexture()) { + if (gfxPrefs::PDMWMFUseSyncTexture() || mDevice == DeviceManagerDx::Get()->GetCompositorDevice()) { + // If our device is the compositor device, we don't need any synchronization in practice. allocFlags = TextureAllocationFlags::ALLOC_MANUAL_SYNCHRONIZATION; } RefPtr textureClient = diff --git a/ipc/glue/BackgroundChildImpl.cpp b/ipc/glue/BackgroundChildImpl.cpp index 699657f0e1b1..fa0e75ef208b 100644 --- a/ipc/glue/BackgroundChildImpl.cpp +++ b/ipc/glue/BackgroundChildImpl.cpp @@ -27,8 +27,10 @@ #include "mozilla/dom/GamepadEventChannelChild.h" #include "mozilla/dom/GamepadTestChannelChild.h" #include "mozilla/dom/MessagePortChild.h" +#include "mozilla/ipc/IPCStreamAlloc.h" #include "mozilla/ipc/PBackgroundTestChild.h" -#include "mozilla/ipc/PSendStreamChild.h" +#include "mozilla/ipc/PChildToParentStreamChild.h" +#include "mozilla/ipc/PParentToChildStreamChild.h" #include "mozilla/layout/VsyncChild.h" #include "mozilla/net/PUDPSocketChild.h" #include "mozilla/dom/network/UDPSocketChild.h" @@ -403,14 +405,27 @@ BackgroundChildImpl::DeallocPMessagePortChild(PMessagePortChild* aActor) return true; } -PSendStreamChild* -BackgroundChildImpl::AllocPSendStreamChild() +PChildToParentStreamChild* +BackgroundChildImpl::AllocPChildToParentStreamChild() { - MOZ_CRASH("PSendStreamChild actors should be manually constructed!"); + MOZ_CRASH("PChildToParentStreamChild actors should be manually constructed!"); } bool -BackgroundChildImpl::DeallocPSendStreamChild(PSendStreamChild* aActor) +BackgroundChildImpl::DeallocPChildToParentStreamChild(PChildToParentStreamChild* aActor) +{ + delete aActor; + return true; +} + +PParentToChildStreamChild* +BackgroundChildImpl::AllocPParentToChildStreamChild() +{ + return mozilla::ipc::AllocPParentToChildStreamChild(); +} + +bool +BackgroundChildImpl::DeallocPParentToChildStreamChild(PParentToChildStreamChild* aActor) { delete aActor; return true; diff --git a/ipc/glue/BackgroundChildImpl.h b/ipc/glue/BackgroundChildImpl.h index f8c2a5576b97..1e1d9409e614 100644 --- a/ipc/glue/BackgroundChildImpl.h +++ b/ipc/glue/BackgroundChildImpl.h @@ -140,11 +140,17 @@ protected: virtual bool DeallocPMessagePortChild(PMessagePortChild* aActor) override; - virtual PSendStreamChild* - AllocPSendStreamChild() override; + virtual PChildToParentStreamChild* + AllocPChildToParentStreamChild() override; virtual bool - DeallocPSendStreamChild(PSendStreamChild* aActor) override; + DeallocPChildToParentStreamChild(PChildToParentStreamChild* aActor) override; + + virtual PParentToChildStreamChild* + AllocPParentToChildStreamChild() override; + + virtual bool + DeallocPParentToChildStreamChild(PParentToChildStreamChild* aActor) override; virtual PAsmJSCacheEntryChild* AllocPAsmJSCacheEntryChild(const dom::asmjscache::OpenMode& aOpenMode, diff --git a/ipc/glue/BackgroundImpl.cpp b/ipc/glue/BackgroundImpl.cpp index 5a1ef1a6ac02..a783bf2a60ed 100644 --- a/ipc/glue/BackgroundImpl.cpp +++ b/ipc/glue/BackgroundImpl.cpp @@ -54,7 +54,7 @@ #define CRASH_IN_CHILD_PROCESS(_msg) \ do { \ - if (XRE_IsParentProcess()) { \ + if (XRE_IsParentProcess()) { \ MOZ_ASSERT(false, _msg); \ } else { \ MOZ_CRASH(_msg); \ diff --git a/ipc/glue/BackgroundParentImpl.cpp b/ipc/glue/BackgroundParentImpl.cpp index 5f725cc74cdd..d2ddce4d93f6 100644 --- a/ipc/glue/BackgroundParentImpl.cpp +++ b/ipc/glue/BackgroundParentImpl.cpp @@ -31,10 +31,11 @@ #include "mozilla/dom/quota/ActorsParent.h" #include "mozilla/ipc/BackgroundParent.h" #include "mozilla/ipc/BackgroundUtils.h" +#include "mozilla/ipc/IPCStreamAlloc.h" #include "mozilla/ipc/PBackgroundSharedTypes.h" #include "mozilla/ipc/PBackgroundTestParent.h" -#include "mozilla/ipc/PSendStreamParent.h" -#include "mozilla/ipc/SendStreamAlloc.h" +#include "mozilla/ipc/PChildToParentStreamParent.h" +#include "mozilla/ipc/PParentToChildStreamParent.h" #include "mozilla/layout/VsyncParent.h" #include "mozilla/dom/network/UDPSocketParent.h" #include "mozilla/Preferences.h" @@ -302,14 +303,29 @@ BackgroundParentImpl::DeallocPFileDescriptorSetParent( return true; } -PSendStreamParent* -BackgroundParentImpl::AllocPSendStreamParent() +PChildToParentStreamParent* +BackgroundParentImpl::AllocPChildToParentStreamParent() { - return mozilla::ipc::AllocPSendStreamParent(); + return mozilla::ipc::AllocPChildToParentStreamParent(); } bool -BackgroundParentImpl::DeallocPSendStreamParent(PSendStreamParent* aActor) +BackgroundParentImpl::DeallocPChildToParentStreamParent( + PChildToParentStreamParent* aActor) +{ + delete aActor; + return true; +} + +PParentToChildStreamParent* +BackgroundParentImpl::AllocPParentToChildStreamParent() +{ + MOZ_CRASH("PParentToChildStreamParent actors should be manually constructed!"); +} + +bool +BackgroundParentImpl::DeallocPParentToChildStreamParent( + PParentToChildStreamParent* aActor) { delete aActor; return true; diff --git a/ipc/glue/BackgroundParentImpl.h b/ipc/glue/BackgroundParentImpl.h index a2b29a222e76..adce87536bc4 100644 --- a/ipc/glue/BackgroundParentImpl.h +++ b/ipc/glue/BackgroundParentImpl.h @@ -101,11 +101,17 @@ protected: virtual bool DeallocPBroadcastChannelParent(PBroadcastChannelParent* aActor) override; - virtual PSendStreamParent* - AllocPSendStreamParent() override; + virtual PChildToParentStreamParent* + AllocPChildToParentStreamParent() override; virtual bool - DeallocPSendStreamParent(PSendStreamParent* aActor) override; + DeallocPChildToParentStreamParent(PChildToParentStreamParent* aActor) override; + + virtual PParentToChildStreamParent* + AllocPParentToChildStreamParent() override; + + virtual bool + DeallocPParentToChildStreamParent(PParentToChildStreamParent* aActor) override; virtual PServiceWorkerManagerParent* AllocPServiceWorkerManagerParent() override; diff --git a/ipc/glue/IPCStream.ipdlh b/ipc/glue/IPCStream.ipdlh index 3033ad7ff972..df9cd9af4a89 100644 --- a/ipc/glue/IPCStream.ipdlh +++ b/ipc/glue/IPCStream.ipdlh @@ -2,7 +2,8 @@ * 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 protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include BlobTypes; include InputStreamParams; @@ -22,7 +23,8 @@ struct InputStreamParamsWithFds union IPCStream { InputStreamParamsWithFds; - PSendStream; + PChildToParentStream; + PParentToChildStream; }; union OptionalIPCStream diff --git a/ipc/glue/SendStreamAlloc.h b/ipc/glue/IPCStreamAlloc.h similarity index 57% rename from ipc/glue/SendStreamAlloc.h rename to ipc/glue/IPCStreamAlloc.h index e33639ced985..fc880bb3ce8a 100644 --- a/ipc/glue/SendStreamAlloc.h +++ b/ipc/glue/IPCStreamAlloc.h @@ -4,18 +4,22 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#ifndef mozilla_ipc_SendStreamAlloc_h -#define mozilla_ipc_SendStreamAlloc_h +#ifndef mozilla_ipc_IPCStreamAlloc_h +#define mozilla_ipc_IPCStreamAlloc_h namespace mozilla { namespace ipc { -class PSendStreamParent; +class PChildToParentStreamParent; +class PParentToChildStreamChild; -PSendStreamParent* -AllocPSendStreamParent(); +PChildToParentStreamParent* +AllocPChildToParentStreamParent(); + +PParentToChildStreamChild* +AllocPParentToChildStreamChild(); } // ipc namespace } // mozilla namespace -#endif // mozilla_ipc_SendStreamAlloc_h +#endif // mozilla_ipc_IPCStreamAlloc_h diff --git a/ipc/glue/IPCStreamChild.cpp b/ipc/glue/IPCStreamChild.cpp new file mode 100644 index 000000000000..155a47b54307 --- /dev/null +++ b/ipc/glue/IPCStreamChild.cpp @@ -0,0 +1,212 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "IPCStreamDestination.h" +#include "IPCStreamSource.h" + +#include "mozilla/Unused.h" +#include "mozilla/dom/nsIContentChild.h" +#include "mozilla/ipc/PBackgroundChild.h" +#include "mozilla/ipc/PChildToParentStreamChild.h" +#include "mozilla/ipc/PParentToChildStreamChild.h" + +namespace mozilla { +namespace ipc { + +// Child to Parent implementation +// ---------------------------------------------------------------------------- + +namespace { + +class IPCStreamSourceChild final : public PChildToParentStreamChild + , public IPCStreamSource +{ +public: + static IPCStreamSourceChild* + Create(nsIAsyncInputStream* aInputStream) + { + MOZ_ASSERT(aInputStream); + + IPCStreamSourceChild* source = new IPCStreamSourceChild(aInputStream); + if (!source->Initialize()) { + delete source; + return nullptr; + } + + return source; + } + + // PChildToParentStreamChild methods + + void + ActorDestroy(ActorDestroyReason aReason) override + { + ActorDestroyed(); + } + + IPCResult + RecvRequestClose(const nsresult& aRv) override + { + OnEnd(aRv); + return IPC_OK(); + } + + void + Close(nsresult aRv) override + { + MOZ_ASSERT(IPCStreamSource::mState == IPCStreamSource::eClosed); + Unused << SendClose(aRv); + } + + void + SendData(const nsCString& aBuffer) override + { + Unused << SendBuffer(aBuffer); + } + +private: + explicit IPCStreamSourceChild(nsIAsyncInputStream* aInputStream) + :IPCStreamSource(aInputStream) + {} +}; + +} // anonymous namespace + +/* static */ PChildToParentStreamChild* +IPCStreamSource::Create(nsIAsyncInputStream* aInputStream, + dom::nsIContentChild* aManager) +{ + MOZ_ASSERT(aInputStream); + MOZ_ASSERT(aManager); + + // PContent can only be used on the main thread + MOZ_ASSERT(NS_IsMainThread()); + + IPCStreamSourceChild* source = IPCStreamSourceChild::Create(aInputStream); + if (!source) { + return nullptr; + } + + if (!aManager->SendPChildToParentStreamConstructor(source)) { + return nullptr; + } + + source->ActorConstructed(); + return source; +} + +/* static */ PChildToParentStreamChild* +IPCStreamSource::Create(nsIAsyncInputStream* aInputStream, + PBackgroundChild* aManager) +{ + MOZ_ASSERT(aInputStream); + MOZ_ASSERT(aManager); + + IPCStreamSourceChild* source = IPCStreamSourceChild::Create(aInputStream); + if (!source) { + return nullptr; + } + + if (!aManager->SendPChildToParentStreamConstructor(source)) { + return nullptr; + } + + source->ActorConstructed(); + return source; +} + +/* static */ IPCStreamSource* +IPCStreamSource::Cast(PChildToParentStreamChild* aActor) +{ + MOZ_ASSERT(aActor); + return static_cast(aActor); +} + +// Parent to Child implementation +// ---------------------------------------------------------------------------- + +namespace { + +class IPCStreamDestinationChild final : public PParentToChildStreamChild + , public IPCStreamDestination +{ +public: + nsresult Initialize() + { + return IPCStreamDestination::Initialize(); + } + + ~IPCStreamDestinationChild() + {} + +private: + // PParentToChildStreamChild methods + + void + ActorDestroy(ActorDestroyReason aReason) override + { + ActorDestroyed(); + } + + IPCResult + RecvBuffer(const nsCString& aBuffer) override + { + BufferReceived(aBuffer); + return IPC_OK(); + } + + IPCResult + RecvClose(const nsresult& aRv) override + { + CloseReceived(aRv); + return IPC_OK(); + } + + // IPCStreamDestination methods + + void + RequestClose(nsresult aRv) override + { + Unused << SendRequestClose(aRv); + } + + void + TerminateDestination() override + { + Unused << Send__delete__(this); + } +}; + +} // anonymous namespace + +PParentToChildStreamChild* +AllocPParentToChildStreamChild() +{ + IPCStreamDestinationChild* actor = new IPCStreamDestinationChild(); + + if (NS_WARN_IF(NS_FAILED(actor->Initialize()))) { + delete actor; + actor = nullptr; + } + + return actor; +} + +void +DeallocPParentToChildStreamChild(PParentToChildStreamChild* aActor) +{ + delete aActor; +} + +/* static */ IPCStreamDestination* +IPCStreamDestination::Cast(PParentToChildStreamChild* aActor) +{ + MOZ_ASSERT(aActor); + return static_cast(aActor); +} + +} // namespace ipc +} // namespace mozilla diff --git a/ipc/glue/IPCStreamDestination.cpp b/ipc/glue/IPCStreamDestination.cpp new file mode 100644 index 000000000000..2d2ee8d80cde --- /dev/null +++ b/ipc/glue/IPCStreamDestination.cpp @@ -0,0 +1,90 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "IPCStreamDestination.h" +#include "nsIAsyncInputStream.h" +#include "nsIAsyncOutputStream.h" +#include "nsIPipe.h" + +namespace mozilla { +namespace ipc { + +IPCStreamDestination::IPCStreamDestination() +{ +} + +IPCStreamDestination::~IPCStreamDestination() +{ +} + +nsresult +IPCStreamDestination::Initialize() +{ + MOZ_ASSERT(!mReader); + MOZ_ASSERT(!mWriter); + + // use async versions for both reader and writer even though we are + // opening the writer as an infinite stream. We want to be able to + // use CloseWithStatus() to communicate errors through the pipe. + + // Use an "infinite" pipe because we cannot apply back-pressure through + // the async IPC layer at the moment. Blocking the IPC worker thread + // is not desirable, either. + nsresult rv = NS_NewPipe2(getter_AddRefs(mReader), + getter_AddRefs(mWriter), + true, true, // non-blocking + 0, // segment size + UINT32_MAX); // "infinite" pipe + if (NS_WARN_IF(NS_FAILED(rv))) { + return rv; + } + + return NS_OK; +} + +already_AddRefed +IPCStreamDestination::TakeReader() +{ + MOZ_ASSERT(mReader); + return mReader.forget(); +} + +void +IPCStreamDestination::ActorDestroyed() +{ + MOZ_ASSERT(mWriter); + + // If we were gracefully closed we should have gotten RecvClose(). In + // that case, the writer will already be closed and this will have no + // effect. This just aborts the writer in the case where the child process + // crashes. + mWriter->CloseWithStatus(NS_ERROR_ABORT); +} + +void +IPCStreamDestination::BufferReceived(const nsCString& aBuffer) +{ + MOZ_ASSERT(mWriter); + + uint32_t numWritten = 0; + + // This should only fail if we hit an OOM condition. + nsresult rv = mWriter->Write(aBuffer.get(), aBuffer.Length(), &numWritten); + if (NS_WARN_IF(NS_FAILED(rv))) { + RequestClose(rv); + } +} + +void +IPCStreamDestination::CloseReceived(nsresult aRv) +{ + MOZ_ASSERT(mWriter); + mWriter->CloseWithStatus(aRv); + TerminateDestination(); +} + +} // namespace ipc +} // namespace mozilla diff --git a/ipc/glue/IPCStreamDestination.h b/ipc/glue/IPCStreamDestination.h new file mode 100644 index 000000000000..20c44f359d77 --- /dev/null +++ b/ipc/glue/IPCStreamDestination.h @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef mozilla_ipc_IPCStreamDestination_h +#define mozilla_ipc_IPCStreamDestination_h + +#include "mozilla/AlreadyAddRefed.h" + +class nsIInputStream; +class nsIAsyncInputStream; +class nsIAsyncOutputStream; + +namespace mozilla { +namespace ipc { + +class PChildToParentStreamParent; +class PParentToChildStreamChild; + +// On the destination side, you must simply call TakeReader() upon receiving a +// reference to the IPCStream{Child,Parent} actor. You do not need to maintain +// a reference to the actor itself. +class IPCStreamDestination +{ +public: + static IPCStreamDestination* + Cast(PChildToParentStreamParent* aActor); + + static IPCStreamDestination* + Cast(PParentToChildStreamChild* aActor); + + virtual already_AddRefed + TakeReader(); + +protected: + IPCStreamDestination(); + virtual ~IPCStreamDestination(); + + nsresult Initialize(); + + // The implementation of the actor should call these methods. + + void + ActorDestroyed(); + + void + BufferReceived(const nsCString& aBuffer); + + void + CloseReceived(nsresult aRv); + + // These methods will be implemented by the actor. + + virtual void + RequestClose(nsresult aRv) = 0; + + virtual void + TerminateDestination() = 0; + + nsCOMPtr mReader; + nsCOMPtr mWriter; +}; + +} // namespace ipc +} // namespace mozilla + +#endif // mozilla_ipc_IPCStreamDestination_h diff --git a/ipc/glue/IPCStreamParent.cpp b/ipc/glue/IPCStreamParent.cpp new file mode 100644 index 000000000000..ec7e8e8e3717 --- /dev/null +++ b/ipc/glue/IPCStreamParent.cpp @@ -0,0 +1,212 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "IPCStreamDestination.h" +#include "mozilla/dom/nsIContentParent.h" +#include "mozilla/ipc/PBackgroundParent.h" +#include "mozilla/ipc/PChildToParentStreamParent.h" +#include "mozilla/ipc/PParentToChildStreamParent.h" +#include "mozilla/Unused.h" + +namespace mozilla { +namespace ipc { + +// Child to Parent implementation +// ---------------------------------------------------------------------------- + +namespace { + +class IPCStreamSourceParent final : public PParentToChildStreamParent + , public IPCStreamSource +{ +public: + static IPCStreamSourceParent* + Create(nsIAsyncInputStream* aInputStream) + { + MOZ_ASSERT(aInputStream); + + IPCStreamSourceParent* source = new IPCStreamSourceParent(aInputStream); + if (!source->Initialize()) { + delete source; + return nullptr; + } + + return source; + } + + // PParentToChildStreamParent methods + + void + ActorDestroy(ActorDestroyReason aReason) override + { + ActorDestroyed(); + } + + IPCResult + RecvRequestClose(const nsresult& aRv) override + { + OnEnd(aRv); + return IPC_OK(); + } + + void + Close(nsresult aRv) override + { + MOZ_ASSERT(IPCStreamSource::mState == IPCStreamSource::eClosed); + Unused << SendClose(aRv); + } + + void + SendData(const nsCString& aBuffer) override + { + Unused << SendBuffer(aBuffer); + } + +private: + explicit IPCStreamSourceParent(nsIAsyncInputStream* aInputStream) + :IPCStreamSource(aInputStream) + {} +}; + +} // anonymous namespace + +/* static */ PParentToChildStreamParent* +IPCStreamSource::Create(nsIAsyncInputStream* aInputStream, + dom::nsIContentParent* aManager) +{ + MOZ_ASSERT(aInputStream); + MOZ_ASSERT(aManager); + + // PContent can only be used on the main thread + MOZ_ASSERT(NS_IsMainThread()); + + IPCStreamSourceParent* source = IPCStreamSourceParent::Create(aInputStream); + if (!source) { + return nullptr; + } + + if (!aManager->SendPParentToChildStreamConstructor(source)) { + // no delete here, the manager will delete the actor for us. + return nullptr; + } + + source->ActorConstructed(); + return source; +} + +/* static */ PParentToChildStreamParent* +IPCStreamSource::Create(nsIAsyncInputStream* aInputStream, + PBackgroundParent* aManager) +{ + MOZ_ASSERT(aInputStream); + MOZ_ASSERT(aManager); + + IPCStreamSourceParent* source = IPCStreamSourceParent::Create(aInputStream); + if (!source) { + return nullptr; + } + + if (!aManager->SendPParentToChildStreamConstructor(source)) { + // no delete here, the manager will delete the actor for us. + return nullptr; + } + + source->ActorConstructed(); + return source; +} + +/* static */ IPCStreamSource* +IPCStreamSource::Cast(PParentToChildStreamParent* aActor) +{ + MOZ_ASSERT(aActor); + return static_cast(aActor); +} + +// Child to Parent implementation +// ---------------------------------------------------------------------------- + +namespace { + +class IPCStreamDestinationParent final : public PChildToParentStreamParent + , public IPCStreamDestination +{ +public: + nsresult Initialize() + { + return IPCStreamDestination::Initialize(); + } + + ~IPCStreamDestinationParent() + {} + +private: + // PChildToParentStreamParent methods + + void + ActorDestroy(ActorDestroyReason aReason) override + { + ActorDestroyed(); + } + + IPCResult + RecvBuffer(const nsCString& aBuffer) override + { + BufferReceived(aBuffer); + return IPC_OK(); + } + + IPCResult + RecvClose(const nsresult& aRv) override + { + CloseReceived(aRv); + return IPC_OK(); + } + + // IPCStreamDestination methods + + void + RequestClose(nsresult aRv) override + { + Unused << SendRequestClose(aRv); + } + + void + TerminateDestination() override + { + Unused << Send__delete__(this); + } +}; + +} // anonymous namespace + +PChildToParentStreamParent* +AllocPChildToParentStreamParent() +{ + IPCStreamDestinationParent* actor = new IPCStreamDestinationParent(); + + if (NS_WARN_IF(NS_FAILED(actor->Initialize()))) { + delete actor; + actor = nullptr; + } + + return actor; +} + +void +DeallocPChildToParentStreamParent(PChildToParentStreamParent* aActor) +{ + delete aActor; +} + +/* static */ IPCStreamDestination* +IPCStreamDestination::Cast(PChildToParentStreamParent* aActor) +{ + MOZ_ASSERT(aActor); + return static_cast(aActor); +} + +} // namespace ipc +} // namespace mozilla diff --git a/ipc/glue/IPCStreamSource.cpp b/ipc/glue/IPCStreamSource.cpp new file mode 100644 index 000000000000..c54c8392a8fa --- /dev/null +++ b/ipc/glue/IPCStreamSource.cpp @@ -0,0 +1,317 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "IPCStreamSource.h" +#include "nsIAsyncInputStream.h" +#include "nsICancelableRunnable.h" +#include "nsIRunnable.h" +#include "nsIThread.h" +#include "nsStreamUtils.h" + +using mozilla::dom::workers::Canceling; +using mozilla::dom::workers::GetCurrentThreadWorkerPrivate; +using mozilla::dom::workers::Status; +using mozilla::dom::workers::WorkerPrivate; + +namespace mozilla { +namespace ipc { + +class IPCStreamSource::Callback final : public nsIInputStreamCallback + , public nsIRunnable + , public nsICancelableRunnable +{ +public: + explicit Callback(IPCStreamSource* aSource) + : mSource(aSource) + , mOwningThread(NS_GetCurrentThread()) + { + MOZ_ASSERT(mSource); + } + + NS_IMETHOD + OnInputStreamReady(nsIAsyncInputStream* aStream) override + { + // any thread + if (mOwningThread == NS_GetCurrentThread()) { + return Run(); + } + + // If this fails, then it means the owning thread is a Worker that has + // been shutdown. Its ok to lose the event in this case because the + // IPCStreamChild listens for this event through the WorkerHolder. + nsresult rv = mOwningThread->Dispatch(this, nsIThread::DISPATCH_NORMAL); + if (NS_FAILED(rv)) { + NS_WARNING("Failed to dispatch stream readable event to owning thread"); + } + + return NS_OK; + } + + NS_IMETHOD + Run() override + { + MOZ_ASSERT(mOwningThread == NS_GetCurrentThread()); + if (mSource) { + mSource->OnStreamReady(this); + } + return NS_OK; + } + + nsresult + Cancel() override + { + // Cancel() gets called when the Worker thread is being shutdown. We have + // nothing to do here because IPCStreamChild handles this case via + // the WorkerHolder. + return NS_OK; + } + + void + ClearSource() + { + MOZ_ASSERT(mOwningThread == NS_GetCurrentThread()); + MOZ_ASSERT(mSource); + mSource = nullptr; + } + +private: + ~Callback() + { + // called on any thread + + // ClearSource() should be called before the Callback is destroyed + MOZ_ASSERT(!mSource); + } + + // This is a raw pointer because the source keeps alive the callback and, + // before beeing destroyed, it nullifies this pointer (this happens when + // ActorDestroyed() is called). + IPCStreamSource* mSource; + + nsCOMPtr mOwningThread; + + NS_DECL_THREADSAFE_ISUPPORTS +}; + +NS_IMPL_ISUPPORTS(IPCStreamSource::Callback, nsIInputStreamCallback, + nsIRunnable, + nsICancelableRunnable); + +IPCStreamSource::IPCStreamSource(nsIAsyncInputStream* aInputStream) + : mStream(aInputStream) + , mWorkerPrivate(nullptr) + , mState(ePending) +{ + MOZ_ASSERT(aInputStream); +} + +IPCStreamSource::~IPCStreamSource() +{ + NS_ASSERT_OWNINGTHREAD(IPCStreamSource); + MOZ_ASSERT(mState == eClosed); + MOZ_ASSERT(!mCallback); + MOZ_ASSERT(!mWorkerPrivate); +} + +bool +IPCStreamSource::Initialize() +{ + bool nonBlocking = false; + MOZ_ALWAYS_TRUE(NS_SUCCEEDED(mStream->IsNonBlocking(&nonBlocking))); + // IPCStreamChild reads in the current thread, so it is only supported on + // non-blocking, async channels + if (!nonBlocking) { + return false; + } + + // A source can be used on any thread, but we only support IPCStream on + // main thread and Worker threads right now. This is due to the requirement + // that the thread be guaranteed to live long enough to receive messages. + // We can enforce this guarantee with a feature on worker threads, but not + // other threads. + WorkerPrivate* workerPrivate = nullptr; + if (!NS_IsMainThread()) { + workerPrivate = GetCurrentThreadWorkerPrivate(); + MOZ_RELEASE_ASSERT(workerPrivate); + + bool result = HoldWorker(workerPrivate, Canceling); + if (!result) { + return false; + } + + mWorkerPrivate = workerPrivate; + } + + return true; +} + +void +IPCStreamSource::ActorConstructed() +{ + MOZ_ASSERT(mState == ePending); + mState = eActorConstructed; +} + +bool +IPCStreamSource::Notify(Status aStatus) +{ + NS_ASSERT_OWNINGTHREAD(IPCStreamSource); + + // Keep the worker thread alive until the stream is finished. + return true; +} + +void +IPCStreamSource::ActorDestroyed() +{ + NS_ASSERT_OWNINGTHREAD(IPCStreamSource); + + mState = eClosed; + + if (mCallback) { + mCallback->ClearSource(); + mCallback = nullptr; + } + + if (mWorkerPrivate) { + ReleaseWorker(); + mWorkerPrivate = nullptr; + } +} + +void +IPCStreamSource::Start() +{ + NS_ASSERT_OWNINGTHREAD(IPCStreamSource); + MOZ_ASSERT_IF(!NS_IsMainThread(), mWorkerPrivate); + DoRead(); +} + +void +IPCStreamSource::StartDestroy() +{ + NS_ASSERT_OWNINGTHREAD(IPCStreamSource); + OnEnd(NS_ERROR_ABORT); +} + +void +IPCStreamSource::DoRead() +{ + NS_ASSERT_OWNINGTHREAD(IPCStreamSource); + MOZ_ASSERT(mState == eActorConstructed); + MOZ_ASSERT(!mCallback); + + // The input stream (likely a pipe) probably uses a segment size of + // 4kb. If there is data already buffered it would be nice to aggregate + // multiple segments into a single IPC call. Conversely, don't send too + // too large of a buffer in a single call to avoid spiking memory. + static const uint64_t kMaxBytesPerMessage = 32 * 1024; + static_assert(kMaxBytesPerMessage <= static_cast(UINT32_MAX), + "kMaxBytesPerMessage must cleanly cast to uint32_t"); + + while (true) { + // It should not be possible to transition to closed state without + // this loop terminating via a return. + MOZ_ASSERT(mState == eActorConstructed); + + // Use non-auto here as we're unlikely to hit stack storage with the + // sizes we are sending. Also, it would be nice to avoid another copy + // to the IPC layer which we avoid if we use COW strings. Unfortunately + // IPC does not seem to support passing dependent storage types. + nsCString buffer; + + uint64_t available = 0; + nsresult rv = mStream->Available(&available); + if (NS_FAILED(rv)) { + OnEnd(rv); + return; + } + + if (available == 0) { + Wait(); + return; + } + + uint32_t expectedBytes = + static_cast(std::min(available, kMaxBytesPerMessage)); + + buffer.SetLength(expectedBytes); + + uint32_t bytesRead = 0; + rv = mStream->Read(buffer.BeginWriting(), buffer.Length(), &bytesRead); + MOZ_ASSERT_IF(NS_FAILED(rv), bytesRead == 0); + buffer.SetLength(bytesRead); + + // If we read any data from the stream, send it across. + if (!buffer.IsEmpty()) { + SendData(buffer); + } + + if (rv == NS_BASE_STREAM_WOULD_BLOCK) { + Wait(); + return; + } + + // Any other error or zero-byte read indicates end-of-stream + if (NS_FAILED(rv) || buffer.IsEmpty()) { + OnEnd(rv); + return; + } + } +} + +void +IPCStreamSource::Wait() +{ + NS_ASSERT_OWNINGTHREAD(IPCStreamSource); + MOZ_ASSERT(mState == eActorConstructed); + MOZ_ASSERT(!mCallback); + + // Set mCallback immediately instead of waiting for success. Its possible + // AsyncWait() will callback synchronously. + mCallback = new Callback(this); + nsresult rv = mStream->AsyncWait(mCallback, 0, 0, nullptr); + if (NS_FAILED(rv)) { + OnEnd(rv); + return; + } +} + +void +IPCStreamSource::OnStreamReady(Callback* aCallback) +{ + NS_ASSERT_OWNINGTHREAD(IPCStreamSource); + MOZ_ASSERT(mCallback); + MOZ_ASSERT(aCallback == mCallback); + mCallback->ClearSource(); + mCallback = nullptr; + DoRead(); +} + +void +IPCStreamSource::OnEnd(nsresult aRv) +{ + NS_ASSERT_OWNINGTHREAD(IPCStreamSource); + MOZ_ASSERT(aRv != NS_BASE_STREAM_WOULD_BLOCK); + + if (mState == eClosed) { + return; + } + + mState = eClosed; + + mStream->CloseWithStatus(aRv); + + if (aRv == NS_BASE_STREAM_CLOSED) { + aRv = NS_OK; + } + + // This will trigger an ActorDestroy() from the other side + Close(aRv); +} + +} // namespace ipc +} // namespace mozilla diff --git a/ipc/glue/IPCStreamSource.h b/ipc/glue/IPCStreamSource.h new file mode 100644 index 000000000000..19fe2937d366 --- /dev/null +++ b/ipc/glue/IPCStreamSource.h @@ -0,0 +1,155 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef mozilla_ipc_IPCStreamSource_h +#define mozilla_ipc_IPCStreamSource_h + +#include "mozilla/AlreadyAddRefed.h" +#include "mozilla/dom/WorkerPrivate.h" +#include "mozilla/dom/workers/bindings/WorkerHolder.h" + +class nsIAsyncInputStream; + +namespace mozilla { + +namespace dom { +class nsIContentChild; +class nsIContentParent; +} // dom namespace + +namespace ipc { + +class PBackgroundChild; +class PBackgroundParent; + +// The IPCStream IPC actor is designed to push an nsIInputStream from child to +// parent or parent to child incrementally. This is mainly needed for streams +// such as nsPipe that may not yet have all their data available when the +// stream must be sent across an IPC boundary. While many streams are handled +// by SerializeInputStream(), these streams cannot be serialized and must be +// sent using this actor. +// +// The IPCStream actor only support async, non-blocking streams because they +// must be read inline on the main thread and Worker threads. +// +// In general, the creation and handling of the IPCStream actor cannot be +// abstracted away behind SerializeInputStream() because the actor must be +// carefully managed. Specifically: +// +// 1) The data flow must be explicitly initiated by calling +// IPCStreamSource{Child,Parent}::Start() after the actor has been sent to +// the other-side actor. +// 2) If the actor is never sent to the other-side, then this code must +// call IPCStreamSource{Child,Parent}::StartDestroy() to avoid memory leaks. +// 3) The IPCStreamSource actor can only be used on threads that can be +// guaranteed to stay alive as long as the actor is alive. Right now +// this limits IPCStream to the main thread and Worker threads. +// +// In general you should probably use the AutoIPCStreamSource RAII class +// defined in InputStreamUtils.h instead of using IPCStreamSource directly. +class IPCStreamSource : public dom::workers::WorkerHolder +{ +public: + // Create a IPCStreamSource using a PContent IPC manager on the + // main thread. This can return nullptr if the provided stream is + // blocking. + static PChildToParentStreamChild* + Create(nsIAsyncInputStream* aInputStream, dom::nsIContentChild* aManager); + + // Create a IPCStreamSource using a PBackground IPC manager on the + // main thread or a Worker thread. This can return nullptr if the provided + // stream is blocking or if the Worker thread is already shutting down. + static PChildToParentStreamChild* + Create(nsIAsyncInputStream* aInputStream, PBackgroundChild* aManager); + + // Create a IPCStreamSource using a PContent IPC manager on the + // main thread. This can return nullptr if the provided stream is + // blocking. + static PParentToChildStreamParent* + Create(nsIAsyncInputStream* aInputStream, dom::nsIContentParent* aManager); + + // Create a IPCStreamSource using a PBackground IPC manager on the + // main thread or a Worker thread. This can return nullptr if the provided + // stream is blocking or if the Worker thread is already shutting down. + static PParentToChildStreamParent* + Create(nsIAsyncInputStream* aInputStream, PBackgroundParent* aManager); + + static IPCStreamSource* + Cast(PChildToParentStreamChild* aActor); + + static IPCStreamSource* + Cast(PParentToChildStreamParent* aActor); + + // Start reading data from the nsIAsyncInputStream used to create the actor. + // This must be called after the actor is passed to the parent. If you + // use AutoIPCStream this is handled automatically. + void + Start(); + + // Start cleaning up the actor. This must be called if the actor is never + // sent to the other side. If you use AutoIPCStream this is handled + // automatically. + void + StartDestroy(); + +protected: + IPCStreamSource(nsIAsyncInputStream* aInputStream); + virtual ~IPCStreamSource(); + + bool Initialize(); + + void ActorDestroyed(); + + void OnEnd(nsresult aRv); + + virtual void + Close(nsresult aRv) = 0; + + virtual void + SendData(const nsCString& aBuffer) = 0; + + void + ActorConstructed(); + +private: + class Callback; + + // WorkerHolder methods + virtual bool + Notify(dom::workers::Status aStatus) override; + + void DoRead(); + + void Wait(); + + void OnStreamReady(Callback* aCallback); + + nsCOMPtr mStream; + RefPtr mCallback; + + // Raw pointer because this IPCStreamSource keeps the worker alive using a + // WorkerHolder. The worker is kept alive when the actor is created and, + // released when the actor is destroyed. + dom::workers::WorkerPrivate* mWorkerPrivate; + +#ifdef DEBUG +protected: +#endif + + enum { + ePending, + eActorConstructed, + eClosed + } mState; + +private: + NS_DECL_OWNINGTHREAD +}; + +} // namespace ipc +} // namespace mozilla + +#endif // mozilla_ipc_IPCStreamSource_h diff --git a/ipc/glue/IPCStreamUtils.cpp b/ipc/glue/IPCStreamUtils.cpp index 676e8f4407bd..f9dc1e6aede2 100644 --- a/ipc/glue/IPCStreamUtils.cpp +++ b/ipc/glue/IPCStreamUtils.cpp @@ -15,9 +15,10 @@ #include "mozilla/ipc/FileDescriptorSetChild.h" #include "mozilla/ipc/FileDescriptorSetParent.h" #include "mozilla/ipc/InputStreamUtils.h" +#include "mozilla/ipc/IPCStreamDestination.h" +#include "mozilla/ipc/IPCStreamSource.h" #include "mozilla/ipc/PBackgroundChild.h" #include "mozilla/ipc/PBackgroundParent.h" -#include "mozilla/ipc/SendStream.h" #include "mozilla/Unused.h" #include "nsIAsyncInputStream.h" #include "nsIAsyncOutputStream.h" @@ -29,32 +30,43 @@ namespace ipc { namespace { +void +AssertValidValueToTake(const IPCStream& aVal) +{ + MOZ_ASSERT(aVal.type() == IPCStream::TPChildToParentStreamChild || + aVal.type() == IPCStream::TPParentToChildStreamParent || + aVal.type() == IPCStream::TInputStreamParamsWithFds); +} + +void +AssertValidValueToTake(const OptionalIPCStream& aVal) +{ + MOZ_ASSERT(aVal.type() == OptionalIPCStream::Tvoid_t || + aVal.type() == OptionalIPCStream::TIPCStream); + if (aVal.type() == OptionalIPCStream::TIPCStream) { + AssertValidValueToTake(aVal.get_IPCStream()); + } +} + // These serialization and cleanup functions could be externally exposed. For // now, though, keep them private to encourage use of the safer RAII // AutoIPCStream class. template -void -SerializeInputStreamWithFdsChild(nsIInputStream* aStream, +bool +SerializeInputStreamWithFdsChild(nsIIPCSerializableInputStream* aStream, IPCStream& aValue, M* aManager) { - MOZ_ASSERT(aStream); + MOZ_RELEASE_ASSERT(aStream); MOZ_ASSERT(aManager); - // First attempt simple stream serialization - nsCOMPtr serializable = - do_QueryInterface(aStream); - if (!serializable) { - MOZ_CRASH("Input stream is not serializable!"); - } - aValue = InputStreamParamsWithFds(); InputStreamParamsWithFds& streamWithFds = aValue.get_InputStreamParamsWithFds(); AutoTArray fds; - serializable->Serialize(streamWithFds.stream(), fds); + aStream->Serialize(streamWithFds.stream(), fds); if (streamWithFds.stream().type() == InputStreamParams::T__None) { MOZ_CRASH("Serialize failed!"); @@ -71,30 +83,25 @@ SerializeInputStreamWithFdsChild(nsIInputStream* aStream, streamWithFds.optionalFds() = fdSet; } + + return true; } template -void -SerializeInputStreamWithFdsParent(nsIInputStream* aStream, +bool +SerializeInputStreamWithFdsParent(nsIIPCSerializableInputStream* aStream, IPCStream& aValue, M* aManager) { - MOZ_ASSERT(aStream); + MOZ_RELEASE_ASSERT(aStream); MOZ_ASSERT(aManager); - // First attempt simple stream serialization - nsCOMPtr serializable = - do_QueryInterface(aStream); - if (!serializable) { - MOZ_CRASH("Input stream is not serializable!"); - } - aValue = InputStreamParamsWithFds(); InputStreamParamsWithFds& streamWithFds = aValue.get_InputStreamParamsWithFds(); AutoTArray fds; - serializable->Serialize(streamWithFds.stream(), fds); + aStream->Serialize(streamWithFds.stream(), fds); if (streamWithFds.stream().type() == InputStreamParams::T__None) { MOZ_CRASH("Serialize failed!"); @@ -116,84 +123,117 @@ SerializeInputStreamWithFdsParent(nsIInputStream* aStream, streamWithFds.optionalFds() = fdSet; } } + + return true; } template -void -SerializeInputStreamWithFdsParent(nsIInputStream* aStream, - OptionalIPCStream& aValue, - M* aManager) -{ - if (!aStream) { - aValue = void_t(); - return; - } - - aValue = IPCStream(); - SerializeInputStreamWithFdsParent(aStream, aValue.get_IPCStream(), aManager); -} - -template -void +bool SerializeInputStream(nsIInputStream* aStream, IPCStream& aValue, M* aManager) { MOZ_ASSERT(aStream); MOZ_ASSERT(aManager); + // As a fallback, attempt to stream the data across using a IPCStream + // actor. For blocking streams, create a nonblocking pipe instead, + nsCOMPtr asyncStream = do_QueryInterface(aStream); + if (!asyncStream) { + const uint32_t kBufferSize = 32768; // matches IPCStream buffer size. + nsCOMPtr sink; + nsresult rv = NS_NewPipe2(getter_AddRefs(asyncStream), + getter_AddRefs(sink), + true, + false, + kBufferSize, + UINT32_MAX); + if (NS_WARN_IF(NS_FAILED(rv))) { + return false; + } + + nsCOMPtr target = + do_GetService(NS_STREAMTRANSPORTSERVICE_CONTRACTID); + + rv = NS_AsyncCopy(aStream, sink, target, NS_ASYNCCOPY_VIA_READSEGMENTS, + kBufferSize); + if (NS_WARN_IF(NS_FAILED(rv))) { + return false; + } + } + + MOZ_ASSERT(asyncStream); + aValue = IPCStreamSource::Create(asyncStream, aManager); + return true; +} + +template +bool +SerializeInputStreamChild(nsIInputStream* aStream, M* aManager, + IPCStream* aValue, + OptionalIPCStream* aOptionalValue) +{ + MOZ_ASSERT(aStream); + MOZ_ASSERT(aManager); + MOZ_ASSERT(aValue || aOptionalValue); + + // If a stream is known to be larger than 1MB, prefer sending it in chunks. + const uint64_t kTooLargeStream = 1024 * 1024; + + nsCOMPtr serializable = + do_QueryInterface(aStream); + + // ExpectedSerializedLength() returns the length of the stream if serialized. + // This is useful to decide if we want to continue using the serialization + // directly, or if it's better to use IPCStream. + uint64_t expectedLength = + serializable ? serializable->ExpectedSerializedLength().valueOr(0) : 0; + if (serializable && expectedLength < kTooLargeStream) { + if (aValue) { + return SerializeInputStreamWithFdsChild(serializable, *aValue, aManager); + } + + return SerializeInputStreamWithFdsChild(serializable, *aOptionalValue, + aManager); + } + + if (aValue) { + return SerializeInputStream(aStream, *aValue, aManager); + } + + return SerializeInputStream(aStream, *aOptionalValue, aManager); +} + +template +bool +SerializeInputStreamParent(nsIInputStream* aStream, M* aManager, + IPCStream* aValue, + OptionalIPCStream* aOptionalValue) +{ + MOZ_ASSERT(aStream); + MOZ_ASSERT(aManager); + MOZ_ASSERT(aValue || aOptionalValue); + // If a stream is known to be larger than 1MB, prefer sending it in chunks. const uint64_t kTooLargeStream = 1024 * 1024; - // First attempt simple stream serialization nsCOMPtr serializable = do_QueryInterface(aStream); uint64_t expectedLength = serializable ? serializable->ExpectedSerializedLength().valueOr(0) : 0; + if (serializable && expectedLength < kTooLargeStream) { - SerializeInputStreamWithFdsChild(aStream, aValue, aManager); - return; + if (aValue) { + return SerializeInputStreamWithFdsParent(serializable, *aValue, aManager); + } + + return SerializeInputStreamWithFdsParent(serializable, *aOptionalValue, + aManager); } - // As a fallback, attempt to stream the data across using a SendStream - // actor. For blocking streams, create a nonblocking pipe instead, - nsCOMPtr asyncStream = do_QueryInterface(aStream); - if (!asyncStream) { - const uint32_t kBufferSize = 32768; // matches SendStream buffer size. - nsCOMPtr sink; - DebugOnly rv = NS_NewPipe2(getter_AddRefs(asyncStream), - getter_AddRefs(sink), - true, - false, - kBufferSize, - UINT32_MAX); - MOZ_ASSERT(NS_SUCCEEDED(rv)); - - nsCOMPtr target = - do_GetService(NS_STREAMTRANSPORTSERVICE_CONTRACTID); - - rv = NS_AsyncCopy(aStream, sink, target, NS_ASYNCCOPY_VIA_READSEGMENTS, kBufferSize); - MOZ_ASSERT(NS_SUCCEEDED(rv)); + if (aValue) { + return SerializeInputStream(aStream, *aValue, aManager); } - MOZ_ASSERT(asyncStream); - aValue = SendStreamChild::Create(asyncStream, aManager); - - if (!aValue.get_PSendStreamChild()) { - MOZ_CRASH("SendStream creation failed!"); - } -} - -template -void -SerializeInputStream(nsIInputStream* aStream, OptionalIPCStream& aValue, - M* aManager) -{ - if (!aStream) { - aValue = void_t(); - return; - } - - aValue = IPCStream(); - SerializeInputStream(aStream, aValue.get_IPCStream(), aManager); + return SerializeInputStream(aStream, *aOptionalValue, aManager); } void @@ -249,19 +289,24 @@ CleanupIPCStream(IPCStream& aValue, bool aConsumedByIPC) return; } - MOZ_ASSERT(aValue.type() == IPCStream::TPSendStreamChild); + IPCStreamSource* source = nullptr; + if (aValue.type() == IPCStream::TPChildToParentStreamChild) { + source = IPCStreamSource::Cast(aValue.get_PChildToParentStreamChild()); + } else { + MOZ_ASSERT(aValue.type() == IPCStream::TPParentToChildStreamParent); + source = IPCStreamSource::Cast(aValue.get_PParentToChildStreamParent()); + } - auto sendStream = - static_cast(aValue.get_PSendStreamChild()); + MOZ_ASSERT(source); if (!aConsumedByIPC) { - sendStream->StartDestroy(); + source->StartDestroy(); return; } - // If the SendStream was taken to be sent to the parent, then we need to - // start it before forgetting about it. - sendStream->Start(); + // If the source stream was taken to be sent to the other side, then we need + // to start it before forgetting about it. + source->Start(); } void @@ -274,19 +319,46 @@ CleanupIPCStream(OptionalIPCStream& aValue, bool aConsumedByIPC) CleanupIPCStream(aValue.get_IPCStream(), aConsumedByIPC); } +// Returns false if the serialization should not proceed. This means that the +// inputStream is null. +bool +NormalizeOptionalValue(nsIInputStream* aStream, + IPCStream* aValue, + OptionalIPCStream* aOptionalValue) +{ + if (aValue) { + // if aStream is null, we will crash when serializing. + return true; + } + + if (!aStream) { + *aOptionalValue = void_t(); + return false; + } + + *aOptionalValue = IPCStream(); + return true; +} + } // anonymous namespace already_AddRefed DeserializeIPCStream(const IPCStream& aValue) { - if (aValue.type() == IPCStream::TPSendStreamParent) { + if (aValue.type() == IPCStream::TPChildToParentStreamParent) { auto sendStream = - static_cast(aValue.get_PSendStreamParent()); + IPCStreamDestination::Cast(aValue.get_PChildToParentStreamParent()); return sendStream->TakeReader(); } - // Note, we explicitly do not support deserializing the PSendStream actor on - // the child side. It can only be sent from child to parent. + if (aValue.type() == IPCStream::TPParentToChildStreamChild) { + auto sendStream = + IPCStreamDestination::Cast(aValue.get_PParentToChildStreamChild()); + return sendStream->TakeReader(); + } + + // Note, we explicitly do not support deserializing the PChildToParentStream actor on + // the child side nor the PParentToChildStream actor on the parent side. MOZ_ASSERT(aValue.type() == IPCStream::TInputStreamParamsWithFds); const InputStreamParamsWithFds& streamWithFds = @@ -333,27 +405,6 @@ DeserializeIPCStream(const OptionalIPCStream& aValue) return DeserializeIPCStream(aValue.get_IPCStream()); } -namespace { - -void -AssertValidValueToTake(const IPCStream& aVal) -{ - MOZ_ASSERT(aVal.type() == IPCStream::TPSendStreamChild || - aVal.type() == IPCStream::TInputStreamParamsWithFds); -} - -void -AssertValidValueToTake(const OptionalIPCStream& aVal) -{ - MOZ_ASSERT(aVal.type() == OptionalIPCStream::Tvoid_t || - aVal.type() == OptionalIPCStream::TIPCStream); - if (aVal.type() == OptionalIPCStream::TIPCStream) { - AssertValidValueToTake(aVal.get_IPCStream()); - } -} - -} // anonymous namespace - AutoIPCStream::AutoIPCStream() : mInlineValue(void_t()) , mValue(nullptr) @@ -389,7 +440,7 @@ AutoIPCStream::~AutoIPCStream() } } -void +bool AutoIPCStream::Serialize(nsIInputStream* aStream, dom::nsIContentChild* aManager) { MOZ_ASSERT(aStream || !mValue); @@ -398,16 +449,25 @@ AutoIPCStream::Serialize(nsIInputStream* aStream, dom::nsIContentChild* aManager MOZ_ASSERT(!mTaken); MOZ_ASSERT(!IsSet()); + // If NormalizeOptionalValue returns false, we don't have to proceed. + if (!NormalizeOptionalValue(aStream, mValue, mOptionalValue)) { + return true; + } + + if (!SerializeInputStreamChild(aStream, aManager, mValue, mOptionalValue)) { + MOZ_CRASH("IPCStream creation failed!"); + } + if (mValue) { - SerializeInputStream(aStream, *mValue, aManager); AssertValidValueToTake(*mValue); } else { - SerializeInputStream(aStream, *mOptionalValue, aManager); AssertValidValueToTake(*mOptionalValue); } + + return true; } -void +bool AutoIPCStream::Serialize(nsIInputStream* aStream, PBackgroundChild* aManager) { MOZ_ASSERT(aStream || !mValue); @@ -416,17 +476,27 @@ AutoIPCStream::Serialize(nsIInputStream* aStream, PBackgroundChild* aManager) MOZ_ASSERT(!mTaken); MOZ_ASSERT(!IsSet()); + // If NormalizeOptionalValue returns false, we don't have to proceed. + if (!NormalizeOptionalValue(aStream, mValue, mOptionalValue)) { + return true; + } + + if (!SerializeInputStreamChild(aStream, aManager, mValue, mOptionalValue)) { + MOZ_CRASH("IPCStream creation failed!"); + } + if (mValue) { - SerializeInputStream(aStream, *mValue, aManager); AssertValidValueToTake(*mValue); } else { - SerializeInputStream(aStream, *mOptionalValue, aManager); AssertValidValueToTake(*mOptionalValue); } + + return true; } -void -AutoIPCStream::Serialize(nsIInputStream* aStream, dom::PContentParent* aManager) +bool +AutoIPCStream::Serialize(nsIInputStream* aStream, + dom::nsIContentParent* aManager) { MOZ_ASSERT(aStream || !mValue); MOZ_ASSERT(aManager); @@ -434,16 +504,25 @@ AutoIPCStream::Serialize(nsIInputStream* aStream, dom::PContentParent* aManager) MOZ_ASSERT(!mTaken); MOZ_ASSERT(!IsSet()); + // If NormalizeOptionalValue returns false, we don't have to proceed. + if (!NormalizeOptionalValue(aStream, mValue, mOptionalValue)) { + return true; + } + + if (!SerializeInputStreamParent(aStream, aManager, mValue, mOptionalValue)) { + return false; + } + if (mValue) { - SerializeInputStreamWithFdsParent(aStream, *mValue, aManager); AssertValidValueToTake(*mValue); } else { - SerializeInputStreamWithFdsParent(aStream, *mOptionalValue, aManager); AssertValidValueToTake(*mOptionalValue); } + + return true; } -void +bool AutoIPCStream::Serialize(nsIInputStream* aStream, PBackgroundParent* aManager) { MOZ_ASSERT(aStream || !mValue); @@ -452,13 +531,22 @@ AutoIPCStream::Serialize(nsIInputStream* aStream, PBackgroundParent* aManager) MOZ_ASSERT(!mTaken); MOZ_ASSERT(!IsSet()); + // If NormalizeOptionalValue returns false, we don't have to proceed. + if (!NormalizeOptionalValue(aStream, mValue, mOptionalValue)) { + return true; + } + + if (!SerializeInputStreamParent(aStream, aManager, mValue, mOptionalValue)) { + return false; + } + if (mValue) { - SerializeInputStreamWithFdsParent(aStream, *mValue, aManager); AssertValidValueToTake(*mValue); } else { - SerializeInputStreamWithFdsParent(aStream, *mOptionalValue, aManager); AssertValidValueToTake(*mOptionalValue); } + + return true; } bool diff --git a/ipc/glue/IPCStreamUtils.h b/ipc/glue/IPCStreamUtils.h index a20f8a651827..054f7c02b7c8 100644 --- a/ipc/glue/IPCStreamUtils.h +++ b/ipc/glue/IPCStreamUtils.h @@ -14,7 +14,7 @@ namespace mozilla { namespace dom { class nsIContentChild; -class PContentParent; +class nsIContentParent; } namespace ipc { @@ -31,7 +31,7 @@ already_AddRefed DeserializeIPCStream(const OptionalIPCStream& aValue); // RAII helper class that serializes an nsIInputStream into an IPCStream struct. -// Any file descriptor or PSendStream actors are automatically managed +// Any file descriptor or PChildToParentStream actors are automatically managed // correctly. // // Here is a simple example: @@ -60,7 +60,7 @@ DeserializeIPCStream(const OptionalIPCStream& aValue); // // Do something with stream... // // // You can also serialize streams from parent-to-child as long as -// // they don't require PSendStream actor support. +// // they don't require PChildToParentStream actor support. // AutoIPCStream anotherStream; // anotherStream.Serialize(mFileStream, Manager()); // SendStuffDone(anotherStream.TakeValue()); @@ -101,14 +101,17 @@ DeserializeIPCStream(const OptionalIPCStream& aValue); // /* do something with the nsIInputStream */ // } // +// Note: This example is about child-to-parent inputStream, but AutoIPCStream +// works also parent-to-child. +// // The AutoIPCStream class also supports OptionalIPCStream values. As long as // you did not initialize the object with a non-optional IPCStream, you can call // TakeOptionalValue() instead. // // The AutoIPCStream class can also be used to serialize nsIInputStream objects // on the parent side to send to the child. Currently, however, this only -// works for directly serializable stream types. The PSendStream actor mechanism -// is not supported in this direction yet. +// works for directly serializable stream types. The PChildToParentStream actor +// mechanism is not supported in this direction yet. // // Like SerializeInputStream(), the AutoIPCStream will crash if // serialization cannot be completed. @@ -146,35 +149,33 @@ public: // Serialize the input stream or create a SendStream actor using the PContent // manager. If neither of these succeed, then crash. This should only be // used on the main thread. - void + bool Serialize(nsIInputStream* aStream, dom::nsIContentChild* aManager); // Serialize the input stream or create a SendStream actor using the // PBackground manager. If neither of these succeed, then crash. This can // be called on the main thread or Worker threads. - void + bool Serialize(nsIInputStream* aStream, PBackgroundChild* aManager); - // Serialize the input stream. A PSendStream cannot be used when going - // from parent-to-child. - void - Serialize(nsIInputStream* aStream, dom::PContentParent* aManager); + // Serialize the input stream. + MOZ_MUST_USE bool + Serialize(nsIInputStream* aStream, dom::nsIContentParent* aManager); - // Serialize the input stream. A PSendStream cannot be used when going - // from parent-to-child. - void + // Serialize the input stream. + MOZ_MUST_USE bool Serialize(nsIInputStream* aStream, PBackgroundParent* aManager); // Get the IPCStream as a non-optional value. This will // assert if a stream has not been serialized or if it has already been taken. // This should only be called if the value is being, or has already been, sent - // to the parent + // to the other side. IPCStream& TakeValue(); // Get the OptionalIPCStream value. This will assert if // the value has already been taken. This should only be called if the value - // is being, or has already been, sent to the parent + // is being, or has already been, sent to the other side. OptionalIPCStream& TakeOptionalValue(); }; diff --git a/ipc/glue/MessageLink.cpp b/ipc/glue/MessageLink.cpp index 3e719e968248..97ebad52fe1f 100644 --- a/ipc/glue/MessageLink.cpp +++ b/ipc/glue/MessageLink.cpp @@ -18,6 +18,7 @@ #include "nsExceptionHandler.h" #endif #include "nsISupportsImpl.h" +#include "nsPrintfCString.h" #include "nsXULAppAPI.h" using namespace mozilla; diff --git a/ipc/glue/PBackground.ipdl b/ipc/glue/PBackground.ipdl index eacb427694d1..0ad0b733059b 100644 --- a/ipc/glue/PBackground.ipdl +++ b/ipc/glue/PBackground.ipdl @@ -18,7 +18,8 @@ include protocol PGamepadTestChannel; include protocol PMessagePort; include protocol PCameras; include protocol PQuota; -include protocol PSendStream; +include protocol PChildToParentStream; +include protocol PParentToChildStream; include protocol PServiceWorkerManager; include protocol PUDPSocket; include protocol PVsync; @@ -61,7 +62,8 @@ sync protocol PBackground manages PMessagePort; manages PCameras; manages PQuota; - manages PSendStream; + manages PChildToParentStream; + manages PParentToChildStream; manages PServiceWorkerManager; manages PUDPSocket; manages PVsync; @@ -92,7 +94,7 @@ parent: async PMessagePort(nsID uuid, nsID destinationUuid, uint32_t sequenceId); - async PSendStream(); + async PChildToParentStream(); async MessagePortForceClose(nsID uuid, nsID destinationUuid, uint32_t sequenceId); @@ -112,6 +114,8 @@ child: async PCache(); async PCacheStreamControl(); + async PParentToChildStream(); + both: async PBlob(BlobConstructorParams params); diff --git a/ipc/glue/PSendStream.ipdl b/ipc/glue/PChildToParentStream.ipdl similarity index 88% rename from ipc/glue/PSendStream.ipdl rename to ipc/glue/PChildToParentStream.ipdl index 8f171672bdcb..bc789a73dfe3 100644 --- a/ipc/glue/PSendStream.ipdl +++ b/ipc/glue/PChildToParentStream.ipdl @@ -9,7 +9,9 @@ include protocol PContentBridge; namespace mozilla { namespace ipc { -protocol PSendStream +// This is protocol is the opposite of PParentToChildStream. Please keep these +// protocols in sync. +protocol PChildToParentStream { manager PBackground or PContent or PContentBridge; diff --git a/ipc/glue/PParentToChildStream.ipdl b/ipc/glue/PParentToChildStream.ipdl new file mode 100644 index 000000000000..c5e81e279477 --- /dev/null +++ b/ipc/glue/PParentToChildStream.ipdl @@ -0,0 +1,35 @@ +/* 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 protocol PBackground; +include protocol PContent; +include protocol PContentBridge; + +namespace mozilla { +namespace ipc { + +// This is protocol is the opposite of PChildToParentStream. Please keep these +// protocols in sync. +protocol PParentToChildStream +{ + manager PBackground or PContent or PContentBridge; + +child: + async Buffer(nsCString aBuffer); + async Close(nsresult aRv); + +parent: + // The parent side has hit an error condition and has requested the child + // actor issue a Close() message. The close must be initiated by the child + // to avoid racing with an in-flight Buffer() message. + async RequestClose(nsresult aRv); + + // Stream is always destroyed from the parent side. This occurs if the + // parent encounters an error while writing to its pipe or if the child + // signals the stream should close by SendClose(). + async __delete__(); +}; + +} // namespace ipc +} // namespace mozilla diff --git a/ipc/glue/SendStream.h b/ipc/glue/SendStream.h deleted file mode 100644 index b9bee5dec22a..000000000000 --- a/ipc/glue/SendStream.h +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_ipc_SendStream_h -#define mozilla_ipc_SendStream_h - -#include "mozilla/AlreadyAddRefed.h" -#include "mozilla/ipc/PSendStreamChild.h" -#include "mozilla/ipc/PSendStreamParent.h" - -class nsIInputStream; -class nsIAsyncInputStream; - -namespace mozilla { - -namespace dom { -class nsIContentChild; -} // dom namespace - -namespace ipc { - -class PBackgroundChild; - -// The SendStream IPC actor is designed to push an nsIInputStream from child to -// parent incrementally. This is mainly needed for streams such as nsPipe that -// may not yet have all their data available when the stream must be sent across -// an IPC boundary. While many streams are handled by SerializeInputStream(), -// these streams cannot be serialized and must be sent using this actor. -// -// The SendStream actor only supports sending data from child to parent. -// -// The SendStream actor only support async, non-blocking streams because they -// must be read inline on the main thread and Worker threads. -// -// In general, the creation and handling of the SendStream actor cannot be -// abstracted away behind SerializeInputStream() because the actor must be -// carefully managed. Specifically: -// -// 1) The data flow must be explicitly initiated by calling -// SendStreamChild::Start() after the actor has been sent to the parent. -// 2) If the actor is never sent to the parent, then the child code must -// call SendStreamChild::StartDestroy() to avoid memory leaks. -// 3) The SendStreamChild actor can only be used on threads that can be -// guaranteed to stay alive as long as the actor is alive. Right now -// this limits SendStream to the main thread and Worker threads. -// -// In general you should probably use the AutoIPCStreamChild RAII class -// defined in InputStreamUtils.h instead of using SendStreamChild directly. -class SendStreamChild : public PSendStreamChild -{ -public: - // Create a SendStreamChild using a PContent IPC manager on the - // main thread. This can return nullptr if the provided stream is - // blocking. - static SendStreamChild* - Create(nsIAsyncInputStream* aInputStream, dom::nsIContentChild* aManager); - - // Create a SendStreamChild using a PBackground IPC manager on the - // main thread or a Worker thread. This can return nullptr if the provided - // stream is blocking or if the Worker thread is already shutting down. - static SendStreamChild* - Create(nsIAsyncInputStream* aInputStream, PBackgroundChild* aManager); - - // Start reading data from the nsIAsyncInputStream used to create the actor. - // This must be called after the actor is passed to the parent. If you - // use AutoIPCStream this is handled automatically. - virtual void - Start() = 0; - - // Start cleaning up the actor. This must be called if the actor is never - // sent to the parent. If you use AutoIPCStream this is handled - // automatically. - virtual void - StartDestroy() = 0; - -protected: - virtual - ~SendStreamChild() = 0; -}; - -// On the parent side, you must simply call TakeReader() upon receiving a -// reference to the SendStreamParent actor. You do not need to maintain a -// reference to the actor itself. -class SendStreamParent : public PSendStreamParent -{ -public: - virtual already_AddRefed - TakeReader() = 0; - -protected: - virtual - ~SendStreamParent() = 0; -}; - -} // namespace ipc -} // namespace mozilla - -#endif // mozilla_ipc_SendStream_h diff --git a/ipc/glue/SendStreamChild.cpp b/ipc/glue/SendStreamChild.cpp deleted file mode 100644 index 1c70c0528af0..000000000000 --- a/ipc/glue/SendStreamChild.cpp +++ /dev/null @@ -1,429 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "mozilla/ipc/SendStream.h" - -#include "mozilla/Unused.h" -#include "mozilla/dom/nsIContentChild.h" -#include "mozilla/dom/WorkerPrivate.h" -#include "mozilla/dom/workers/bindings/WorkerHolder.h" -#include "mozilla/ipc/PBackgroundChild.h" -#include "nsIAsyncInputStream.h" -#include "nsICancelableRunnable.h" -#include "nsIRunnable.h" -#include "nsIThread.h" -#include "nsStreamUtils.h" - -namespace mozilla { -namespace ipc { - -using mozilla::dom::nsIContentChild; -using mozilla::dom::workers::Canceling; -using mozilla::dom::workers::GetCurrentThreadWorkerPrivate; -using mozilla::dom::workers::Status; -using mozilla::dom::workers::WorkerHolder; -using mozilla::dom::workers::WorkerPrivate; - -namespace { - -class SendStreamChildImpl final : public SendStreamChild - , public WorkerHolder -{ -public: - explicit SendStreamChildImpl(nsIAsyncInputStream* aStream); - ~SendStreamChildImpl(); - - void Start() override; - void StartDestroy() override; - - bool - AddAsWorkerHolder(dom::workers::WorkerPrivate* aWorkerPrivate); - -private: - class Callback; - - // PSendStreamChild methods - virtual void - ActorDestroy(ActorDestroyReason aReason) override; - - virtual mozilla::ipc::IPCResult - RecvRequestClose(const nsresult& aRv) override; - - // WorkerHolder methods - virtual bool - Notify(Status aStatus) override; - - void DoRead(); - - void Wait(); - - void OnStreamReady(Callback* aCallback); - - void OnEnd(nsresult aRv); - - nsCOMPtr mStream; - RefPtr mCallback; - WorkerPrivate* mWorkerPrivate; - bool mClosed; - - NS_DECL_OWNINGTHREAD -}; - -class SendStreamChildImpl::Callback final : public nsIInputStreamCallback - , public nsIRunnable - , public nsICancelableRunnable -{ -public: - explicit Callback(SendStreamChildImpl* aActor) - : mActor(aActor) - , mOwningThread(NS_GetCurrentThread()) - { - MOZ_ASSERT(mActor); - } - - NS_IMETHOD - OnInputStreamReady(nsIAsyncInputStream* aStream) override - { - // any thread - if (mOwningThread == NS_GetCurrentThread()) { - return Run(); - } - - // If this fails, then it means the owning thread is a Worker that has - // been shutdown. Its ok to lose the event in this case because the - // SendStreamChild listens for this event through the WorkerHolder. - nsresult rv = mOwningThread->Dispatch(this, nsIThread::DISPATCH_NORMAL); - if (NS_FAILED(rv)) { - NS_WARNING("Failed to dispatch stream readable event to owning thread"); - } - - return NS_OK; - } - - NS_IMETHOD - Run() override - { - MOZ_ASSERT(mOwningThread == NS_GetCurrentThread()); - if (mActor) { - mActor->OnStreamReady(this); - } - return NS_OK; - } - - nsresult - Cancel() override - { - // Cancel() gets called when the Worker thread is being shutdown. We have - // nothing to do here because SendStreamChild handles this case via - // the WorkerHolder. - return NS_OK; - } - - void - ClearActor() - { - MOZ_ASSERT(mOwningThread == NS_GetCurrentThread()); - MOZ_ASSERT(mActor); - mActor = nullptr; - } - -private: - ~Callback() - { - // called on any thread - - // ClearActor() should be called before the Callback is destroyed - MOZ_ASSERT(!mActor); - } - - SendStreamChildImpl* mActor; - nsCOMPtr mOwningThread; - - NS_DECL_THREADSAFE_ISUPPORTS -}; - -NS_IMPL_ISUPPORTS(SendStreamChildImpl::Callback, nsIInputStreamCallback, - nsIRunnable, - nsICancelableRunnable); - -SendStreamChildImpl::SendStreamChildImpl(nsIAsyncInputStream* aStream) - : mStream(aStream) - , mWorkerPrivate(nullptr) - , mClosed(false) -{ - MOZ_ASSERT(mStream); -} - -SendStreamChildImpl::~SendStreamChildImpl() -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - MOZ_ASSERT(mClosed); - MOZ_ASSERT(!mCallback); - MOZ_ASSERT(!mWorkerPrivate); -} - -void -SendStreamChildImpl::Start() -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - MOZ_ASSERT_IF(!NS_IsMainThread(), mWorkerPrivate); - DoRead(); -} - -void -SendStreamChildImpl::StartDestroy() -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - OnEnd(NS_ERROR_ABORT); -} - -bool -SendStreamChildImpl::AddAsWorkerHolder(WorkerPrivate* aWorkerPrivate) -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - MOZ_ASSERT(aWorkerPrivate); - bool result = HoldWorker(aWorkerPrivate, Canceling); - if (result) { - mWorkerPrivate = aWorkerPrivate; - } - return result; -} - -void -SendStreamChildImpl::ActorDestroy(ActorDestroyReason aReason) -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - - // If the parent side runs into a problem it will ask the child to - // close the connection via RequestClose(). Therefore OnEnd() should - // always run before the actor is destroyed. - MOZ_ASSERT(mClosed); - - if (mCallback) { - mCallback->ClearActor(); - mCallback = nullptr; - } - - if (mWorkerPrivate) { - ReleaseWorker(); - mWorkerPrivate = nullptr; - } -} - -mozilla::ipc::IPCResult -SendStreamChildImpl::RecvRequestClose(const nsresult& aRv) -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - OnEnd(aRv); - return IPC_OK(); -} - -bool -SendStreamChildImpl::Notify(Status aStatus) -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - - // Keep the worker thread alive until the stream is finished. - return true; -} - -void -SendStreamChildImpl::DoRead() -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - MOZ_ASSERT(!mClosed); - MOZ_ASSERT(!mCallback); - - // The input stream (likely a pipe) probably uses a segment size of - // 4kb. If there is data already buffered it would be nice to aggregate - // multiple segments into a single IPC call. Conversely, don't send too - // too large of a buffer in a single call to avoid spiking memory. - static const uint64_t kMaxBytesPerMessage = 32 * 1024; - static_assert(kMaxBytesPerMessage <= static_cast(UINT32_MAX), - "kMaxBytesPerMessage must cleanly cast to uint32_t"); - - while (true) { - // It should not be possible to transition to closed state without - // this loop terminating via a return. - MOZ_ASSERT(!mClosed); - - // Use non-auto here as we're unlikely to hit stack storage with the - // sizes we are sending. Also, it would be nice to avoid another copy - // to the IPC layer which we avoid if we use COW strings. Unfortunately - // IPC does not seem to support passing dependent storage types. - nsCString buffer; - - uint64_t available = 0; - nsresult rv = mStream->Available(&available); - if (NS_FAILED(rv)) { - OnEnd(rv); - return; - } - - if (available == 0) { - Wait(); - return; - } - - uint32_t expectedBytes = - static_cast(std::min(available, kMaxBytesPerMessage)); - - buffer.SetLength(expectedBytes); - - uint32_t bytesRead = 0; - rv = mStream->Read(buffer.BeginWriting(), buffer.Length(), &bytesRead); - MOZ_ASSERT_IF(NS_FAILED(rv), bytesRead == 0); - buffer.SetLength(bytesRead); - - // If we read any data from the stream, send it across. - if (!buffer.IsEmpty()) { - Unused << SendBuffer(buffer); - } - - if (rv == NS_BASE_STREAM_WOULD_BLOCK) { - Wait(); - return; - } - - // Any other error or zero-byte read indicates end-of-stream - if (NS_FAILED(rv) || buffer.IsEmpty()) { - OnEnd(rv); - return; - } - } -} - -void -SendStreamChildImpl::Wait() -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - MOZ_ASSERT(!mClosed); - MOZ_ASSERT(!mCallback); - - // Set mCallback immediately instead of waiting for success. Its possible - // AsyncWait() will callback synchronously. - mCallback = new Callback(this); - nsresult rv = mStream->AsyncWait(mCallback, 0, 0, nullptr); - if (NS_FAILED(rv)) { - OnEnd(rv); - return; - } -} - -void -SendStreamChildImpl::OnStreamReady(Callback* aCallback) -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - MOZ_ASSERT(mCallback); - MOZ_ASSERT(aCallback == mCallback); - mCallback->ClearActor(); - mCallback = nullptr; - DoRead(); -} - -void -SendStreamChildImpl::OnEnd(nsresult aRv) -{ - NS_ASSERT_OWNINGTHREAD(SendStreamChild); - MOZ_ASSERT(aRv != NS_BASE_STREAM_WOULD_BLOCK); - - if (mClosed) { - return; - } - - mClosed = true; - - mStream->CloseWithStatus(aRv); - - if (aRv == NS_BASE_STREAM_CLOSED) { - aRv = NS_OK; - } - - // This will trigger an ActorDestroy() from the parent side - Unused << SendClose(aRv); -} - -bool -IsBlocking(nsIAsyncInputStream* aInputStream) -{ - bool nonBlocking = false; - MOZ_ALWAYS_TRUE(NS_SUCCEEDED(aInputStream->IsNonBlocking(&nonBlocking))); - return !nonBlocking; -} - -} // anonymous namespace - -// static -SendStreamChild* -SendStreamChild::Create(nsIAsyncInputStream* aInputStream, - nsIContentChild* aManager) -{ - MOZ_ASSERT(aInputStream); - MOZ_ASSERT(aManager); - - // PContent can only be used on the main thread - MOZ_ASSERT(NS_IsMainThread()); - - // SendStreamChild reads in the current thread, so it is only supported - // on non-blocking, async channels - if (NS_WARN_IF(IsBlocking(aInputStream))) { - return nullptr; - } - - SendStreamChild* actor = new SendStreamChildImpl(aInputStream); - aManager->SendPSendStreamConstructor(actor); - - return actor; -} - -// static -SendStreamChild* -SendStreamChild::Create(nsIAsyncInputStream* aInputStream, - PBackgroundChild* aManager) -{ - MOZ_ASSERT(aInputStream); - MOZ_ASSERT(aManager); - - // PBackground can be used on any thread, but we only support SendStream on - // main thread and Worker threads right now. This is due to the requirement - // that the thread be guaranteed to live long enough to receive messages - // sent from parent to child. We can enforce this guarantee with a feature - // on worker threads, but not other threads. - WorkerPrivate* workerPrivate = nullptr; - if (!NS_IsMainThread()) { - workerPrivate = GetCurrentThreadWorkerPrivate(); - MOZ_ASSERT(workerPrivate); - } - - // SendStreamChild reads in the current thread, so it is only supported - // on non-blocking, async channels - if (NS_WARN_IF(IsBlocking(aInputStream))) { - return nullptr; - } - - SendStreamChildImpl* actor = new SendStreamChildImpl(aInputStream); - - if (workerPrivate && !actor->AddAsWorkerHolder(workerPrivate)) { - delete actor; - return nullptr; - } - - aManager->SendPSendStreamConstructor(actor); - return actor; -} - -SendStreamChild::~SendStreamChild() -{ -} - -void -DeallocPSendStreamChild(PSendStreamChild* aActor) -{ - delete aActor; -} - -} // namespace ipc -} // namespace mozilla diff --git a/ipc/glue/SendStreamParent.cpp b/ipc/glue/SendStreamParent.cpp deleted file mode 100644 index 3c6f4bb99787..000000000000 --- a/ipc/glue/SendStreamParent.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "mozilla/ipc/SendStream.h" - -#include "mozilla/Unused.h" -#include "nsIAsyncInputStream.h" -#include "nsIAsyncOutputStream.h" -#include "nsIPipe.h" - -namespace mozilla { -namespace ipc { - -namespace { - -class SendStreamParentImpl final : public SendStreamParent -{ -public: - SendStreamParentImpl(nsIAsyncInputStream* aReader, - nsIAsyncOutputStream* aWriter); - ~SendStreamParentImpl(); - -private: - // PSendStreamParentImpl methods - virtual void - ActorDestroy(ActorDestroyReason aReason) override; - - // SendStreamparent methods - already_AddRefed - TakeReader() override; - - virtual mozilla::ipc::IPCResult - RecvBuffer(const nsCString& aBuffer) override; - - virtual mozilla::ipc::IPCResult - RecvClose(const nsresult& aRv) override; - - nsCOMPtr mReader; - nsCOMPtr mWriter; - - NS_DECL_OWNINGTHREAD -}; - -SendStreamParentImpl::~SendStreamParentImpl() -{ -} - -already_AddRefed -SendStreamParentImpl::TakeReader() -{ - MOZ_ASSERT(mReader); - return mReader.forget(); -} - -void -SendStreamParentImpl::ActorDestroy(ActorDestroyReason aReason) -{ - // If we were gracefully closed we should have gotten RecvClose(). In - // that case, the writer will already be closed and this will have no - // effect. This just aborts the writer in the case where the child process - // crashes. - mWriter->CloseWithStatus(NS_ERROR_ABORT); -} - -mozilla::ipc::IPCResult -SendStreamParentImpl::RecvBuffer(const nsCString& aBuffer) -{ - uint32_t numWritten = 0; - - // This should only fail if we hit an OOM condition. - nsresult rv = mWriter->Write(aBuffer.get(), aBuffer.Length(), &numWritten); - if (NS_WARN_IF(NS_FAILED(rv))) { - Unused << SendRequestClose(rv); - } - - return IPC_OK(); -} - -mozilla::ipc::IPCResult -SendStreamParentImpl::RecvClose(const nsresult& aRv) -{ - mWriter->CloseWithStatus(aRv); - Unused << Send__delete__(this); - return IPC_OK(); -} - -SendStreamParentImpl::SendStreamParentImpl(nsIAsyncInputStream* aReader, - nsIAsyncOutputStream* aWriter) - : mReader(aReader) - , mWriter(aWriter) -{ - MOZ_ASSERT(mReader); - MOZ_ASSERT(mWriter); -} - -} // anonymous namespace - -SendStreamParent::~SendStreamParent() -{ -} - -PSendStreamParent* -AllocPSendStreamParent() -{ - // use async versions for both reader and writer even though we are - // opening the writer as an infinite stream. We want to be able to - // use CloseWithStatus() to communicate errors through the pipe. - nsCOMPtr reader; - nsCOMPtr writer; - - // Use an "infinite" pipe because we cannot apply back-pressure through - // the async IPC layer at the moment. Blocking the IPC worker thread - // is not desirable, either. - nsresult rv = NS_NewPipe2(getter_AddRefs(reader), - getter_AddRefs(writer), - true, true, // non-blocking - 0, // segment size - UINT32_MAX); // "infinite" pipe - if (NS_WARN_IF(NS_FAILED(rv))) { - return nullptr; - } - - return new SendStreamParentImpl(reader, writer); -} - -void -DeallocPSendStreamParent(PSendStreamParent* aActor) -{ - delete aActor; -} - -} // namespace ipc -} // namespace mozilla diff --git a/ipc/glue/moz.build b/ipc/glue/moz.build index 42d342eaa69a..b9f54d4518d0 100644 --- a/ipc/glue/moz.build +++ b/ipc/glue/moz.build @@ -27,6 +27,9 @@ EXPORTS.mozilla.ipc += [ 'GeckoChildProcessHost.h', 'InputStreamUtils.h', 'IOThreadChild.h', + 'IPCStreamAlloc.h', + 'IPCStreamDestination.h', + 'IPCStreamSource.h', 'IPCStreamUtils.h', 'MessageChannel.h', 'MessageLink.h', @@ -34,8 +37,6 @@ EXPORTS.mozilla.ipc += [ 'ProcessChild.h', 'ProtocolUtils.h', 'ScopedXREEmbed.h', - 'SendStream.h', - 'SendStreamAlloc.h', 'SharedMemory.h', 'SharedMemoryBasic.h', 'Shmem.h', @@ -143,6 +144,10 @@ UNIFIED_SOURCES += [ 'FileDescriptorUtils.cpp', 'InputStreamUtils.cpp', 'IPCMessageUtils.cpp', + 'IPCStreamChild.cpp', + 'IPCStreamDestination.cpp', + 'IPCStreamParent.cpp', + 'IPCStreamSource.cpp', 'IPCStreamUtils.cpp', 'MessageChannel.cpp', 'MessageLink.cpp', @@ -150,8 +155,6 @@ UNIFIED_SOURCES += [ 'ProcessChild.cpp', 'ProtocolUtils.cpp', 'ScopedXREEmbed.cpp', - 'SendStreamChild.cpp', - 'SendStreamParent.cpp', 'SharedMemory.cpp', 'Shmem.cpp', 'StringUtil.cpp', @@ -189,9 +192,10 @@ IPDL_SOURCES = [ 'PBackground.ipdl', 'PBackgroundSharedTypes.ipdlh', 'PBackgroundTest.ipdl', + 'PChildToParentStream.ipdl', 'PFileDescriptorSet.ipdl', + 'PParentToChildStream.ipdl', 'ProtocolTypes.ipdlh', - 'PSendStream.ipdl', 'URIParams.ipdlh', ] diff --git a/js/src/builtin/TestingFunctions.cpp b/js/src/builtin/TestingFunctions.cpp index c6fb4137cbd5..126f7b445cd4 100644 --- a/js/src/builtin/TestingFunctions.cpp +++ b/js/src/builtin/TestingFunctions.cpp @@ -1275,7 +1275,10 @@ NewExternalString(JSContext* cx, unsigned argc, Value* vp) RootedString str(cx, args[0].toString()); size_t len = str->length(); - UniqueTwoByteChars buf(js_pod_malloc(len)); + UniqueTwoByteChars buf(cx->pod_malloc(len)); + if (!buf) + return false; + if (!JS_CopyStringChars(cx, mozilla::Range(buf.get(), len), str)) return false; diff --git a/js/src/jit-test/tests/basic/bug1344265.js b/js/src/jit-test/tests/basic/bug1344265.js new file mode 100644 index 000000000000..a4e5b1dc47a8 --- /dev/null +++ b/js/src/jit-test/tests/basic/bug1344265.js @@ -0,0 +1,5 @@ +// |jit-test| allow-unhandlable-oom; allow-oom +if (!('oomAfterAllocations' in this)) + quit(); +oomAfterAllocations(1); +newExternalString("a"); diff --git a/js/src/jit-test/tests/cacheir/bug1345707.js b/js/src/jit-test/tests/cacheir/bug1345707.js new file mode 100644 index 000000000000..616a5e365e7a --- /dev/null +++ b/js/src/jit-test/tests/cacheir/bug1345707.js @@ -0,0 +1,7 @@ +for (var i=0; i<10; i++) { + var o = {}; + if (i & 1) + Object.preventExtensions(o); + o[0] = i; + assertEq(0 in o, !(i & 1)); +} diff --git a/js/src/jit/BaselineCacheIRCompiler.cpp b/js/src/jit/BaselineCacheIRCompiler.cpp index 16c922016728..2663fcb38061 100644 --- a/js/src/jit/BaselineCacheIRCompiler.cpp +++ b/js/src/jit/BaselineCacheIRCompiler.cpp @@ -767,7 +767,7 @@ BaselineCacheIRCompiler::emitStoreSlotShared(bool isFixed) masm.storeValue(val, slot); } - BaselineEmitPostWriteBarrierSlot(masm, obj, val, scratch1, LiveGeneralRegisterSet(), cx_); + emitPostBarrierSlot(obj, val, scratch1); return true; } @@ -879,7 +879,7 @@ BaselineCacheIRCompiler::emitAddAndStoreSlotShared(CacheOp op) masm.storeValue(val, slot); } - BaselineEmitPostWriteBarrierSlot(masm, obj, val, scratch1, LiveGeneralRegisterSet(), cx_); + emitPostBarrierSlot(obj, val, scratch1); return true; } @@ -935,7 +935,7 @@ BaselineCacheIRCompiler::emitStoreUnboxedProperty() /* failure = */ nullptr); if (UnboxedTypeNeedsPostBarrier(fieldType)) - BaselineEmitPostWriteBarrierSlot(masm, obj, val, scratch, LiveGeneralRegisterSet(), cx_); + emitPostBarrierSlot(obj, val, scratch); return true; } @@ -972,7 +972,7 @@ BaselineCacheIRCompiler::emitStoreTypedObjectReferenceProperty() emitStoreTypedObjectReferenceProp(val, type, dest, scratch2); if (type != ReferenceTypeDescr::TYPE_STRING) - BaselineEmitPostWriteBarrierSlot(masm, obj, val, scratch1, LiveGeneralRegisterSet(), cx_); + emitPostBarrierSlot(obj, val, scratch1); return true; } @@ -1075,7 +1075,7 @@ BaselineCacheIRCompiler::emitStoreDenseElement() EmitPreBarrier(masm, element, MIRType::Value); masm.storeValue(val, element); - BaselineEmitPostWriteBarrierSlot(masm, obj, val, scratch, LiveGeneralRegisterSet(), cx_); + emitPostBarrierElement(obj, val, scratch, index); return true; } @@ -1212,7 +1212,7 @@ BaselineCacheIRCompiler::emitStoreDenseElementHole() masm.bind(&doStore); masm.storeValue(val, element); - BaselineEmitPostWriteBarrierSlot(masm, obj, val, scratch, LiveGeneralRegisterSet(), cx_); + emitPostBarrierElement(obj, val, scratch, index); return true; } @@ -1310,7 +1310,7 @@ BaselineCacheIRCompiler::emitStoreUnboxedArrayElement() /* failure = */ nullptr); if (UnboxedTypeNeedsPostBarrier(elementType)) - BaselineEmitPostWriteBarrierSlot(masm, obj, val, scratch, LiveGeneralRegisterSet(), cx_); + emitPostBarrierSlot(obj, val, scratch); return true; } @@ -1387,7 +1387,7 @@ BaselineCacheIRCompiler::emitStoreUnboxedArrayElementHole() /* failure = */ nullptr); if (UnboxedTypeNeedsPostBarrier(elementType)) - BaselineEmitPostWriteBarrierSlot(masm, obj, val, scratch, LiveGeneralRegisterSet(), cx_); + emitPostBarrierSlot(obj, val, scratch); return true; } diff --git a/js/src/jit/CacheIR.cpp b/js/src/jit/CacheIR.cpp index 194133783304..be13fe23f669 100644 --- a/js/src/jit/CacheIR.cpp +++ b/js/src/jit/CacheIR.cpp @@ -2469,9 +2469,12 @@ SetPropIRGenerator::tryAttachSetDenseElementHole(HandleObject obj, ObjOperandId return false; NativeObject* nobj = &obj->as(); - if (nobj->getElementsHeader()->isFrozen()) + if (!nobj->nonProxyIsExtensible()) return false; + MOZ_ASSERT(!nobj->getElementsHeader()->isFrozen(), + "Extensible objects should not have frozen elements"); + uint32_t initLength = nobj->getDenseInitializedLength(); // Optimize if we're adding an element at initLength or writing to a hole. diff --git a/js/src/jit/CacheIRCompiler.cpp b/js/src/jit/CacheIRCompiler.cpp index 68e9c304898a..b41b475e7f75 100644 --- a/js/src/jit/CacheIRCompiler.cpp +++ b/js/src/jit/CacheIRCompiler.cpp @@ -2113,6 +2113,54 @@ CacheIRCompiler::emitStoreTypedObjectReferenceProp(ValueOperand val, ReferenceTy } } +void +CacheIRCompiler::emitPostBarrierShared(Register obj, const ConstantOrRegister& val, + Register scratch, Register maybeIndex) +{ + if (!cx_->nursery().exists()) + return; + + if (val.constant()) { + MOZ_ASSERT_IF(val.value().isObject(), !IsInsideNursery(&val.value().toObject())); + return; + } + + TypedOrValueRegister reg = val.reg(); + if (reg.hasTyped() && reg.type() != MIRType::Object) + return; + + Label skipBarrier; + if (reg.hasValue()) { + masm.branchValueIsNurseryObject(Assembler::NotEqual, reg.valueReg(), scratch, + &skipBarrier); + } else { + masm.branchPtrInNurseryChunk(Assembler::NotEqual, reg.typedReg().gpr(), scratch, + &skipBarrier); + } + masm.branchPtrInNurseryChunk(Assembler::Equal, obj, scratch, &skipBarrier); + + // Call one of these, depending on maybeIndex: + // + // void PostWriteBarrier(JSRuntime* rt, JSObject* obj); + // void PostWriteElementBarrier(JSRuntime* rt, JSObject* obj, + // int32_t index); + LiveRegisterSet save(GeneralRegisterSet::Volatile(), liveVolatileFloatRegs()); + masm.PushRegsInMask(save); + masm.setupUnalignedABICall(scratch); + masm.movePtr(ImmPtr(cx_->runtime()), scratch); + masm.passABIArg(scratch); + masm.passABIArg(obj); + if (maybeIndex != InvalidReg) { + masm.passABIArg(maybeIndex); + masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, + (PostWriteElementBarrier))); + } else { + masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, PostWriteBarrier)); + } + masm.PopRegsInMask(save); + + masm.bind(&skipBarrier); +} bool CacheIRCompiler::emitWrapResult() diff --git a/js/src/jit/CacheIRCompiler.h b/js/src/jit/CacheIRCompiler.h index 58ea95ccc1d4..0c96f75337f2 100644 --- a/js/src/jit/CacheIRCompiler.h +++ b/js/src/jit/CacheIRCompiler.h @@ -582,6 +582,27 @@ class MOZ_RAII CacheIRCompiler void emitStoreTypedObjectReferenceProp(ValueOperand val, ReferenceTypeDescr::Type type, const Address& dest, Register scratch); + private: + void emitPostBarrierShared(Register obj, const ConstantOrRegister& val, Register scratch, + Register maybeIndex); + + void emitPostBarrierShared(Register obj, ValueOperand val, Register scratch, + Register maybeIndex) { + emitPostBarrierShared(obj, ConstantOrRegister(val), scratch, maybeIndex); + } + + protected: + template + void emitPostBarrierSlot(Register obj, const T& val, Register scratch) { + emitPostBarrierShared(obj, val, scratch, InvalidReg); + } + + template + void emitPostBarrierElement(Register obj, const T& val, Register scratch, Register index) { + MOZ_ASSERT(index != InvalidReg); + emitPostBarrierShared(obj, val, scratch, index); + } + #define DEFINE_SHARED_OP(op) MOZ_MUST_USE bool emit##op(); CACHE_IR_SHARED_OPS(DEFINE_SHARED_OP) #undef DEFINE_SHARED_OP diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp index ff117f1e070c..1144b2c32f2f 100644 --- a/js/src/jit/CodeGenerator.cpp +++ b/js/src/jit/CodeGenerator.cpp @@ -3856,7 +3856,7 @@ CodeGenerator::visitOutOfLineCallPostWriteElementBarrier(OutOfLineCallPostWriteE masm.passABIArg(runtimereg); masm.passABIArg(objreg); masm.passABIArg(indexreg); - masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, PostWriteElementBarrier)); + masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, (PostWriteElementBarrier))); restoreLiveVolatile(ool->lir()); @@ -10306,8 +10306,8 @@ CodeGenerator::addSetPropertyCache(LInstruction* ins, LiveRegisterSet liveRegs, Register temp, FloatRegister tempDouble, FloatRegister tempF32, const ConstantOrRegister& id, const ConstantOrRegister& value, - bool strict, bool needsTypeBarrier, bool guardHoles, - jsbytecode* profilerLeavePc) + bool strict, bool needsPostBarrier, bool needsTypeBarrier, + bool guardHoles, jsbytecode* profilerLeavePc) { CacheKind kind = CacheKind::SetElem; if (id.constant() && id.value().isString()) { @@ -10317,7 +10317,7 @@ CodeGenerator::addSetPropertyCache(LInstruction* ins, LiveRegisterSet liveRegs, kind = CacheKind::SetProp; } IonSetPropertyIC cache(kind, liveRegs, objReg, temp, tempDouble, tempF32, - id, value, strict, needsTypeBarrier, guardHoles); + id, value, strict, needsPostBarrier, needsTypeBarrier, guardHoles); addIC(ins, allocateIC(cache)); } @@ -10467,8 +10467,9 @@ CodeGenerator::visitSetPropertyCache(LSetPropertyCache* ins) toConstantOrRegister(ins, LSetPropertyCache::Value, ins->mir()->value()->type()); addSetPropertyCache(ins, liveRegs, objReg, temp, tempDouble, tempF32, - id, value, ins->mir()->strict(), ins->mir()->needsTypeBarrier(), - ins->mir()->guardHoles(), ins->mir()->profilerLeavePc()); + id, value, ins->mir()->strict(), ins->mir()->needsPostBarrier(), + ins->mir()->needsTypeBarrier(), ins->mir()->guardHoles(), + ins->mir()->profilerLeavePc()); } typedef bool (*ThrowFn)(JSContext*, HandleValue); diff --git a/js/src/jit/CodeGenerator.h b/js/src/jit/CodeGenerator.h index 87be9e7358b0..b684f3dd78d9 100644 --- a/js/src/jit/CodeGenerator.h +++ b/js/src/jit/CodeGenerator.h @@ -464,8 +464,8 @@ class CodeGenerator final : public CodeGeneratorSpecific Register temp, FloatRegister tempDouble, FloatRegister tempF32, const ConstantOrRegister& id, const ConstantOrRegister& value, - bool strict, bool needsTypeBarrier, bool guardHoles, - jsbytecode* profilerLeavePc); + bool strict, bool needsPostBarrier, bool needsTypeBarrier, + bool guardHoles, jsbytecode* profilerLeavePc); MOZ_MUST_USE bool generateBranchV(const ValueOperand& value, Label* ifTrue, Label* ifFalse, FloatRegister fr); diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp index 4edf47804818..789c520b4a71 100644 --- a/js/src/jit/IonBuilder.cpp +++ b/js/src/jit/IonBuilder.cpp @@ -7231,9 +7231,9 @@ IonBuilder::setStaticName(JSObject* staticObject, PropertyName* name) if (knownType != MIRType::Value) slotType = knownType; - bool needsBarrier = property.needsBarrier(constraints()); + bool needsPreBarrier = property.needsBarrier(constraints()); return storeSlot(obj, property.maybeTypes()->definiteSlot(), NumFixedSlots(staticObject), - value, needsBarrier, slotType); + value, needsPreBarrier, slotType); } JSObject* @@ -9022,17 +9022,11 @@ IonBuilder::initOrSetElemTryCache(bool* emitted, MDefinition* object, bool checkNative = !clasp || !clasp->isNative(); object = addMaybeCopyElementsForWrite(object, checkNative); - if (NeedsPostBarrier(value)) { - if (indexIsInt32) - current->add(MPostWriteElementBarrier::New(alloc(), object, value, index)); - else - current->add(MPostWriteBarrier::New(alloc(), object, value)); - } - // Emit SetPropertyCache. bool strict = JSOp(*pc) == JSOP_STRICTSETELEM; MSetPropertyCache* ins = - MSetPropertyCache::New(alloc(), object, index, value, strict, barrier, guardHoles); + MSetPropertyCache::New(alloc(), object, index, value, strict, NeedsPostBarrier(value), + barrier, guardHoles); current->add(ins); if (IsPropertyInitOp(JSOp(*pc))) @@ -11285,11 +11279,6 @@ IonBuilder::jsop_setprop(PropertyName* name) return Ok(); } - // Add post barrier if needed. The instructions above manage any post - // barriers they need directly. - if (NeedsPostBarrier(value)) - current->add(MPostWriteBarrier::New(alloc(), obj, value)); - if (!forceInlineCaches()) { // Try to emit store from definite slots. trackOptimizationAttempt(TrackedStrategy::SetProp_DefiniteSlot); @@ -11574,6 +11563,9 @@ IonBuilder::setPropTryDefiniteSlot(bool* emitted, MDefinition* obj, writeBarrier |= property.needsBarrier(constraints()); } + if (NeedsPostBarrier(value)) + current->add(MPostWriteBarrier::New(alloc(), obj, value)); + MInstruction* store; if (slot < nfixed) { store = MStoreFixedSlot::New(alloc(), obj, slot, value); @@ -11723,8 +11715,11 @@ IonBuilder::setPropTryInlineAccess(bool* emitted, MDefinition* obj, Shape* shape = receivers[0].shape->searchLinear(NameToId(name)); MOZ_ASSERT(shape); - bool needsBarrier = objTypes->propertyNeedsBarrier(constraints(), NameToId(name)); - MOZ_TRY(storeSlot(obj, shape, value, needsBarrier)); + if (NeedsPostBarrier(value)) + current->add(MPostWriteBarrier::New(alloc(), obj, value)); + + bool needsPreBarrier = objTypes->propertyNeedsBarrier(constraints(), NameToId(name)); + MOZ_TRY(storeSlot(obj, shape, value, needsPreBarrier)); trackOptimizationOutcome(TrackedOutcome::Monomorphic); *emitted = true; @@ -11746,8 +11741,11 @@ IonBuilder::setPropTryInlineAccess(bool* emitted, MDefinition* obj, Shape* shape = receivers[0].shape->searchLinear(NameToId(name)); MOZ_ASSERT(shape); - bool needsBarrier = objTypes->propertyNeedsBarrier(constraints(), NameToId(name)); - MOZ_TRY(storeSlot(expando, shape, value, needsBarrier)); + if (NeedsPostBarrier(value)) + current->add(MPostWriteBarrier::New(alloc(), obj, value)); + + bool needsPreBarrier = objTypes->propertyNeedsBarrier(constraints(), NameToId(name)); + MOZ_TRY(storeSlot(expando, shape, value, needsPreBarrier)); trackOptimizationOutcome(TrackedOutcome::Monomorphic); *emitted = true; @@ -11763,6 +11761,9 @@ IonBuilder::setPropTryInlineAccess(bool* emitted, MDefinition* obj, obj = addGroupGuard(obj, group, Bailout_ShapeGuard); + if (NeedsPostBarrier(value)) + current->add(MPostWriteBarrier::New(alloc(), obj, value)); + const UnboxedLayout::Property* property = group->unboxedLayout().lookup(name); storeUnboxedProperty(obj, property->offset, property->type, value); @@ -11781,14 +11782,20 @@ IonBuilder::setPropTryInlineAccess(bool* emitted, MDefinition* obj, if (!obj) return abort(AbortReason::Alloc); - bool needsBarrier = objTypes->propertyNeedsBarrier(constraints(), NameToId(name)); - MOZ_TRY(storeSlot(obj, propShape, value, needsBarrier)); + if (NeedsPostBarrier(value)) + current->add(MPostWriteBarrier::New(alloc(), obj, value)); + + bool needsPreBarrier = objTypes->propertyNeedsBarrier(constraints(), NameToId(name)); + MOZ_TRY(storeSlot(obj, propShape, value, needsPreBarrier)); trackOptimizationOutcome(TrackedOutcome::Polymorphic); *emitted = true; return Ok(); } + if (NeedsPostBarrier(value)) + current->add(MPostWriteBarrier::New(alloc(), obj, value)); + MSetPropertyPolymorphic* ins = MSetPropertyPolymorphic::New(alloc(), obj, value, name); current->add(ins); current->push(value); @@ -11823,7 +11830,8 @@ IonBuilder::setPropTryCache(bool* emitted, MDefinition* obj, bool strict = IsStrictSetPC(pc); MConstant* id = constant(StringValue(name)); - MSetPropertyCache* ins = MSetPropertyCache::New(alloc(), obj, id, value, strict, barrier, + MSetPropertyCache* ins = MSetPropertyCache::New(alloc(), obj, id, value, strict, + NeedsPostBarrier(value), barrier, /* guardHoles = */ false); current->add(ins); current->push(value); diff --git a/js/src/jit/IonCacheIRCompiler.cpp b/js/src/jit/IonCacheIRCompiler.cpp index e8e47975dbbc..0ec9b84ff600 100644 --- a/js/src/jit/IonCacheIRCompiler.cpp +++ b/js/src/jit/IonCacheIRCompiler.cpp @@ -133,6 +133,10 @@ class MOZ_RAII IonCacheIRCompiler : public CacheIRCompiler MOZ_MUST_USE bool emitAddAndStoreSlotShared(CacheOp op); + bool needsPostBarrier() const { + return ic_->asSetPropertyIC()->needsPostBarrier(); + } + void pushStubCodePointer() { stubJitCodeOffset_.emplace(masm.PushWithPatch(ImmPtr((void*)-1))); } @@ -1024,6 +1028,10 @@ IonCacheIRCompiler::emitStoreFixedSlot() int32_t offset = int32StubField(reader.stubOffset()); ConstantOrRegister val = allocator.useConstantOrRegister(masm, reader.valOperandId()); + Maybe scratch; + if (needsPostBarrier()) + scratch.emplace(allocator, masm); + if (typeCheckInfo_->isSet()) { FailurePath* failure; if (!addFailurePath(&failure)) @@ -1035,6 +1043,8 @@ IonCacheIRCompiler::emitStoreFixedSlot() Address slot(obj, offset); EmitPreBarrier(masm, slot, MIRType::Value); masm.storeConstantOrRegister(val, slot); + if (needsPostBarrier()) + emitPostBarrierSlot(obj, val, scratch.ref()); return true; } @@ -1058,6 +1068,8 @@ IonCacheIRCompiler::emitStoreDynamicSlot() Address slot(scratch, offset); EmitPreBarrier(masm, slot, MIRType::Value); masm.storeConstantOrRegister(val, slot); + if (needsPostBarrier()) + emitPostBarrierSlot(obj, val, scratch); return true; } @@ -1146,6 +1158,9 @@ IonCacheIRCompiler::emitAddAndStoreSlotShared(CacheOp op) masm.storeConstantOrRegister(val, slot); } + if (needsPostBarrier()) + emitPostBarrierSlot(obj, val, scratch1); + return true; } @@ -1175,6 +1190,10 @@ IonCacheIRCompiler::emitStoreUnboxedProperty() int32_t offset = int32StubField(reader.stubOffset()); ConstantOrRegister val = allocator.useConstantOrRegister(masm, reader.valOperandId()); + Maybe scratch; + if (needsPostBarrier() && UnboxedTypeNeedsPostBarrier(fieldType)) + scratch.emplace(allocator, masm); + if (fieldType == JSVAL_TYPE_OBJECT && typeCheckInfo_->isSet()) { FailurePath* failure; if (!addFailurePath(&failure)) @@ -1187,6 +1206,8 @@ IonCacheIRCompiler::emitStoreUnboxedProperty() Address fieldAddr(obj, offset); EmitICUnboxedPreBarrier(masm, fieldAddr, fieldType); masm.storeUnboxedProperty(fieldAddr, fieldType, val, /* failure = */ nullptr); + if (needsPostBarrier() && UnboxedTypeNeedsPostBarrier(fieldType)) + emitPostBarrierSlot(obj, val, scratch.ref()); return true; } @@ -1218,6 +1239,9 @@ IonCacheIRCompiler::emitStoreTypedObjectReferenceProperty() Address dest(scratch1, offset); emitStoreTypedObjectReferenceProp(val, type, dest, scratch2); + + if (needsPostBarrier() && type != ReferenceTypeDescr::TYPE_STRING) + emitPostBarrierSlot(obj, val, scratch1); return true; } @@ -1272,6 +1296,8 @@ IonCacheIRCompiler::emitStoreDenseElement() EmitPreBarrier(masm, element, MIRType::Value); EmitIonStoreDenseElement(masm, val, scratch, element); + if (needsPostBarrier()) + emitPostBarrierElement(obj, val, scratch, index); return true; } @@ -1356,6 +1382,8 @@ IonCacheIRCompiler::emitStoreDenseElementHole() masm.bind(&doStore); EmitIonStoreDenseElement(masm, val, scratch, element); + if (needsPostBarrier()) + emitPostBarrierElement(obj, val, scratch, index); return true; } diff --git a/js/src/jit/IonIC.h b/js/src/jit/IonIC.h index ecc5e3611774..07420f7beaed 100644 --- a/js/src/jit/IonIC.h +++ b/js/src/jit/IonIC.h @@ -214,6 +214,7 @@ class IonSetPropertyIC : public IonIC ConstantOrRegister id_; ConstantOrRegister rhs_; bool strict_ : 1; + bool needsPostBarrier_ : 1; bool needsTypeBarrier_ : 1; bool guardHoles_ : 1; @@ -221,7 +222,7 @@ class IonSetPropertyIC : public IonIC IonSetPropertyIC(CacheKind kind, LiveRegisterSet liveRegs, Register object, Register temp, FloatRegister maybeTempDouble, FloatRegister maybeTempFloat32, const ConstantOrRegister& id, const ConstantOrRegister& rhs, bool strict, - bool needsTypeBarrier, bool guardHoles) + bool needsPostBarrier, bool needsTypeBarrier, bool guardHoles) : IonIC(kind), liveRegs_(liveRegs), object_(object), @@ -231,6 +232,7 @@ class IonSetPropertyIC : public IonIC id_(id), rhs_(rhs), strict_(strict), + needsPostBarrier_(needsPostBarrier), needsTypeBarrier_(needsTypeBarrier), guardHoles_(guardHoles) { } @@ -245,6 +247,7 @@ class IonSetPropertyIC : public IonIC FloatRegister maybeTempFloat32() const { return maybeTempFloat32_; } bool strict() const { return strict_; } + bool needsPostBarrier() const { return needsPostBarrier_; } bool needsTypeBarrier() const { return needsTypeBarrier_; } bool guardHoles() const { return guardHoles_; } diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index c5de6e1382c9..a5447ba6247f 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -11835,13 +11835,15 @@ class MSetPropertyCache public Mix3Policy, NoFloatPolicy<2>>::Data { bool strict_ : 1; + bool needsPostBarrier_ : 1; bool needsTypeBarrier_ : 1; bool guardHoles_ : 1; MSetPropertyCache(MDefinition* obj, MDefinition* id, MDefinition* value, bool strict, - bool typeBarrier, bool guardHoles) + bool needsPostBarrier, bool typeBarrier, bool guardHoles) : MTernaryInstruction(obj, id, value), strict_(strict), + needsPostBarrier_(needsPostBarrier), needsTypeBarrier_(typeBarrier), guardHoles_(guardHoles) { @@ -11852,6 +11854,9 @@ class MSetPropertyCache TRIVIAL_NEW_WRAPPERS NAMED_OPERANDS((0, object), (1, idval), (2, value)) + bool needsPostBarrier() const { + return needsPostBarrier_; + } bool needsTypeBarrier() const { return needsTypeBarrier_; } diff --git a/js/src/jit/SharedIC.cpp b/js/src/jit/SharedIC.cpp index 1e183cb031a6..3f1b437ff6c8 100644 --- a/js/src/jit/SharedIC.cpp +++ b/js/src/jit/SharedIC.cpp @@ -613,34 +613,6 @@ ICStubCompiler::PushStubPayload(MacroAssembler& masm, Register scratch) masm.adjustFrame(sizeof(intptr_t)); } -void -BaselineEmitPostWriteBarrierSlot(MacroAssembler& masm, Register obj, ValueOperand val, - Register scratch, LiveGeneralRegisterSet saveRegs, - JSContext* cx) -{ - if (!cx->nursery().exists()) - return; - - Label skipBarrier; - masm.branchPtrInNurseryChunk(Assembler::Equal, obj, scratch, &skipBarrier); - masm.branchValueIsNurseryObject(Assembler::NotEqual, val, scratch, &skipBarrier); - - // void PostWriteBarrier(JSRuntime* rt, JSObject* obj); -#if defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64) - saveRegs.add(ICTailCallReg); -#endif - saveRegs.set() = GeneralRegisterSet::Intersect(saveRegs.set(), GeneralRegisterSet::Volatile()); - masm.PushRegsInMask(saveRegs); - masm.setupUnalignedABICall(scratch); - masm.movePtr(ImmPtr(cx->runtime()), scratch); - masm.passABIArg(scratch); - masm.passABIArg(obj); - masm.callWithABI(JS_FUNC_TO_DATA_PTR(void*, PostWriteBarrier)); - masm.PopRegsInMask(saveRegs); - - masm.bind(&skipBarrier); -} - SharedStubInfo::SharedStubInfo(JSContext* cx, void* payload, ICEntry* icEntry) : maybeFrame_(nullptr), outerScript_(cx), diff --git a/js/src/jit/SharedIC.h b/js/src/jit/SharedIC.h index f62a8c70ada3..9ca6e386f20b 100644 --- a/js/src/jit/SharedIC.h +++ b/js/src/jit/SharedIC.h @@ -1140,10 +1140,6 @@ class ICStubCompiler } }; -void BaselineEmitPostWriteBarrierSlot(MacroAssembler& masm, Register obj, ValueOperand val, - Register scratch, LiveGeneralRegisterSet saveRegs, - JSContext* cx); - class SharedStubInfo { BaselineFrame* maybeFrame_; diff --git a/js/src/jit/VMFunctions.cpp b/js/src/jit/VMFunctions.cpp index 2d0b6524e684..a850d9cc2af9 100644 --- a/js/src/jit/VMFunctions.cpp +++ b/js/src/jit/VMFunctions.cpp @@ -660,32 +660,55 @@ GetDynamicName(JSContext* cx, JSObject* envChain, JSString* str, Value* vp) void PostWriteBarrier(JSRuntime* rt, JSObject* obj) { + JS::AutoCheckCannotGC nogc; MOZ_ASSERT(!IsInsideNursery(obj)); - obj->zone()->group()->storeBuffer().putWholeCell(obj); + rt->gc.storeBuffer().putWholeCell(obj); } static const size_t MAX_WHOLE_CELL_BUFFER_SIZE = 4096; +template void PostWriteElementBarrier(JSRuntime* rt, JSObject* obj, int32_t index) { + JS::AutoCheckCannotGC nogc; + MOZ_ASSERT(!IsInsideNursery(obj)); - if (obj->is() && - !obj->as().isInWholeCellBuffer() && - uint32_t(index) < obj->as().getDenseInitializedLength() && - (obj->as().getDenseInitializedLength() > MAX_WHOLE_CELL_BUFFER_SIZE + + if (InBounds == IndexInBounds::Yes) { + MOZ_ASSERT(uint32_t(index) < obj->as().getDenseInitializedLength()); + } else { + if (MOZ_UNLIKELY(!obj->is()) || + uint32_t(index) >= obj->as().getDenseInitializedLength()) + { + rt->gc.storeBuffer().putWholeCell(obj); + return; + } + } + + NativeObject* nobj = &obj->as(); + if (nobj->isInWholeCellBuffer()) + return; + + if (nobj->getDenseInitializedLength() > MAX_WHOLE_CELL_BUFFER_SIZE #ifdef JS_GC_ZEAL || rt->hasZealMode(gc::ZealMode::ElementsBarrier) #endif - )) + ) { - obj->zone()->group()->storeBuffer().putSlot(&obj->as(), HeapSlot::Element, index, 1); + rt->gc.storeBuffer().putSlot(nobj, HeapSlot::Element, index, 1); return; } - obj->zone()->group()->storeBuffer().putWholeCell(obj); + rt->gc.storeBuffer().putWholeCell(obj); } +template void +PostWriteElementBarrier(JSRuntime* rt, JSObject* obj, int32_t index); + +template void +PostWriteElementBarrier(JSRuntime* rt, JSObject* obj, int32_t index); + void PostGlobalWriteBarrier(JSRuntime* rt, JSObject* obj) { diff --git a/js/src/jit/VMFunctions.h b/js/src/jit/VMFunctions.h index 8abe90cab2ee..1b3b879b2e65 100644 --- a/js/src/jit/VMFunctions.h +++ b/js/src/jit/VMFunctions.h @@ -674,9 +674,13 @@ CreateThis(JSContext* cx, HandleObject callee, HandleObject newTarget, MutableHa void GetDynamicName(JSContext* cx, JSObject* scopeChain, JSString* str, Value* vp); void PostWriteBarrier(JSRuntime* rt, JSObject* obj); -void PostWriteElementBarrier(JSRuntime* rt, JSObject* obj, int32_t index); void PostGlobalWriteBarrier(JSRuntime* rt, JSObject* obj); +enum class IndexInBounds { Yes, Maybe }; + +template +void PostWriteElementBarrier(JSRuntime* rt, JSObject* obj, int32_t index); + // If |str| is an index in the range [0, INT32_MAX], return it. If the string // is not an index in this range, return -1. int32_t GetIndexFromString(JSString* str); diff --git a/js/xpconnect/shell/moz.build b/js/xpconnect/shell/moz.build index 1ccbb24d4ac6..c382196f5673 100644 --- a/js/xpconnect/shell/moz.build +++ b/js/xpconnect/shell/moz.build @@ -50,6 +50,9 @@ if CONFIG['OS_ARCH'] == 'WINNT': 'xul.dll', ] +if CONFIG['OS_TARGET'] == 'Android': + LDFLAGS += ['-pie'] + CFLAGS += CONFIG['TK_CFLAGS'] CXXFLAGS += CONFIG['TK_CFLAGS'] OS_LIBS += CONFIG['TK_LIBS'] diff --git a/layout/generic/crashtests/489647-1.html b/layout/generic/crashtests/489647-1.html new file mode 100644 index 000000000000..aa048d364b62 --- /dev/null +++ b/layout/generic/crashtests/489647-1.html @@ -0,0 +1,13 @@ + Bug 489647 - New 1.9.0.9 topcrash [@nsTextFrame::ClearTextRun()] + +
+m
+ + + \ No newline at end of file diff --git a/layout/generic/crashtests/883514-1.html b/layout/generic/crashtests/883514-1.html new file mode 100644 index 000000000000..05ea0cad0d05 --- /dev/null +++ b/layout/generic/crashtests/883514-1.html @@ -0,0 +1,18 @@ + + +
+
    +
  • +
    + +
    + +
    +
  • +
  • +
    + + + diff --git a/layout/generic/crashtests/883514-2.html b/layout/generic/crashtests/883514-2.html new file mode 100644 index 000000000000..a5172360d9f0 --- /dev/null +++ b/layout/generic/crashtests/883514-2.html @@ -0,0 +1,15 @@ + + +
      +
    • +
      + +
      + +
      +
    • +
    • +
      + diff --git a/layout/generic/crashtests/crashtests.list b/layout/generic/crashtests/crashtests.list index 26724b160104..4538ff00289d 100644 --- a/layout/generic/crashtests/crashtests.list +++ b/layout/generic/crashtests/crashtests.list @@ -351,6 +351,7 @@ load 481921.html load 489462-1.html load 489477.html asserts-if(stylo,7) load 489480-1.xhtml # bug 1330260 +load 489647-1.html load 493111-1.html load 493118-1.html load 493649.html @@ -546,6 +547,8 @@ load 866547-1.html needs-focus pref(accessibility.browsewithcaret,true) load 868906.html asserts(0-5) load 876074-1.html # bug 876749 load 876155.html +load 883514-1.html +load 883514-2.html load 885009-1.html load 893496-1.html load 893523.html diff --git a/layout/tables/crashtests/980223.html b/layout/tables/crashtests/980223.html new file mode 100644 index 000000000000..b29a9aea5c97 --- /dev/null +++ b/layout/tables/crashtests/980223.html @@ -0,0 +1,22 @@ + + + +#980223 testcase + + + + + + + + +
      Test table cell
      + + + + + diff --git a/layout/tables/crashtests/crashtests.list b/layout/tables/crashtests/crashtests.list index d2d8e710a09e..5a478b9901fb 100644 --- a/layout/tables/crashtests/crashtests.list +++ b/layout/tables/crashtests/crashtests.list @@ -151,6 +151,7 @@ load 711864-1.html asserts-if(gtkWidget&&browserIsRemote,5) load 759249-1.html # Bug 1195474 load 759249-2.html load 814713.html +load 980223.html load 1027611-1.html load 1031934.html load 1183896.html diff --git a/mobile/android/mach_commands.py b/mobile/android/mach_commands.py index 17628ad9fb5a..458fe9712801 100644 --- a/mobile/android/mach_commands.py +++ b/mobile/android/mach_commands.py @@ -103,8 +103,8 @@ class AndroidEmulatorCommands(MachCommandBase): @Command('android-emulator', category='devenv', conditions=[], description='Run the Android emulator with an AVD from test automation.') - @CommandArgument('--version', metavar='VERSION', choices=['4.3', '6.0', 'x86'], - help='Specify Android version to run in emulator. One of "4.3", "6.0", or "x86".', + @CommandArgument('--version', metavar='VERSION', choices=['4.3', '6.0', 'x86', 'x86-6.0'], + help='Specify Android version to run in emulator. One of "4.3", "6.0", "x86", or "x86-6.0".', default='4.3') @CommandArgument('--wait', action='store_true', help='Wait for emulator to be closed.') diff --git a/netwerk/base/nsProtocolProxyService.cpp b/netwerk/base/nsProtocolProxyService.cpp index da66e6ddbba1..15adecdd3e93 100644 --- a/netwerk/base/nsProtocolProxyService.cpp +++ b/netwerk/base/nsProtocolProxyService.cpp @@ -643,9 +643,10 @@ nsProtocolProxyService::PrefsChanged(nsIPrefBranch *prefBranch, mFailedProxyTimeout); if (!pref || !strcmp(pref, PROXY_PREF("no_proxies_on"))) { - nsCString no_proxies; - proxy_GetStringPref(prefBranch, PROXY_PREF("no_proxies_on"), no_proxies); - LoadHostFilters(no_proxies.get()); + rv = prefBranch->GetCharPref(PROXY_PREF("no_proxies_on"), + getter_Copies(tempString)); + if (NS_SUCCEEDED(rv)) + LoadHostFilters(tempString.get()); } // We're done if not using something that could give us a PAC URL diff --git a/netwerk/ipc/NeckoChannelParams.ipdlh b/netwerk/ipc/NeckoChannelParams.ipdlh index 46cc41581070..ce674743534e 100644 --- a/netwerk/ipc/NeckoChannelParams.ipdlh +++ b/netwerk/ipc/NeckoChannelParams.ipdlh @@ -8,7 +8,7 @@ include protocol PHttpChannel; include protocol PFTPChannel; include protocol PRtspChannel; -include protocol PSendStream; +include protocol PChildToParentStream; include BlobTypes; include URIParams; include IPCStream; diff --git a/netwerk/ipc/PNecko.ipdl b/netwerk/ipc/PNecko.ipdl index 4583febf598b..aed69565e080 100644 --- a/netwerk/ipc/PNecko.ipdl +++ b/netwerk/ipc/PNecko.ipdl @@ -22,7 +22,8 @@ include protocol PBlob; //FIXME: bug #792908 include protocol PFileDescriptorSet; include protocol PDataChannel; include protocol PTransportProvider; -include protocol PSendStream; +include protocol PChildToParentStream; //FIXME: bug #792908 +include protocol PParentToChildStream; //FIXME: bug #792908 include protocol PRtspController; include protocol PRtspChannel; @@ -145,7 +146,7 @@ child: both: // Actually we need PTCPSocket() for parent. But ipdl disallows us having different - // signatures on parent and child. So when constructing the parent side object, we just + // signatures on parent and child. So when constructing the parent side object, we just // leave host/port unused. async PTCPSocket(nsString host, uint16_t port); }; diff --git a/netwerk/protocol/http/HttpChannelParent.cpp b/netwerk/protocol/http/HttpChannelParent.cpp index 056ae6dca92e..ddba4f503d7f 100644 --- a/netwerk/protocol/http/HttpChannelParent.cpp +++ b/netwerk/protocol/http/HttpChannelParent.cpp @@ -440,7 +440,7 @@ HttpChannelParent::DoAsyncOpen( const URIParams& aURI, if (!completeStream) { delayAsyncOpen = true; - // buffer size matches PSendStream transfer size. + // buffer size matches PChildToParentStream transfer size. const uint32_t kBufferSize = 32768; nsCOMPtr storageStream; diff --git a/netwerk/protocol/websocket/PWebSocket.ipdl b/netwerk/protocol/websocket/PWebSocket.ipdl index bd4fc29d0cdf..73919e1e0787 100644 --- a/netwerk/protocol/websocket/PWebSocket.ipdl +++ b/netwerk/protocol/websocket/PWebSocket.ipdl @@ -14,7 +14,8 @@ include NeckoChannelParams; include protocol PBlob; //FIXME: bug #792908 include protocol PFileDescriptorSet; //FIXME: bug #792908 -include protocol PSendStream; //FIXME: bug #792908 +include protocol PChildToParentStream; //FIXME: bug #792908 +include protocol PParentToChildStream; //FIXME: bug #792908 using class IPC::SerializedLoadContext from "SerializedLoadContext.h"; using struct mozilla::void_t from "ipc/IPCMessageUtils.h"; diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index dca4e68856d4..e602d30db20c 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1157,4 +1157,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1497882977923000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1497971135298000); diff --git a/security/manager/ssl/nsSTSPreloadList.errors b/security/manager/ssl/nsSTSPreloadList.errors index 1d40c5310960..a89fefb904fe 100644 --- a/security/manager/ssl/nsSTSPreloadList.errors +++ b/security/manager/ssl/nsSTSPreloadList.errors @@ -19,7 +19,7 @@ 123plons.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] 123test.de: did not receive HSTS header 126ium.moe: could not connect to host -127011-networks.ch: could not connect to host +127011-networks.ch: did not receive HSTS header 12vpnchina.com: could not connect to host 16packets.com: could not connect to host 1a-jva.de: did not receive HSTS header @@ -27,9 +27,9 @@ 1k8b.com: could not connect to host 1password.com: did not receive HSTS header 1xcess.com: did not receive HSTS header -1years.cc: did not receive HSTS header 206rc.net: max-age too low: 2592000 247loan.com: max-age too low: 0 +24hourpaint.com: could not connect to host 25daysof.io: could not connect to host 263.info: could not connect to host 2859cc.com: could not connect to host @@ -53,6 +53,7 @@ 3yearloans.com: max-age too low: 0 404.sh: max-age too low: 0 42ms.org: could not connect to host +441jj.com: did not receive HSTS header 4455software.com: did not receive HSTS header 4679.space: could not connect to host 47ronin.com: did not receive HSTS header @@ -69,7 +70,6 @@ 56ct.com: could not connect to host 60ych.net: did not receive HSTS header 6120.eu: did not receive HSTS header -692b8c32.de: could not connect to host 69square.com: could not connect to host 7kovrikov.ru: did not receive HSTS header 808.lv: did not receive HSTS header @@ -87,6 +87,7 @@ aaeblog.net: did not receive HSTS header aaeblog.org: did not receive HSTS header aapp.space: could not connect to host aaron-gustafson.com: did not receive HSTS header +aati.info: did not receive HSTS header abearofsoap.com: could not connect to host abecodes.net: did not receive HSTS header abeestrada.com: did not receive HSTS header @@ -189,13 +190,13 @@ alethearose.com: did not receive HSTS header alexandre.sh: did not receive HSTS header alexisabarca.com: did not receive HSTS header alexsergeyev.com: could not connect to host +alexvetter.de: did not receive HSTS header alfa24.pro: could not connect to host -algarmatic-automatismos.pt: could not connect to host alittlebitcheeky.com: did not receive HSTS header aljaspod.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] alkami.com: did not receive HSTS header -all-subtitles.com: could not connect to host -all.tf: did not receive HSTS header +all-subtitles.com: did not receive HSTS header +all.tf: could not connect to host alldaymonitoring.com: could not connect to host allforyou.at: could not connect to host allinnote.com: could not connect to host @@ -363,7 +364,6 @@ aucubin.moe: could not connect to host audiovisualdevices.com.au: did not receive HSTS header aufmerksamkeitsstudie.com: could not connect to host aujapan.ru: could not connect to host -aunali1.com: could not connect to host aurainfosec.com: did not receive HSTS header aurainfosec.com.au: could not connect to host auraredeye.com: did not receive HSTS header @@ -371,7 +371,6 @@ auraredshield.com: did not receive HSTS header auroratownshipfd.org: could not connect to host ausnah.me: could not connect to host ausoptic.com.au: max-age too low: 2592000 -aussiehq.com.au: could not connect to host auth.mail.ru: did not receive HSTS header authentication.io: could not connect to host authoritynutrition.com: did not receive HSTS header @@ -399,6 +398,7 @@ axado.com.br: did not receive HSTS header axeny.com: did not receive HSTS header axg.io: could not connect to host az.search.yahoo.com: did not receive HSTS header +azazy.net: max-age too low: 2592000 azprep.us: could not connect to host azuxul.fr: could not connect to host b3orion.com: max-age too low: 0 @@ -422,6 +422,7 @@ bakingstone.com: could not connect to host bakkerdesignandbuild.com: did not receive HSTS header balcan-underground.net: could not connect to host baldwinkoo.com: could not connect to host +balloonphp.com: could not connect to host balonmano.co: could not connect to host banbanchs.com: could not connect to host bandb.xyz: could not connect to host @@ -439,7 +440,6 @@ baum.ga: did not receive HSTS header baumstark.ca: could not connect to host baysse.eu: could not connect to host bazarstupava.sk: could not connect to host -bazdell.com: could not connect to host bcbsmagentprofile.com: could not connect to host bcchack.com: could not connect to host bccx.com: could not connect to host @@ -505,7 +505,6 @@ bi.search.yahoo.com: did not receive HSTS header bidon.ca: did not receive HSTS header bieberium.de: could not connect to host bienenblog.cc: could not connect to host -bienoubien.org: could not connect to host big-black.de: did not receive HSTS header bigbrownpromotions.com.au: did not receive HSTS header bigdinosaur.org: could not connect to host @@ -585,6 +584,7 @@ bonapp.restaurant: could not connect to host bonfi.net: did not receive HSTS header bonigo.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] bonitabrazilian.co.nz: did not receive HSTS header +bonobo.cz: could not connect to host bonop.com: did not receive HSTS header bonta.one: could not connect to host bookcelerator.com: did not receive HSTS header @@ -601,6 +601,7 @@ boringsecurity.net: could not connect to host boris.one: did not receive HSTS header borisbesemer.com: could not connect to host botox.bz: did not receive HSTS header +bouncourseplanner.net: could not connect to host bouwbedrijfpurmerend.nl: did not receive HSTS header bowlroll.net: max-age too low: 0 boxcryptor.com: did not receive HSTS header @@ -642,6 +643,7 @@ buildci.asia: could not connect to host buildify.co.za: could not connect to host buildsaver.co.za: did not receive HSTS header built.by: did not receive HSTS header +bullbits.com: could not connect to host bulletpoint.cz: could not connect to host bulmafox.com: could not connect to host bumarkamoda.com: could not connect to host @@ -664,6 +666,7 @@ butterfieldstraining.com: did not receive HSTS header buybaby.eu: did not receive HSTS header buyfox.de: did not receive HSTS header buzzconcert.com: could not connect to host +bw81.xyz: could not connect to host bws16.de: did not receive HSTS header by4cqb.cn: could not connect to host bydisk.com: could not connect to host @@ -754,7 +757,6 @@ centillien.com: did not receive HSTS header centralvacsunlimited.net: could not connect to host centrationgame.com: could not connect to host centrepoint-community.com: could not connect to host -ceoimon.com: could not connect to host ceritamalam.net: could not connect to host cerize.love: could not connect to host cert.se: max-age too low: 2628001 @@ -835,6 +837,7 @@ clara-baumert.de: could not connect to host classicsandexotics.com: did not receive HSTS header classicspublishing.com: could not connect to host clcleaningco.com: could not connect to host +cldly.com: could not connect to host cleanexperts.co.uk: could not connect to host cleaningsquad.ca: max-age too low: 0 cleanmta.com: could not connect to host @@ -850,6 +853,7 @@ clintonbloodworth.com: did not receive HSTS header clintonbloodworth.io: could not connect to host clintwilson.technology: max-age too low: 2592000 clip.mx: did not receive HSTS header +clipped4u.com: could not connect to host cloud.wtf: could not connect to host cloudapi.vc: could not connect to host cloudcert.org: did not receive HSTS header @@ -858,6 +862,7 @@ clouddesktop.co.nz: could not connect to host cloudey.net: did not receive HSTS header cloudflare.com: did not receive HSTS header cloudia.org: could not connect to host +cloudily.com: could not connect to host cloudimag.es: could not connect to host cloudlink.club: could not connect to host cloudns.com.au: could not connect to host @@ -903,7 +908,7 @@ codewiththepros.org: could not connect to host codiva.io: max-age too low: 2592000 coffeeetc.co.uk: did not receive HSTS header coffeestrategies.com: max-age too low: 2592000 -cohesive.io: could not connect to host +cohesive.io: did not receive HSTS header coiffeurschnittstelle.ch: did not receive HSTS header coindam.com: could not connect to host coldlostsick.net: could not connect to host @@ -924,7 +929,6 @@ compalytics.com: could not connect to host comparejewelleryprices.co.uk: could not connect to host completeid.com: max-age too low: 86400 completionist.audio: could not connect to host -compliancedictionary.com: could not connect to host compraneta.com: could not connect to host compucorner.com.mx: could not connect to host computeremergency.com.au: did not receive HSTS header @@ -1000,11 +1004,12 @@ cryptobin.org: could not connect to host cryptojar.io: could not connect to host cryptolab.pro: could not connect to host cryptolab.tk: could not connect to host +cryptoparty.at: could not connect to host cryptopartyatx.org: could not connect to host cryptopush.com: did not receive HSTS header crysadm.com: max-age too low: 1 crystalclassics.co.uk: did not receive HSTS header -csapak.com: max-age too low: 0 +csapak.com: could not connect to host csawctf.poly.edu: could not connect to host csfs.org.uk: could not connect to host csgodicegame.com: did not receive HSTS header @@ -1034,6 +1039,7 @@ cuvva.insure: did not receive HSTS header cyanogenmod.xxx: could not connect to host cyberpunk.ca: could not connect to host cybershambles.com: could not connect to host +cybersins.com: did not receive HSTS header cybersmart.co.uk: did not receive HSTS header cyberxpert.nl: could not connect to host cycleluxembourg.lu: did not receive HSTS header @@ -1046,7 +1052,7 @@ dah5.com: did not receive HSTS header dailystormerpodcasts.com: did not receive HSTS header daimadi.com: could not connect to host dakrib.net: could not connect to host -daku.gdn: did not receive HSTS header +daku.gdn: could not connect to host dalfiume.it: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] dalingk.co: could not connect to host damedrogy.cz: could not connect to host @@ -1064,13 +1070,13 @@ daolerp.xyz: could not connect to host dargasia.is: could not connect to host dario.im: could not connect to host dark-x.cf: could not connect to host -darkdestiny.ch: could not connect to host darkengine.io: could not connect to host darkhole.cn: could not connect to host darkkeepers.dk: did not receive HSTS header darknebula.space: could not connect to host darkpony.ru: could not connect to host darksideof.it: could not connect to host +darkstance.org: could not connect to host darrenellis.xyz: could not connect to host dashburst.com: did not receive HSTS header dashnimorad.com: did not receive HSTS header @@ -1148,21 +1154,21 @@ despora.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR destinationbijoux.fr: could not connect to host detector.exposed: could not connect to host detest.org: could not connect to host +dethemium.com: could not connect to host deuxvia.com: could not connect to host devcu.com: could not connect to host -devcu.net: did not receive HSTS header +devcu.net: could not connect to host devincrow.me: could not connect to host devnsec.com: could not connect to host devopps.me: did not receive HSTS header devtub.com: did not receive HSTS header devuan.org: did not receive HSTS header -devzero.io: could not connect to host dewin.io: did not receive HSTS header dhome.at: did not receive HSTS header dhpcs.com: did not receive HSTS header dhpiggott.net: did not receive HSTS header diablotine.rocks: could not connect to host -diarbag.us: did not receive HSTS header +diarbag.us: could not connect to host diasp.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] die-partei-reutlingen.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] diedrich.co: did not receive HSTS header @@ -1235,6 +1241,7 @@ doridian.de: could not connect to host doridian.net: did not receive HSTS header doridian.org: could not connect to host dossplumbing.co.za: did not receive HSTS header +dotacni-parazit.cz: did not receive HSTS header dotadata.me: could not connect to host dovecotadmin.org: could not connect to host dovetailnow.com: could not connect to host @@ -1249,10 +1256,12 @@ drakefortreasurer.sexy: could not connect to host draw.uy: could not connect to host drdevil.ru: could not connect to host dreadbyte.com: could not connect to host +dreid.org: did not receive HSTS header drhopeson.com: could not connect to host drishti.guru: could not connect to host drive.google.com: did not receive HSTS header (error ignored - included regardless) drkmtrx.xyz: could not connect to host +drobniuch.pl: could not connect to host droidboss.com: did not receive HSTS header dropcam.com: did not receive HSTS header drtroyhendrickson.com: could not connect to host @@ -1291,7 +1300,6 @@ eauclairecommerce.com: could not connect to host ebankcbt.com: could not connect to host ebecs.com: did not receive HSTS header ebermannstadt.de: max-age too low: 0 -ebonyriddle.com: could not connect to host ebp2p.com: did not receive HSTS header ebpglobal.com: did not receive HSTS header ecake.in: could not connect to host @@ -1346,7 +1354,6 @@ elimdengelen.com: did not receive HSTS header elitefishtank.com: could not connect to host elnutricionista.es: did not receive HSTS header eloanpersonal.com: max-age too low: 0 -elonbase.com: could not connect to host elpo.xyz: could not connect to host elsamakhin.com: could not connect to host elsitar.com: did not receive HSTS header @@ -1416,6 +1423,7 @@ esec.rs: did not receive HSTS header esko.bar: could not connect to host esln.org: did not receive HSTS header esoterikerforum.de: did not receive HSTS header +espace-gestion.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] espra.com: could not connect to host esquonic.com: could not connect to host essexcosmeticdentists.co.uk: did not receive HSTS header @@ -1446,12 +1454,14 @@ evomon.com: could not connect to host evossd.tk: could not connect to host ewuchuan.com: could not connect to host excelgum.ca: did not receive HSTS header +exceptionalservers.com: could not connect to host exfiles.cz: did not receive HSTS header exgravitus.com: could not connect to host exitus.jp: max-age too low: 0 exno.co: could not connect to host exon.io: did not receive HSTS header exousiakaidunamis.xyz: did not receive HSTS header +expatads.com: did not receive HSTS header expertmile.com: did not receive HSTS header expoundite.net: did not receive HSTS header expressfinance.co.za: did not receive HSTS header @@ -1519,6 +1529,7 @@ fexmen.com: could not connect to host ffmradio.de: did not receive HSTS header fhdhelp.de: could not connect to host fhdhilft.de: could not connect to host +fics-twosigma.com: did not receive HSTS header fiftyshadesofluca.ml: could not connect to host fig.co: did not receive HSTS header fightr.co: could not connect to host @@ -1540,7 +1551,7 @@ firstdogonthemoon.com.au: did not receive HSTS header firstforex.co.uk: did not receive HSTS header fish2.me: did not receive HSTS header fit4medien.de: did not receive HSTS header -fitbylo.com: did not receive HSTS header +fitbylo.com: could not connect to host fitiapp.com: could not connect to host fitnesswerk.de: could not connect to host five.vn: did not receive HSTS header @@ -1556,7 +1567,6 @@ flawcheck.com: did not receive HSTS header fleurette.me: max-age too low: 0 fliexer.com: could not connect to host flirchi.com: did not receive HSTS header -flixtor.net: could not connect to host floless.co.uk: did not receive HSTS header florian-lillpopp.de: max-age too low: 10 florianlillpopp.de: max-age too low: 10 @@ -1607,12 +1617,10 @@ frankwei.xyz: did not receive HSTS header franta.biz: did not receive HSTS header franta.email: did not receive HSTS header franzt.de: could not connect to host -frasys.cloud: could not connect to host frasys.io: did not receive HSTS header -frasys.net: could not connect to host fredvoyage.fr: did not receive HSTS header freeflow.tv: could not connect to host -freemanning.de: could not connect to host +freemanning.de: did not receive HSTS header freematthale.net: did not receive HSTS header freemedforms.com: did not receive HSTS header freesoftwaredriver.com: did not receive HSTS header @@ -1747,7 +1755,6 @@ gheorghesarcov.ga: could not connect to host gheorghesarcov.tk: could not connect to host gietvloergarant.nl: did not receive HSTS header gigacloud.org: max-age too low: 0 -gilcloud.com: could not connect to host gilgaz.com: did not receive HSTS header gilly.berlin: did not receive HSTS header gingali.de: did not receive HSTS header @@ -1885,7 +1892,6 @@ hackest.org: did not receive HSTS header hackit.im: could not connect to host hadzic.co: could not connect to host haeckdesign.com: did not receive HSTS header -haehnlein.at: could not connect to host hahayidu.org: could not connect to host haitschi.com: could not connect to host haitschi.de: could not connect to host @@ -1927,7 +1933,6 @@ haurumcraft.net: could not connect to host hausarzt-stader-str.de: did not receive HSTS header haveeruexaminer.com: could not connect to host haveforeningen-enghaven.dk: did not receive HSTS header -havellab.de: could not connect to host haxoff.com: could not connect to host haxx.hu: could not connect to host haydenhill.us: could not connect to host @@ -2014,13 +2019,11 @@ hr-intranet.com: did not receive HSTS header hsandbox.tech: max-age too low: 2592000 hsir.me: could not connect to host hsts.date: could not connect to host -hszhyy120.com: could not connect to host http418.xyz: could not connect to host httpstatuscode418.xyz: could not connect to host hu.search.yahoo.com: did not receive HSTS header huangh.com: could not connect to host huarongdao.com: max-age too low: 1 -huchet.me: could not connect to host hugocollignon.fr: could not connect to host hugosleep.com.au: did not receive HSTS header humblefinances.com: could not connect to host @@ -2091,13 +2094,12 @@ ilikerainbows.co: could not connect to host ilikerainbows.co.uk: could not connect to host ilmconpm.de: did not receive HSTS header ilona.graphics: max-age too low: 3600 -iluvscotland.co.uk: did not receive HSTS header +iluvscotland.co.uk: could not connect to host imakepoems.net: could not connect to host imanolbarba.net: could not connect to host ime.moe: could not connect to host imim.pw: did not receive HSTS header immoprotect.ca: did not receive HSTS header -immoralgods.com: could not connect to host immortals-co.com: did not receive HSTS header immoverkauf24.at: did not receive HSTS header immoverkauf24.de: did not receive HSTS header @@ -2116,6 +2118,7 @@ inb4.us: could not connect to host inbox.li: did not receive HSTS header incendiary-arts.com: could not connect to host inchomatic.com: did not receive HSTS header +indicateurs-flash.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] indoorskiassen.nl: did not receive HSTS header infcof.com: max-age too low: 0 infilock.com: could not connect to host @@ -2135,7 +2138,7 @@ inksupply.com: did not receive HSTS header inleaked.com: could not connect to host inmyarea.com: max-age too low: 0 innophate-security.nl: could not connect to host -inquisitive.io: could not connect to host +inquisitive.io: did not receive HSTS header ins1gn1a.com: did not receive HSTS header insane-bullets.com: could not connect to host insane.zone: could not connect to host @@ -2145,11 +2148,9 @@ inspiroinc.com: could not connect to host instacart.com: did not receive HSTS header instantdev.io: could not connect to host institutoflordelavida.com: could not connect to host -integrationinc.com: could not connect to host intel.li: could not connect to host interference.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] interlun.com: could not connect to host -internect.co.za: could not connect to host internetcasinos.de: could not connect to host internetcensus.org: could not connect to host interserved.com: did not receive HSTS header @@ -2186,21 +2187,21 @@ irelandesign.com: did not receive HSTS header irmtrudjurke.de: did not receive HSTS header is-a-furry.org: did not receive HSTS header ischool.co.jp: did not receive HSTS header +isdf.me: could not connect to host iseek.biz: max-age too low: 0 ishillaryclintoninprisonyet.com: could not connect to host isitamor.pm: could not connect to host iskaz.rs: did not receive HSTS header isogram.nl: could not connect to host -ispo.com.tw: could not connect to host israkurort.com: did not receive HSTS header isslshop.com: could not connect to host -issuesofconcern.in: could not connect to host istanbultravelguide.info: could not connect to host istaspirtslietas.lv: did not receive HSTS header it-go.net: did not receive HSTS header itechgeek.com: max-age too low: 0 ithakama.com: did not receive HSTS header ithakama.cz: did not receive HSTS header +ithenrik.com: could not connect to host itos.asia: did not receive HSTS header itos.pl: did not receive HSTS header itriskltd.com: could not connect to host @@ -2216,6 +2217,7 @@ ivi-fertility.com: max-age too low: 0 ivi.es: max-age too low: 0 ivk.website: could not connect to host ivo.co.za: could not connect to host +ixec2.tk: did not receive HSTS header izdiwho.com: could not connect to host izolight.ch: could not connect to host izoox.com: did not receive HSTS header @@ -2227,10 +2229,8 @@ jackalworks.com: could not connect to host jacobparry.ca: did not receive HSTS header jagido.de: did not receive HSTS header jahliveradio.com: could not connect to host -jaitnetworking.com: could not connect to host jakenbake.com: did not receive HSTS header jaksel.id: could not connect to host -jakub-boucek.cz: could not connect to host james.je: could not connect to host jamesandpame.la: could not connect to host jamesbradach.com: did not receive HSTS header @@ -2253,7 +2253,7 @@ jannyrijneveld.nl: did not receive HSTS header janus-engineering.de: did not receive HSTS header japlex.com: could not connect to host jaqen.ch: could not connect to host -jardins-utopie.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] +jardins-utopie.net: could not connect to host jaroslavtrsek.cz: did not receive HSTS header jarsater.com: could not connect to host jartza.org: could not connect to host @@ -2274,7 +2274,6 @@ jcch.de: could not connect to host jcor.me: did not receive HSTS header jcoscia.com: could not connect to host jctf.io: could not connect to host -jean-remy.ch: could not connect to host jebengotai.com: did not receive HSTS header jeff393.com: could not connect to host jenjoit.de: could not connect to host @@ -2313,15 +2312,14 @@ joedavison.me: could not connect to host johannes-sprink.de: could not connect to host johners.me: could not connect to host johnrom.com: did not receive HSTS header -jokescoff.com: did not receive HSTS header jonas-keidel.de: did not receive HSTS header jonasgroth.se: did not receive HSTS header jonathan.ir: could not connect to host -jonathancarter.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] jonn.me: could not connect to host joostbovee.nl: did not receive HSTS header jordanhamilton.me: could not connect to host joretapo.fr: did not receive HSTS header +jornane.no: could not connect to host josahrens.me: could not connect to host joshi.su: could not connect to host joshstroup.me: could not connect to host @@ -2337,7 +2335,6 @@ jualautoclave.com: did not receive HSTS header jualssh.com: could not connect to host juliamweber.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] julian-kipka.de: could not connect to host -jumba.com.au: could not connect to host jumbox.xyz: could not connect to host junaos.xyz: did not receive HSTS header junge-selbsthilfe.info: could not connect to host @@ -2462,7 +2459,7 @@ krayx.com: could not connect to host kreavis.com: did not receive HSTS header kredite.sale: could not connect to host kriegt.es: did not receive HSTS header -kriptosec.com: could not connect to host +kristikala.nl: could not connect to host krizevci.info: did not receive HSTS header kroetenfuchs.de: could not connect to host kropkait.pl: could not connect to host @@ -2483,6 +2480,7 @@ kurehun.org: could not connect to host kuro346.moe: did not receive HSTS header kurtmclester.com: did not receive HSTS header kusaka-abacus.jp: max-age too low: 0 +kvhile.com: could not connect to host kweddingplanning.com: did not receive HSTS header kwok.tv: could not connect to host kwondratsch.com: could not connect to host @@ -2585,10 +2583,12 @@ lianye5.cc: could not connect to host lianye6.cc: could not connect to host lianyexiuchang.in: could not connect to host liaoshuma.com: could not connect to host +libanco.com: could not connect to host libbitcoin.org: could not connect to host libertyrp.org: could not connect to host library.linode.com: did not receive HSTS header librechan.net: could not connect to host +libreduca.com: could not connect to host libscode.com: could not connect to host lidl-selection.at: could not connect to host lidow.eu: could not connect to host @@ -2629,6 +2629,8 @@ litzenberger.ca: could not connect to host livedemo.io: could not connect to host livej.am: could not connect to host livi.co: did not receive HSTS header +livnev.me: could not connect to host +livnev.xyz: could not connect to host loadingdeck.com: did not receive HSTS header loadso.me: could not connect to host loafbox.com: could not connect to host @@ -2730,6 +2732,7 @@ mammothmail.com: could not connect to host mammothmail.net: could not connect to host mammothmail.org: could not connect to host managemynetsuite.com: could not connect to host +managewp.org: did not receive HSTS header maniadeprazer.com.br: could not connect to host manifestbin.com: did not receive HSTS header manningbrothers.com: did not receive HSTS header @@ -2785,6 +2788,7 @@ maur.cz: did not receive HSTS header mavisang.cf: could not connect to host mawe.red: could not connect to host maya.mg: could not connect to host +mazz-tech.com: could not connect to host mca2017.org: did not receive HSTS header mcc.re: could not connect to host mcdonalds.ru: did not receive HSTS header @@ -2863,6 +2867,7 @@ micropple.net: could not connect to host microtalk.org: could not connect to host midirs.org: did not receive HSTS header midwestwomenworkers.org: could not connect to host +miemie.jp: did not receive HSTS header migeeks.de: did not receive HSTS header mightydicks.io: could not connect to host mightydicks.tech: could not connect to host @@ -2872,7 +2877,7 @@ mijn-email.org: could not connect to host mikaelemilsson.net: did not receive HSTS header mikeburns.com: did not receive HSTS header mikeg.de: did not receive HSTS header -mikek.work: could not connect to host +mikek.work: did not receive HSTS header mikeology.org: could not connect to host mikrom.cz: did not receive HSTS header miku.be: did not receive HSTS header @@ -2906,6 +2911,7 @@ mizd.at: could not connect to host mizi.name: could not connect to host mkes.com: did not receive HSTS header mkw.st: could not connect to host +mlcdn.co: could not connect to host mlpepilepsy.org: could not connect to host mmgazhomeloans.com: did not receive HSTS header mnemotiv.com: could not connect to host @@ -2935,6 +2941,7 @@ monarca.systems: could not connect to host monasterialis.eu: could not connect to host mondar.io: could not connect to host mondopoint.com: did not receive HSTS header +moneromerchant.com: could not connect to host moneytoday.com: max-age too low: 0 monitman.com: could not connect to host monsieurbureau.com: did not receive HSTS header @@ -3059,7 +3066,7 @@ nathanmfarrugia.com: did not receive HSTS header natural-progesterone.net: did not receive HSTS header naturesystems.cz: max-age too low: 0 natuurbehangnederland.nl: could not connect to host -nauck.org: could not connect to host +nauck.org: did not receive HSTS header nav.jobs: could not connect to host naval.tf: could not connect to host navenlle.com: did not receive HSTS header @@ -3075,6 +3082,7 @@ nedzad.me: could not connect to host neels.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] neftaly.com: did not receive HSTS header neilgreen.net: did not receive HSTS header +neillans.com: did not receive HSTS header neko-life.com: did not receive HSTS header neko-system.com: did not receive HSTS header nemno.de: could not connect to host @@ -3129,10 +3137,11 @@ nightwinds.tk: could not connect to host nightx.uk: could not connect to host niho.jp: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] nikcub.com: could not connect to host +niklas.pw: could not connect to host niklaslindblad.se: did not receive HSTS header nikomo.fi: could not connect to host ninchisho-online.com: did not receive HSTS header -ninhs.org: did not receive HSTS header +ninhs.org: could not connect to host nippler.org: did not receive HSTS header nippombashi.net: could not connect to host nipponcareers.com: did not receive HSTS header @@ -3163,13 +3172,13 @@ nopex.no: could not connect to host nopol.de: could not connect to host norandom.com: could not connect to host norb.at: could not connect to host -nordiccasinocommunity.com: did not receive HSTS header nosecretshop.com: did not receive HSTS header notadd.com: did not receive HSTS header notenoughtime.de: could not connect to host nottheonion.net: did not receive HSTS header nouvelle-vague-saint-cast.fr: did not receive HSTS header novacoast.com: did not receive HSTS header +novascan.net: could not connect to host novatrucking.de: could not connect to host novawave.ca: did not receive HSTS header nowak.ninja: did not receive HSTS header @@ -3198,7 +3207,6 @@ null.cat: could not connect to host null.tips: could not connect to host nullpoint.at: did not receive HSTS header number.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] -numberzero.org: could not connect to host numericacu.com: did not receive HSTS header numero-di-telefono.it: could not connect to host numista.com: did not receive HSTS header @@ -3208,7 +3216,6 @@ nutleyeducationalfoundation.org: did not receive HSTS header nutleyef.org: did not receive HSTS header nutritionculture.com: could not connect to host nutsandboltsmedia.com: did not receive HSTS header -nuxer.fr: could not connect to host nwa.xyz: could not connect to host nwgh.org: max-age too low: 86400 nwork.media: could not connect to host @@ -3228,12 +3235,12 @@ ochaken.cf: could not connect to host odin.xxx: did not receive HSTS header odinoffice.no: did not receive HSTS header oe8.bet: could not connect to host +oeko-bundesfreiwilligendienst-sh.de: did not receive HSTS header +oeko-bundesfreiwilligendienst.de: did not receive HSTS header ofcourselanguages.com: could not connect to host offenedialoge.de: max-age too low: 2592000 offshore-firma.org: could not connect to host ogogoshop.com: could not connect to host -oguya.ch: could not connect to host -oiepoie.nl: could not connect to host oishioffice.com: did not receive HSTS header okane.love: could not connect to host okok-rent.com: could not connect to host @@ -3273,7 +3280,7 @@ onlyshopstation.com: did not receive HSTS header ononpay.com: did not receive HSTS header onpatient.com: did not receive HSTS header onsitemassageco.com: did not receive HSTS header -onthebriteside.com: did not receive HSTS header +onthebriteside.com: could not connect to host ontras.com: could not connect to host onyxwall.com: could not connect to host onyxwall.link: could not connect to host @@ -3343,7 +3350,6 @@ owncloud.help: could not connect to host ownmovies.fr: could not connect to host oxygenabsorbers.com: did not receive HSTS header oxynux.fr: could not connect to host -oxynux.xyz: could not connect to host p.linode.com: could not connect to host p8r.de: could not connect to host pa.search.yahoo.com: did not receive HSTS header @@ -3357,13 +3363,12 @@ pahae.de: did not receive HSTS header paigeglass.com: did not receive HSTS header paintingat.com: could not connect to host paisaone.com: did not receive HSTS header -paket.io: could not connect to host paku.me: could not connect to host pamplona.tv: could not connect to host pamsoft.pl: max-age too low: 0 panaceallc.net: could not connect to host panamaequity.com: did not receive HSTS header -panamateakforestry.com: did not receive HSTS header +panamateakforestry.com: could not connect to host panoranordic.net: could not connect to host pansu.space: could not connect to host pants-off.xyz: could not connect to host @@ -3441,7 +3446,7 @@ pet-nsk.ru: could not connect to host petchart.net: could not connect to host petit.site: could not connect to host petplum.com: did not receive HSTS header -petrachuk.ru: could not connect to host +petrachuk.ru: did not receive HSTS header petravdbos.nl: did not receive HSTS header petrolplus.ru: did not receive HSTS header petrovsky.pro: could not connect to host @@ -3461,6 +3466,7 @@ photoblogverona.com: could not connect to host phoxmeh.com: could not connect to host php-bach.org: could not connect to host phpfashion.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] +phryanjr.com: could not connect to host phus.lu: did not receive HSTS header physicalist.com: could not connect to host pickr.co: could not connect to host @@ -3471,6 +3477,7 @@ piggott.me.uk: did not receive HSTS header pilgermaske.org: did not receive HSTS header piligrimname.com: could not connect to host pillowandpepper.com: did not receive HSTS header +pimpmymac.ru: could not connect to host pincodeit.com: could not connect to host pippen.io: could not connect to host piratedb.com: could not connect to host @@ -3499,7 +3506,6 @@ play.google.com: did not receive HSTS header (error ignored - included regardles playflick.com: did not receive HSTS header playkh.com: did not receive HSTS header playmaker.io: could not connect to host -playmyplay.com: did not receive HSTS header playnation.io: could not connect to host pleier-it.de: did not receive HSTS header pleier.it: could not connect to host @@ -3531,6 +3537,7 @@ polypho.nyc: could not connect to host pompompoes.com: could not connect to host pontualcomp.com: max-age too low: 2592000 poolsandstuff.com: did not receive HSTS header +poolvilla-margarita.net: did not receive HSTS header poon.tech: could not connect to host porno-gif.ru: did not receive HSTS header portalplatform.net: did not receive HSTS header @@ -3575,7 +3582,6 @@ progblog.net: could not connect to host progg.no: could not connect to host progress-technologies.com: could not connect to host prohostonline.fi: could not connect to host -projectarmy.net: could not connect to host projectdp.net: could not connect to host projectmercury.space: could not connect to host promecon-gmbh.de: did not receive HSTS header @@ -3669,7 +3675,7 @@ rationalism.com: could not connect to host rauchenwald.net: did not receive HSTS header raulfraile.net: could not connect to host raven.lipetsk.ru: could not connect to host -rawet.se: did not receive HSTS header +rawet.se: could not connect to host rawstorieslondon.com: could not connect to host raydan.space: could not connect to host raydobe.me: could not connect to host @@ -3698,7 +3704,6 @@ redirectman.com: did not receive HSTS header redlatam.org: did not receive HSTS header redmbk.com: did not receive HSTS header redports.org: could not connect to host -redstickfestival.org: could not connect to host regaloaks.com: did not receive HSTS header regalpalms.com: did not receive HSTS header regenbogenwald.de: did not receive HSTS header @@ -3808,6 +3813,7 @@ rrke.cc: did not receive HSTS header rsajeey.info: could not connect to host rsf.io: could not connect to host rsmaps.org: could not connect to host +rtho.me: could not connect to host rubbereggs.ca: could not connect to host rubberfurs.org: max-age too low: 86400 rubecodeberg.com: could not connect to host @@ -3861,7 +3867,6 @@ sandviks.com: did not receive HSTS header sanguoxiu.com: could not connect to host sansemea.com: did not receive HSTS header sansonehowell.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] -sapk.fr: could not connect to host sarah-beckett-harpist.com: did not receive HSTS header sarahsweetlife.com: could not connect to host sarisonproductions.com: did not receive HSTS header @@ -3939,9 +3944,9 @@ securityheaders.com: could not connect to host securityinet.biz: did not receive HSTS header securityinet.net: did not receive HSTS header securityinet.org.il: did not receive HSTS header -securitystreak.com: could not connect to host securiviera.ch: did not receive HSTS header sedrubal.de: could not connect to host +sedziapilkarski.pl: could not connect to host seedboxers.net: did not receive HSTS header seele.ca: could not connect to host segulink.com: could not connect to host @@ -3959,7 +3964,6 @@ semen3325.xyz: could not connect to host semenkovich.com: did not receive HSTS header semps-servers.de: could not connect to host semps.de: did not receive HSTS header -sendash.com: did not receive HSTS header senedirect.com: did not receive HSTS header sensepixel.com: could not connect to host sensiblemn.org: could not connect to host @@ -4009,12 +4013,12 @@ shinju.moe: could not connect to host shinonome-lab.eu.org: could not connect to host shiona.xyz: did not receive HSTS header shirosaki.org: could not connect to host -shirt2go.shop: did not receive HSTS header shocksrv.com: did not receive HSTS header shooshosha.com: did not receive HSTS header shopontarget.com: did not receive HSTS header shoprose.ru: could not connect to host shops.neonisi.com: could not connect to host +shortpath.com: could not connect to host shortr.li: could not connect to host showkeeper.tv: did not receive HSTS header shu-kin.net: could not connect to host @@ -4106,7 +4110,6 @@ smirkingwhorefromhighgarden.pro: could not connect to host smkn1lengkong.sch.id: did not receive HSTS header smksi2.com: could not connect to host smove.sg: did not receive HSTS header -smpetrey.com: could not connect to host smusg.com: did not receive HSTS header snailing.org: could not connect to host snakehosting.dk: did not receive HSTS header @@ -4122,6 +4125,7 @@ snoozedds.com: max-age too low: 600 snoqualmiefiber.org: did not receive HSTS header sobabox.ru: could not connect to host sobie.ch: could not connect to host +sobinski.pl: did not receive HSTS header soboleva-pr.com.ua: could not connect to host sobotkama.eu: did not receive HSTS header soccergif.com: could not connect to host @@ -4136,7 +4140,6 @@ socomponents.co.uk: did not receive HSTS header sodacore.com: could not connect to host sogeek.me: did not receive HSTS header sol-3.de: did not receive HSTS header -solariiknight.org: could not connect to host solidfuelappliancespares.co.uk: did not receive HSTS header solinter.com.br: did not receive HSTS header solit.systems: did not receive HSTS header @@ -4148,6 +4151,7 @@ sonic.network: did not receive HSTS header sonicrainboom.rocks: could not connect to host soobi.org: did not receive HSTS header soondy.com: did not receive HSTS header +sotiran.com: could not connect to host sotor.de: did not receive HSTS header soulema.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] soulfulglamour.uk: could not connect to host @@ -4282,7 +4286,9 @@ studinf.xyz: did not receive HSTS header studiozelden.com: did not receive HSTS header studybay.com: did not receive HSTS header studydrive.net: did not receive HSTS header +studyhub.cf: did not receive HSTS header stugb.de: did not receive HSTS header +stuntmen.xyz: could not connect to host stw-group.at: could not connect to host stylenda.com: could not connect to host styles.pm: could not connect to host @@ -4319,6 +4325,7 @@ suzukikenichi.com: did not receive HSTS header sv.search.yahoo.com: did not receive HSTS header svarovani.tk: could not connect to host svatba-frantovi.cz: did not receive HSTS header +svenluijten.com: did not receive HSTS header sweetstreats.ca: could not connect to host swimbee.nl: did not receive HSTS header swimming.ca: did not receive HSTS header @@ -4340,7 +4347,6 @@ syriatalk.org: could not connect to host syrocon.ch: could not connect to host sysadmin.xyz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] syso.name: could not connect to host -systemreboot.net: could not connect to host szaszm.tk: max-age too low: 0 t-ken.xyz: could not connect to host t-tz.com: could not connect to host @@ -4375,17 +4381,18 @@ tavopica.lt: did not receive HSTS header taxbench.com: could not connect to host taxsnaps.co.nz: did not receive HSTS header tazz.in: could not connect to host -tc-bonito.de: max-age too low: 3600 +tc-bonito.de: did not receive HSTS header tcao.info: could not connect to host tcby45.xyz: did not receive HSTS header tcdw.net: did not receive HSTS header tcl.ath.cx: did not receive HSTS header tcomms.org: max-age too low: 0 tcp.expert: did not receive HSTS header -tcwebvn.com: could not connect to host teachforcanada.ca: did not receive HSTS header team-teasers.com: could not connect to host +teamblueridge.org: could not connect to host teamsocial.co: did not receive HSTS header +teamx-gaming.de: could not connect to host teamzeus.cz: could not connect to host tech55i.com: did not receive HSTS header techassist.io: did not receive HSTS header @@ -4451,7 +4458,6 @@ thecrochetcottage.net: could not connect to host thediaryofadam.com: did not receive HSTS header theendofzion.com: did not receive HSTS header theescapistswiki.com: could not connect to host -theeyeopener.com: did not receive HSTS header theflowerbasketonline.com: could not connect to host thefootballanalyst.com: could not connect to host thefrozenfire.com: did not receive HSTS header @@ -4511,7 +4517,7 @@ tikutiku.pl: could not connect to host tildebot.com: could not connect to host tilkah.com.au: could not connect to host timbeilby.com: could not connect to host -timbuktutimber.com: did not receive HSTS header +timbuktutimber.com: could not connect to host timcamara.com: did not receive HSTS header time-river.xyz: could not connect to host timestamp.io: did not receive HSTS header @@ -4521,6 +4527,7 @@ timotrans.eu: did not receive HSTS header timowi.de: could not connect to host timowi.net: could not connect to host timwittenberg.com: could not connect to host +tink.network: could not connect to host tipbox.is: could not connect to host tipsyk.ru: could not connect to host tirex.media: did not receive HSTS header @@ -4530,7 +4537,6 @@ tittelbach.at: did not receive HSTS header titties.ml: could not connect to host tjc.wiki: could not connect to host tkappertjedemetamorfose.nl: could not connect to host -tkarstens.de: did not receive HSTS header tlo.hosting: could not connect to host tlo.link: did not receive HSTS header tlo.network: could not connect to host @@ -4561,7 +4567,6 @@ tommyads.com: could not connect to host tonburi.jp: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] tonyfantjr.com: could not connect to host toomanypillows.com: could not connect to host -toool.org: did not receive HSTS header top-stage.net: could not connect to host topbargains.com.au: did not receive HSTS header topdeskdev.net: could not connect to host @@ -4599,7 +4604,6 @@ trinitycore.org: max-age too low: 2592000 tripdelta.com: did not receive HSTS header trixies-wish.nz: could not connect to host trollme.me: could not connect to host -trollscave.xyz: could not connect to host trondelan.no: did not receive HSTS header trunkjunk.co: could not connect to host trusitio.com: did not receive HSTS header @@ -4613,6 +4617,7 @@ tsecy.com: could not connect to host tsgoc.com: did not receive HSTS header tsrstore.gq: could not connect to host tssouthernpower.com: max-age too low: 0 +tsukhani.com: could not connect to host tuamoronline.com: could not connect to host tubepro.de: max-age too low: 600000 tucker.wales: could not connect to host @@ -4655,12 +4660,10 @@ u-blox.com: max-age too low: 0 ua.search.yahoo.com: did not receive HSTS header uadp.pw: did not receive HSTS header uberfunction.com: did not receive HSTS header -uberwald.ws: could not connect to host ubicloud.de: could not connect to host ubicv.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] ublox.com: did not receive HSTS header ubuntuhot.com: did not receive HSTS header -ucfirst.nl: could not connect to host uega.net: did not receive HSTS header ufgaming.com: did not receive HSTS header ufotable.uk: did not receive HSTS header @@ -4729,7 +4732,7 @@ ustr.gov: max-age too low: 86400 utilitarianism.net: did not receive HSTS header utleieplassen.no: could not connect to host utopiagalaxy.space: could not connect to host -utopianhomespa.com: did not receive HSTS header +utopianhomespa.com: could not connect to host utumno.ch: could not connect to host utvbloggen.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] uvarov.pw: did not receive HSTS header @@ -4756,7 +4759,6 @@ vanestack.com: could not connect to host vanetv.com: could not connect to host vanitas.xyz: could not connect to host vanitynailworkz.com: could not connect to host -vanmalland.com: could not connect to host vansieleghem.com: could not connect to host vasanth.org: did not receive HSTS header vavouchers.com: could not connect to host @@ -4813,7 +4815,6 @@ vitagenda.nl: could not connect to host vitalorange.com: did not receive HSTS header vitta.me: did not receive HSTS header viva-french.com: did not receive HSTS header -vivocloud.com: did not receive HSTS header vlastimilburian.cz: did not receive HSTS header vlora.city: could not connect to host vm0.eu: did not receive HSTS header @@ -4841,6 +4842,7 @@ vxstream-sandbox.com: [Exception... "Component returned failure code: 0x80004005 vyncke.org: max-age too low: 2678400 vyskocil.eu: could not connect to host vzk.io: could not connect to host +w.wiki: could not connect to host w4a.fr: did not receive HSTS header w4xzr.top: could not connect to host w4xzr.xyz: could not connect to host @@ -4859,7 +4861,7 @@ wapjt.cn: could not connect to host warandpeace.xyz: could not connect to host warehost.de: did not receive HSTS header warhistoryonline.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 118" data: no] -warlions.info: did not receive HSTS header +warlions.info: could not connect to host warped.com: did not receive HSTS header warsentech.com: did not receive HSTS header washingtonviews.com: did not receive HSTS header @@ -4945,6 +4947,7 @@ wilf1rst.com: could not connect to host willcipriano.com: could not connect to host william.si: did not receive HSTS header willosagiede.com: did not receive HSTS header +willow.technology: could not connect to host wimake.solutions: did not receive HSTS header winaes.com: did not receive HSTS header winclient.cn: could not connect to host @@ -5035,6 +5038,7 @@ xa.search.yahoo.com: did not receive HSTS header xandocs.com: could not connect to host xatr0z.org: could not connect to host xavierbarroso.com: could not connect to host +xbt.co: could not connect to host xcoop.me: could not connect to host xellos.ga: could not connect to host xellos.ml: could not connect to host @@ -5043,7 +5047,6 @@ xenesisziarovky.sk: could not connect to host xett.com: did not receive HSTS header xf-liam.com: did not receive HSTS header xfive.de: did not receive HSTS header -xia100.xyz: could not connect to host xiaody.me: could not connect to host xiaolvmu.me: could not connect to host xiaoxiao.im: could not connect to host @@ -5094,7 +5097,7 @@ yabrt.cn: could not connect to host yagi2.com: could not connect to host yalook.com: did not receive HSTS header yamamo10.com: could not connect to host -yanwh.xyz: could not connect to host +yanwh.xyz: did not receive HSTS header yaporn.tv: did not receive HSTS header yard-fu.com: could not connect to host yardbird.us: could not connect to host @@ -5115,7 +5118,6 @@ yjsoft.me: did not receive HSTS header yjsw.sh.cn: could not connect to host ynode.co: did not receive HSTS header ynsn.nl: did not receive HSTS header -yntongji.com: could not connect to host yokeepo.com: max-age too low: 0 yoloboatrentals.com: did not receive HSTS header yoloprod.fr: could not connect to host @@ -5168,6 +5170,7 @@ zeytin.pro: could not connect to host zh.search.yahoo.com: did not receive HSTS header zhaojin97.cn: did not receive HSTS header zhendingresources.com: max-age too low: 0 +zinc-x.com: did not receive HSTS header zinenapse.info: could not connect to host zirtue.io: could not connect to host ziyuanabc.xyz: could not connect to host diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index 27785683f496..3affbc9dc3e1 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/ #include -const PRTime gPreloadListExpirationTime = INT64_C(1500302168065000); +const PRTime gPreloadListExpirationTime = INT64_C(1500390323033000); static const char kSTSHostTable[] = { /* "0.me.uk", true */ '0', '.', 'm', 'e', '.', 'u', 'k', '\0', @@ -116,6 +116,7 @@ static const char kSTSHostTable[] = { /* "1ststop.co.uk", true */ '1', 's', 't', 's', 't', 'o', 'p', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "1three1.net", true */ '1', 't', 'h', 'r', 'e', 'e', '1', '.', 'n', 'e', 't', '\0', /* "1whw.co.uk", true */ '1', 'w', 'h', 'w', '.', 'c', 'o', '.', 'u', 'k', '\0', + /* "1years.cc", true */ '1', 'y', 'e', 'a', 'r', 's', '.', 'c', 'c', '\0', /* "2-cpu.de", true */ '2', '-', 'c', 'p', 'u', '.', 'd', 'e', '\0', /* "2.wtf", true */ '2', '.', 'w', 't', 'f', '\0', /* "2048-spiel.de", true */ '2', '0', '4', '8', '-', 's', 'p', 'i', 'e', 'l', '.', 'd', 'e', '\0', @@ -127,7 +128,6 @@ static const char kSTSHostTable[] = { /* "246060.ru", true */ '2', '4', '6', '0', '6', '0', '.', 'r', 'u', '\0', /* "247healthshop.com", true */ '2', '4', '7', 'h', 'e', 'a', 'l', 't', 'h', 's', 'h', 'o', 'p', '.', 'c', 'o', 'm', '\0', /* "247quickbooks.com", true */ '2', '4', '7', 'q', 'u', 'i', 'c', 'k', 'b', 'o', 'o', 'k', 's', '.', 'c', 'o', 'm', '\0', - /* "24hourpaint.com", true */ '2', '4', 'h', 'o', 'u', 'r', 'p', 'a', 'i', 'n', 't', '.', 'c', 'o', 'm', '\0', /* "24ip.com", true */ '2', '4', 'i', 'p', '.', 'c', 'o', 'm', '\0', /* "24ip.de", true */ '2', '4', 'i', 'p', '.', 'd', 'e', '\0', /* "24ip.fr", true */ '2', '4', 'i', 'p', '.', 'f', 'r', '\0', @@ -193,7 +193,6 @@ static const char kSTSHostTable[] = { /* "420dongstorm.com", true */ '4', '2', '0', 'd', 'o', 'n', 'g', 's', 't', 'o', 'r', 'm', '.', 'c', 'o', 'm', '\0', /* "42day.info", true */ '4', '2', 'd', 'a', 'y', '.', 'i', 'n', 'f', 'o', '\0', /* "439191.com", true */ '4', '3', '9', '1', '9', '1', '.', 'c', 'o', 'm', '\0', - /* "441jj.com", true */ '4', '4', '1', 'j', 'j', '.', 'c', 'o', 'm', '\0', /* "4500.co.il", true */ '4', '5', '0', '0', '.', 'c', 'o', '.', 'i', 'l', '\0', /* "491mhz.net", true */ '4', '9', '1', 'm', 'h', 'z', '.', 'n', 'e', 't', '\0', /* "4azino777.ru", true */ '4', 'a', 'z', 'i', 'n', 'o', '7', '7', '7', '.', 'r', 'u', '\0', @@ -218,6 +217,7 @@ static const char kSTSHostTable[] = { /* "5h0r7.com", true */ '5', 'h', '0', 'r', '7', '.', 'c', 'o', 'm', '\0', /* "646.io", false */ '6', '4', '6', '.', 'i', 'o', '\0', /* "6660111.ru", true */ '6', '6', '6', '0', '1', '1', '1', '.', 'r', 'u', '\0', + /* "692b8c32.de", true */ '6', '9', '2', 'b', '8', 'c', '3', '2', '.', 'd', 'e', '\0', /* "6969.us", true */ '6', '9', '6', '9', '.', 'u', 's', '\0', /* "700.az", true */ '7', '0', '0', '.', 'a', 'z', '\0', /* "7183.org", true */ '7', '1', '8', '3', '.', 'o', 'r', 'g', '\0', @@ -271,7 +271,6 @@ static const char kSTSHostTable[] = { /* "aaronkimmig.de", true */ 'a', 'a', 'r', 'o', 'n', 'k', 'i', 'm', 'm', 'i', 'g', '.', 'd', 'e', '\0', /* "aaronsilber.me", true */ 'a', 'a', 'r', 'o', 'n', 's', 'i', 'l', 'b', 'e', 'r', '.', 'm', 'e', '\0', /* "aatf.us", true */ 'a', 'a', 't', 'f', '.', 'u', 's', '\0', - /* "aati.info", true */ 'a', 'a', 't', 'i', '.', 'i', 'n', 'f', 'o', '\0', /* "abacustech.co.jp", true */ 'a', 'b', 'a', 'c', 'u', 's', 't', 'e', 'c', 'h', '.', 'c', 'o', '.', 'j', 'p', '\0', /* "abacustech.net", true */ 'a', 'b', 'a', 'c', 'u', 's', 't', 'e', 'c', 'h', '.', 'n', 'e', 't', '\0', /* "abacustech.org", true */ 'a', 'b', 'a', 'c', 'u', 's', 't', 'e', 'c', 'h', '.', 'o', 'r', 'g', '\0', @@ -659,11 +658,11 @@ static const char kSTSHostTable[] = { /* "alexs.de", true */ 'a', 'l', 'e', 'x', 's', '.', 'd', 'e', '\0', /* "alexsexton.com", true */ 'a', 'l', 'e', 'x', 's', 'e', 'x', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "alextsang.net", true */ 'a', 'l', 'e', 'x', 't', 's', 'a', 'n', 'g', '.', 'n', 'e', 't', '\0', - /* "alexvetter.de", true */ 'a', 'l', 'e', 'x', 'v', 'e', 't', 't', 'e', 'r', '.', 'd', 'e', '\0', /* "alexwardweb.com", true */ 'a', 'l', 'e', 'x', 'w', 'a', 'r', 'd', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0', /* "alexyang.me", true */ 'a', 'l', 'e', 'x', 'y', 'a', 'n', 'g', '.', 'm', 'e', '\0', /* "alfa-tech.su", true */ 'a', 'l', 'f', 'a', '-', 't', 'e', 'c', 'h', '.', 's', 'u', '\0', /* "alfredxing.com", false */ 'a', 'l', 'f', 'r', 'e', 'd', 'x', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', + /* "algarmatic-automatismos.pt", true */ 'a', 'l', 'g', 'a', 'r', 'm', 'a', 't', 'i', 'c', '-', 'a', 'u', 't', 'o', 'm', 'a', 't', 'i', 's', 'm', 'o', 's', '.', 'p', 't', '\0', /* "algolia.com", true */ 'a', 'l', 'g', 'o', 'l', 'i', 'a', '.', 'c', 'o', 'm', '\0', /* "aliacraft.net", true */ 'a', 'l', 'i', 'a', 'c', 'r', 'a', 'f', 't', '.', 'n', 'e', 't', '\0', /* "alibip.de", true */ 'a', 'l', 'i', 'b', 'i', 'p', '.', 'd', 'e', '\0', @@ -1283,6 +1282,7 @@ static const char kSTSHostTable[] = { /* "augustiner-kantorei.de", true */ 'a', 'u', 'g', 'u', 's', 't', 'i', 'n', 'e', 'r', '-', 'k', 'a', 'n', 't', 'o', 'r', 'e', 'i', '.', 'd', 'e', '\0', /* "aukaraoke.su", true */ 'a', 'u', 'k', 'a', 'r', 'a', 'o', 'k', 'e', '.', 's', 'u', '\0', /* "aulo.in", false */ 'a', 'u', 'l', 'o', '.', 'i', 'n', '\0', + /* "aunali1.com", true */ 'a', 'u', 'n', 'a', 'l', 'i', '1', '.', 'c', 'o', 'm', '\0', /* "auplidespages.fr", true */ 'a', 'u', 'p', 'l', 'i', 'd', 'e', 's', 'p', 'a', 'g', 'e', 's', '.', 'f', 'r', '\0', /* "aur.rocks", true */ 'a', 'u', 'r', '.', 'r', 'o', 'c', 'k', 's', '\0', /* "aureus.pw", true */ 'a', 'u', 'r', 'e', 'u', 's', '.', 'p', 'w', '\0', @@ -1291,6 +1291,7 @@ static const char kSTSHostTable[] = { /* "aurugs.com", true */ 'a', 'u', 'r', 'u', 'g', 's', '.', 'c', 'o', 'm', '\0', /* "ausschreibungen-suedtirol.it", true */ 'a', 'u', 's', 's', 'c', 'h', 'r', 'e', 'i', 'b', 'u', 'n', 'g', 'e', 'n', '-', 's', 'u', 'e', 'd', 't', 'i', 'r', 'o', 'l', '.', 'i', 't', '\0', /* "aussiecable.org", true */ 'a', 'u', 's', 's', 'i', 'e', 'c', 'a', 'b', 'l', 'e', '.', 'o', 'r', 'g', '\0', + /* "aussiehq.com.au", true */ 'a', 'u', 's', 's', 'i', 'e', 'h', 'q', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0', /* "australian.dating", true */ 'a', 'u', 's', 't', 'r', 'a', 'l', 'i', 'a', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0', /* "australiancattle.dog", true */ 'a', 'u', 's', 't', 'r', 'a', 'l', 'i', 'a', 'n', 'c', 'a', 't', 't', 'l', 'e', '.', 'd', 'o', 'g', '\0', /* "auszeit.bio", true */ 'a', 'u', 's', 'z', 'e', 'i', 't', '.', 'b', 'i', 'o', '\0', @@ -1373,7 +1374,6 @@ static const char kSTSHostTable[] = { /* "ayurveda101.com", false */ 'a', 'y', 'u', 'r', 'v', 'e', 'd', 'a', '1', '0', '1', '.', 'c', 'o', 'm', '\0', /* "azabani.com", true */ 'a', 'z', 'a', 'b', 'a', 'n', 'i', '.', 'c', 'o', 'm', '\0', /* "azamra.com", true */ 'a', 'z', 'a', 'm', 'r', 'a', '.', 'c', 'o', 'm', '\0', - /* "azazy.net", true */ 'a', 'z', 'a', 'z', 'y', '.', 'n', 'e', 't', '\0', /* "azbuki.by", true */ 'a', 'z', 'b', 'u', 'k', 'i', '.', 'b', 'y', '\0', /* "azimut.fr", true */ 'a', 'z', 'i', 'm', 'u', 't', '.', 'f', 'r', '\0', /* "azino777.ru", true */ 'a', 'z', 'i', 'n', 'o', '7', '7', '7', '.', 'r', 'u', '\0', @@ -1454,7 +1454,6 @@ static const char kSTSHostTable[] = { /* "ballbusting-cbt.com", true */ 'b', 'a', 'l', 'l', 'b', 'u', 's', 't', 'i', 'n', 'g', '-', 'c', 'b', 't', '.', 'c', 'o', 'm', '\0', /* "ballejaune.com", true */ 'b', 'a', 'l', 'l', 'e', 'j', 'a', 'u', 'n', 'e', '.', 'c', 'o', 'm', '\0', /* "ballmerpeak.org", true */ 'b', 'a', 'l', 'l', 'm', 'e', 'r', 'p', 'e', 'a', 'k', '.', 'o', 'r', 'g', '\0', - /* "balloonphp.com", true */ 'b', 'a', 'l', 'l', 'o', 'o', 'n', 'p', 'h', 'p', '.', 'c', 'o', 'm', '\0', /* "ballotapi.com", true */ 'b', 'a', 'l', 'l', 'o', 't', 'a', 'p', 'i', '.', 'c', 'o', 'm', '\0', /* "ballothero.com", true */ 'b', 'a', 'l', 'l', 'o', 't', 'h', 'e', 'r', 'o', '.', 'c', 'o', 'm', '\0', /* "bananabandy.com", true */ 'b', 'a', 'n', 'a', 'n', 'a', 'b', 'a', 'n', 'd', 'y', '.', 'c', 'o', 'm', '\0', @@ -1537,6 +1536,7 @@ static const char kSTSHostTable[] = { /* "baymard.com", true */ 'b', 'a', 'y', 'm', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0', /* "bayrisch-fuer-anfaenger.de", true */ 'b', 'a', 'y', 'r', 'i', 's', 'c', 'h', '-', 'f', 'u', 'e', 'r', '-', 'a', 'n', 'f', 'a', 'e', 'n', 'g', 'e', 'r', '.', 'd', 'e', '\0', /* "baywatch.io", true */ 'b', 'a', 'y', 'w', 'a', 't', 'c', 'h', '.', 'i', 'o', '\0', + /* "bazdell.com", true */ 'b', 'a', 'z', 'd', 'e', 'l', 'l', '.', 'c', 'o', 'm', '\0', /* "bazos.at", true */ 'b', 'a', 'z', 'o', 's', '.', 'a', 't', '\0', /* "bazos.cz", true */ 'b', 'a', 'z', 'o', 's', '.', 'c', 'z', '\0', /* "bazos.sk", true */ 'b', 'a', 'z', 'o', 's', '.', 's', 'k', '\0', @@ -1785,6 +1785,7 @@ static const char kSTSHostTable[] = { /* "bielsa.me", true */ 'b', 'i', 'e', 'l', 's', 'a', '.', 'm', 'e', '\0', /* "bien-etre-sante.info", true */ 'b', 'i', 'e', 'n', '-', 'e', 't', 'r', 'e', '-', 's', 'a', 'n', 't', 'e', '.', 'i', 'n', 'f', 'o', '\0', /* "bienici.com", true */ 'b', 'i', 'e', 'n', 'i', 'c', 'i', '.', 'c', 'o', 'm', '\0', + /* "bienoubien.org", true */ 'b', 'i', 'e', 'n', 'o', 'u', 'b', 'i', 'e', 'n', '.', 'o', 'r', 'g', '\0', /* "bierbaumer.net", true */ 'b', 'i', 'e', 'r', 'b', 'a', 'u', 'm', 'e', 'r', '.', 'n', 'e', 't', '\0', /* "bierbringer.at", true */ 'b', 'i', 'e', 'r', 'b', 'r', 'i', 'n', 'g', 'e', 'r', '.', 'a', 't', '\0', /* "biergaizi.info", true */ 'b', 'i', 'e', 'r', 'g', 'a', 'i', 'z', 'i', '.', 'i', 'n', 'f', 'o', '\0', @@ -2097,7 +2098,6 @@ static const char kSTSHostTable[] = { /* "bonnyprints.ch", true */ 'b', 'o', 'n', 'n', 'y', 'p', 'r', 'i', 'n', 't', 's', '.', 'c', 'h', '\0', /* "bonnyprints.es", true */ 'b', 'o', 'n', 'n', 'y', 'p', 'r', 'i', 'n', 't', 's', '.', 'e', 's', '\0', /* "bonnyprints.fr", true */ 'b', 'o', 'n', 'n', 'y', 'p', 'r', 'i', 'n', 't', 's', '.', 'f', 'r', '\0', - /* "bonobo.cz", true */ 'b', 'o', 'n', 'o', 'b', 'o', '.', 'c', 'z', '\0', /* "bonqoeur.ca", true */ 'b', 'o', 'n', 'q', 'o', 'e', 'u', 'r', '.', 'c', 'a', '\0', /* "boof.com", false */ 'b', 'o', 'o', 'f', '.', 'c', 'o', 'm', '\0', /* "bookingapp.nl", true */ 'b', 'o', 'o', 'k', 'i', 'n', 'g', 'a', 'p', 'p', '.', 'n', 'l', '\0', @@ -2121,7 +2121,6 @@ static const char kSTSHostTable[] = { /* "bottineauneighborhood.org", true */ 'b', 'o', 't', 't', 'i', 'n', 'e', 'a', 'u', 'n', 'e', 'i', 'g', 'h', 'b', 'o', 'r', 'h', 'o', 'o', 'd', '.', 'o', 'r', 'g', '\0', /* "boudah.pl", true */ 'b', 'o', 'u', 'd', 'a', 'h', '.', 'p', 'l', '\0', /* "bougeret.fr", true */ 'b', 'o', 'u', 'g', 'e', 'r', 'e', 't', '.', 'f', 'r', '\0', - /* "bouncourseplanner.net", true */ 'b', 'o', 'u', 'n', 'c', 'o', 'u', 'r', 's', 'e', 'p', 'l', 'a', 'n', 'n', 'e', 'r', '.', 'n', 'e', 't', '\0', /* "bouncyball.eu", false */ 'b', 'o', 'u', 'n', 'c', 'y', 'b', 'a', 'l', 'l', '.', 'e', 'u', '\0', /* "bouncyballs.org", true */ 'b', 'o', 'u', 'n', 'c', 'y', 'b', 'a', 'l', 'l', 's', '.', 'o', 'r', 'g', '\0', /* "bountyfactory.io", true */ 'b', 'o', 'u', 'n', 't', 'y', 'f', 'a', 'c', 't', 'o', 'r', 'y', '.', 'i', 'o', '\0', @@ -2335,7 +2334,6 @@ static const char kSTSHostTable[] = { /* "buldogueingles.com.br", true */ 'b', 'u', 'l', 'd', 'o', 'g', 'u', 'e', 'i', 'n', 'g', 'l', 'e', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0', /* "bulkcandystore.com", true */ 'b', 'u', 'l', 'k', 'c', 'a', 'n', 'd', 'y', 's', 't', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0', /* "bulktrade.de", true */ 'b', 'u', 'l', 'k', 't', 'r', 'a', 'd', 'e', '.', 'd', 'e', '\0', - /* "bullbits.com", true */ 'b', 'u', 'l', 'l', 'b', 'i', 't', 's', '.', 'c', 'o', 'm', '\0', /* "bulldog-hosting.de", true */ 'b', 'u', 'l', 'l', 'd', 'o', 'g', '-', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'd', 'e', '\0', /* "bullterrier.me", true */ 'b', 'u', 'l', 'l', 't', 'e', 'r', 'r', 'i', 'e', 'r', '.', 'm', 'e', '\0', /* "bulmastife.com.br", true */ 'b', 'u', 'l', 'm', 'a', 's', 't', 'i', 'f', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0', @@ -2385,7 +2383,6 @@ static const char kSTSHostTable[] = { /* "bvexplained.co.uk", true */ 'b', 'v', 'e', 'x', 'p', 'l', 'a', 'i', 'n', 'e', 'd', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "bvionline.eu", true */ 'b', 'v', 'i', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'e', 'u', '\0', /* "bw.codes", true */ 'b', 'w', '.', 'c', 'o', 'd', 'e', 's', '\0', - /* "bw81.xyz", true */ 'b', 'w', '8', '1', '.', 'x', 'y', 'z', '\0', /* "bwcscorecard.org", true */ 'b', 'w', 'c', 's', 'c', 'o', 'r', 'e', 'c', 'a', 'r', 'd', '.', 'o', 'r', 'g', '\0', /* "bwear4all.de", true */ 'b', 'w', 'e', 'a', 'r', '4', 'a', 'l', 'l', '.', 'd', 'e', '\0', /* "bwh1.net", true */ 'b', 'w', 'h', '1', '.', 'n', 'e', 't', '\0', @@ -2721,6 +2718,7 @@ static const char kSTSHostTable[] = { /* "centrojovencuenca.es", true */ 'c', 'e', 'n', 't', 'r', 'o', 'j', 'o', 'v', 'e', 'n', 'c', 'u', 'e', 'n', 'c', 'a', '.', 'e', 's', '\0', /* "centrumhodinek.cz", true */ 'c', 'e', 'n', 't', 'r', 'u', 'm', 'h', 'o', 'd', 'i', 'n', 'e', 'k', '.', 'c', 'z', '\0', /* "centsforchange.net", true */ 'c', 'e', 'n', 't', 's', 'f', 'o', 'r', 'c', 'h', 'a', 'n', 'g', 'e', '.', 'n', 'e', 't', '\0', + /* "ceoimon.com", true */ 'c', 'e', 'o', 'i', 'm', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "ceopedia.org", true */ 'c', 'e', 'o', 'p', 'e', 'd', 'i', 'a', '.', 'o', 'r', 'g', '\0', /* "cerastar.com", true */ 'c', 'e', 'r', 'a', 's', 't', 'a', 'r', '.', 'c', 'o', 'm', '\0', /* "cerebelo.info", true */ 'c', 'e', 'r', 'e', 'b', 'e', 'l', 'o', '.', 'i', 'n', 'f', 'o', '\0', @@ -3026,7 +3024,6 @@ static const char kSTSHostTable[] = { /* "classpoint.cz", true */ 'c', 'l', 'a', 's', 's', 'p', 'o', 'i', 'n', 't', '.', 'c', 'z', '\0', /* "claudio4.com", true */ 'c', 'l', 'a', 'u', 'd', 'i', 'o', '4', '.', 'c', 'o', 'm', '\0', /* "clawe.de", true */ 'c', 'l', 'a', 'w', 'e', '.', 'd', 'e', '\0', - /* "cldly.com", true */ 'c', 'l', 'd', 'l', 'y', '.', 'c', 'o', 'm', '\0', /* "clearkonjac.com", true */ 'c', 'l', 'e', 'a', 'r', 'k', 'o', 'n', 'j', 'a', 'c', '.', 'c', 'o', 'm', '\0', /* "clearsettle-admin.com", true */ 'c', 'l', 'e', 'a', 'r', 's', 'e', 't', 't', 'l', 'e', '-', 'a', 'd', 'm', 'i', 'n', '.', 'c', 'o', 'm', '\0', /* "clearviewwealthprojector.com.au", true */ 'c', 'l', 'e', 'a', 'r', 'v', 'i', 'e', 'w', 'w', 'e', 'a', 'l', 't', 'h', 'p', 'r', 'o', 'j', 'e', 'c', 't', 'o', 'r', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0', @@ -3057,7 +3054,6 @@ static const char kSTSHostTable[] = { /* "clintonlibrary.gov", true */ 'c', 'l', 'i', 'n', 't', 'o', 'n', 'l', 'i', 'b', 'r', 'a', 'r', 'y', '.', 'g', 'o', 'v', '\0', /* "clip.ovh", true */ 'c', 'l', 'i', 'p', '.', 'o', 'v', 'h', '\0', /* "clipclip.com", true */ 'c', 'l', 'i', 'p', 'c', 'l', 'i', 'p', '.', 'c', 'o', 'm', '\0', - /* "clipped4u.com", true */ 'c', 'l', 'i', 'p', 'p', 'e', 'd', '4', 'u', '.', 'c', 'o', 'm', '\0', /* "clmde.de", true */ 'c', 'l', 'm', 'd', 'e', '.', 'd', 'e', '\0', /* "clochix.net", true */ 'c', 'l', 'o', 'c', 'h', 'i', 'x', '.', 'n', 'e', 't', '\0', /* "clockcaster.com", true */ 'c', 'l', 'o', 'c', 'k', 'c', 'a', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0', @@ -3080,7 +3076,6 @@ static const char kSTSHostTable[] = { /* "cloudbolin.es", true */ 'c', 'l', 'o', 'u', 'd', 'b', 'o', 'l', 'i', 'n', '.', 'e', 's', '\0', /* "cloudcaprice.net", true */ 'c', 'l', 'o', 'u', 'd', 'c', 'a', 'p', 'r', 'i', 'c', 'e', '.', 'n', 'e', 't', '\0', /* "cloudflareonazure.com", true */ 'c', 'l', 'o', 'u', 'd', 'f', 'l', 'a', 'r', 'e', 'o', 'n', 'a', 'z', 'u', 'r', 'e', '.', 'c', 'o', 'm', '\0', - /* "cloudily.com", true */ 'c', 'l', 'o', 'u', 'd', 'i', 'l', 'y', '.', 'c', 'o', 'm', '\0', /* "cloudmigrator365.com", true */ 'c', 'l', 'o', 'u', 'd', 'm', 'i', 'g', 'r', 'a', 't', 'o', 'r', '3', '6', '5', '.', 'c', 'o', 'm', '\0', /* "cloudoptimizedsmb.com", true */ 'c', 'l', 'o', 'u', 'd', 'o', 'p', 't', 'i', 'm', 'i', 'z', 'e', 'd', 's', 'm', 'b', '.', 'c', 'o', 'm', '\0', /* "cloudoptimus.com", true */ 'c', 'l', 'o', 'u', 'd', 'o', 'p', 't', 'i', 'm', 'u', 's', '.', 'c', 'o', 'm', '\0', @@ -3271,6 +3266,7 @@ static const char kSTSHostTable[] = { /* "completionist.me", true */ 'c', 'o', 'm', 'p', 'l', 'e', 't', 'i', 'o', 'n', 'i', 's', 't', '.', 'm', 'e', '\0', /* "complexart.ro", true */ 'c', 'o', 'm', 'p', 'l', 'e', 'x', 'a', 'r', 't', '.', 'r', 'o', '\0', /* "compliance-systeme.de", true */ 'c', 'o', 'm', 'p', 'l', 'i', 'a', 'n', 'c', 'e', '-', 's', 'y', 's', 't', 'e', 'm', 'e', '.', 'd', 'e', '\0', + /* "compliancedictionary.com", true */ 'c', 'o', 'm', 'p', 'l', 'i', 'a', 'n', 'c', 'e', 'd', 'i', 'c', 't', 'i', 'o', 'n', 'a', 'r', 'y', '.', 'c', 'o', 'm', '\0', /* "complymd.com", true */ 'c', 'o', 'm', 'p', 'l', 'y', 'm', 'd', '.', 'c', 'o', 'm', '\0', /* "compsmag.com", true */ 'c', 'o', 'm', 'p', 's', 'm', 'a', 'g', '.', 'c', 'o', 'm', '\0', /* "compucorner.mx", true */ 'c', 'o', 'm', 'p', 'u', 'c', 'o', 'r', 'n', 'e', 'r', '.', 'm', 'x', '\0', @@ -3522,7 +3518,6 @@ static const char kSTSHostTable[] = { /* "cryptoki.fr", true */ 'c', 'r', 'y', 'p', 't', 'o', 'k', 'i', '.', 'f', 'r', '\0', /* "cryptonit.net", true */ 'c', 'r', 'y', 'p', 't', 'o', 'n', 'i', 't', '.', 'n', 'e', 't', '\0', /* "cryptonym.com", true */ 'c', 'r', 'y', 'p', 't', 'o', 'n', 'y', 'm', '.', 'c', 'o', 'm', '\0', - /* "cryptoparty.at", true */ 'c', 'r', 'y', 'p', 't', 'o', 'p', 'a', 'r', 't', 'y', '.', 'a', 't', '\0', /* "cryptoparty.dk", true */ 'c', 'r', 'y', 'p', 't', 'o', 'p', 'a', 'r', 't', 'y', '.', 'd', 'k', '\0', /* "cryptopartynewcastle.org", true */ 'c', 'r', 'y', 'p', 't', 'o', 'p', 'a', 'r', 't', 'y', 'n', 'e', 'w', 'c', 'a', 's', 't', 'l', 'e', '.', 'o', 'r', 'g', '\0', /* "cryptopartyutah.org", true */ 'c', 'r', 'y', 'p', 't', 'o', 'p', 'a', 'r', 't', 'y', 'u', 't', 'a', 'h', '.', 'o', 'r', 'g', '\0', @@ -3651,7 +3646,6 @@ static const char kSTSHostTable[] = { /* "cyberpeace.nl", true */ 'c', 'y', 'b', 'e', 'r', 'p', 'e', 'a', 'c', 'e', '.', 'n', 'l', '\0', /* "cybersecurity.nz", true */ 'c', 'y', 'b', 'e', 'r', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'n', 'z', '\0', /* "cybersecuritychallenge.be", true */ 'c', 'y', 'b', 'e', 'r', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'c', 'h', 'a', 'l', 'l', 'e', 'n', 'g', 'e', '.', 'b', 'e', '\0', - /* "cybersins.com", true */ 'c', 'y', 'b', 'e', 'r', 's', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0', /* "cyberspect.com", true */ 'c', 'y', 'b', 'e', 'r', 's', 'p', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0', /* "cyberspect.io", true */ 'c', 'y', 'b', 'e', 'r', 's', 'p', 'e', 'c', 't', '.', 'i', 'o', '\0', /* "cyberstatus.de", true */ 'c', 'y', 'b', 'e', 'r', 's', 't', 'a', 't', 'u', 's', '.', 'd', 'e', '\0', @@ -3745,8 +3739,8 @@ static const char kSTSHostTable[] = { /* "danielkoster.nl", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'k', 'o', 's', 't', 'e', 'r', '.', 'n', 'l', '\0', /* "danielmarquard.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'a', 'r', 'q', 'u', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0', /* "danielmoch.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'o', 'c', 'h', '.', 'c', 'o', 'm', '\0', - /* "danielmostertman.com", false */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'o', 's', 't', 'e', 'r', 't', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0', - /* "danielmostertman.nl", false */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'o', 's', 't', 'e', 'r', 't', 'm', 'a', 'n', '.', 'n', 'l', '\0', + /* "danielmostertman.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'o', 's', 't', 'e', 'r', 't', 'm', 'a', 'n', '.', 'c', 'o', 'm', '\0', + /* "danielmostertman.nl", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'm', 'o', 's', 't', 'e', 'r', 't', 'm', 'a', 'n', '.', 'n', 'l', '\0', /* "danielrozenberg.com", true */ 'd', 'a', 'n', 'i', 'e', 'l', 'r', 'o', 'z', 'e', 'n', 'b', 'e', 'r', 'g', '.', 'c', 'o', 'm', '\0', /* "danielthompson.info", true */ 'd', 'a', 'n', 'i', 'e', 'l', 't', 'h', 'o', 'm', 'p', 's', 'o', 'n', '.', 'i', 'n', 'f', 'o', '\0', /* "danieltollot.de", true */ 'd', 'a', 'n', 'i', 'e', 'l', 't', 'o', 'l', 'l', 'o', 't', '.', 'd', 'e', '\0', @@ -3780,6 +3774,7 @@ static const char kSTSHostTable[] = { /* "dark-vision.cz", true */ 'd', 'a', 'r', 'k', '-', 'v', 'i', 's', 'i', 'o', 'n', '.', 'c', 'z', '\0', /* "darkag.ovh", true */ 'd', 'a', 'r', 'k', 'a', 'g', '.', 'o', 'v', 'h', '\0', /* "darkcores.net", true */ 'd', 'a', 'r', 'k', 'c', 'o', 'r', 'e', 's', '.', 'n', 'e', 't', '\0', + /* "darkdestiny.ch", true */ 'd', 'a', 'r', 'k', 'd', 'e', 's', 't', 'i', 'n', 'y', '.', 'c', 'h', '\0', /* "darkeststar.org", true */ 'd', 'a', 'r', 'k', 'e', 's', 't', 's', 't', 'a', 'r', '.', 'o', 'r', 'g', '\0', /* "darkfriday.ddns.net", true */ 'd', 'a', 'r', 'k', 'f', 'r', 'i', 'd', 'a', 'y', '.', 'd', 'd', 'n', 's', '.', 'n', 'e', 't', '\0', /* "darkishgreen.com", true */ 'd', 'a', 'r', 'k', 'i', 's', 'h', 'g', 'r', 'e', 'e', 'n', '.', 'c', 'o', 'm', '\0', @@ -3789,7 +3784,6 @@ static const char kSTSHostTable[] = { /* "darkshop.nl", true */ 'd', 'a', 'r', 'k', 's', 'h', 'o', 'p', '.', 'n', 'l', '\0', /* "darkside.re", true */ 'd', 'a', 'r', 'k', 's', 'i', 'd', 'e', '.', 'r', 'e', '\0', /* "darkspacelab.com", true */ 'd', 'a', 'r', 'k', 's', 'p', 'a', 'c', 'e', 'l', 'a', 'b', '.', 'c', 'o', 'm', '\0', - /* "darkstance.org", true */ 'd', 'a', 'r', 'k', 's', 't', 'a', 'n', 'c', 'e', '.', 'o', 'r', 'g', '\0', /* "darktime.ru", true */ 'd', 'a', 'r', 'k', 't', 'i', 'm', 'e', '.', 'r', 'u', '\0', /* "darktree.in", true */ 'd', 'a', 'r', 'k', 't', 'r', 'e', 'e', '.', 'i', 'n', '\0', /* "darkwater.info", true */ 'd', 'a', 'r', 'k', 'w', 'a', 't', 'e', 'r', '.', 'i', 'n', 'f', 'o', '\0', @@ -4069,7 +4063,6 @@ static const char kSTSHostTable[] = { /* "destom.be", true */ 'd', 'e', 's', 't', 'o', 'm', '.', 'b', 'e', '\0', /* "desu.ne.jp", true */ 'd', 'e', 's', 'u', '.', 'n', 'e', '.', 'j', 'p', '\0', /* "detectify.com", false */ 'd', 'e', 't', 'e', 'c', 't', 'i', 'f', 'y', '.', 'c', 'o', 'm', '\0', - /* "dethemium.com", true */ 'd', 'e', 't', 'h', 'e', 'm', 'i', 'u', 'm', '.', 'c', 'o', 'm', '\0', /* "detoxsinutritie.ro", true */ 'd', 'e', 't', 'o', 'x', 's', 'i', 'n', 'u', 't', 'r', 'i', 't', 'i', 'e', '.', 'r', 'o', '\0', /* "detskysad.com", true */ 'd', 'e', 't', 's', 'k', 'y', 's', 'a', 'd', '.', 'c', 'o', 'm', '\0', /* "detteflies.com", true */ 'd', 'e', 't', 't', 'e', 'f', 'l', 'i', 'e', 's', '.', 'c', 'o', 'm', '\0', @@ -4120,6 +4113,7 @@ static const char kSTSHostTable[] = { /* "devpsy.info", true */ 'd', 'e', 'v', 'p', 's', 'y', '.', 'i', 'n', 'f', 'o', '\0', /* "devstaff.gr", true */ 'd', 'e', 'v', 's', 't', 'a', 'f', 'f', '.', 'g', 'r', '\0', /* "devyn.ca", true */ 'd', 'e', 'v', 'y', 'n', '.', 'c', 'a', '\0', + /* "devzero.io", true */ 'd', 'e', 'v', 'z', 'e', 'r', 'o', '.', 'i', 'o', '\0', /* "dewalch.net", true */ 'd', 'e', 'w', 'a', 'l', 'c', 'h', '.', 'n', 'e', 't', '\0', /* "dewebwerf.nl", true */ 'd', 'e', 'w', 'e', 'b', 'w', 'e', 'r', 'f', '.', 'n', 'l', '\0', /* "dexalo.de", true */ 'd', 'e', 'x', 'a', 'l', 'o', '.', 'd', 'e', '\0', @@ -4434,7 +4428,6 @@ static const char kSTSHostTable[] = { /* "doska.by", true */ 'd', 'o', 's', 'k', 'a', '.', 'b', 'y', '\0', /* "dot.ro", true */ 'd', 'o', 't', '.', 'r', 'o', '\0', /* "dot42.no", true */ 'd', 'o', 't', '4', '2', '.', 'n', 'o', '\0', - /* "dotacni-parazit.cz", true */ 'd', 'o', 't', 'a', 'c', 'n', 'i', '-', 'p', 'a', 'r', 'a', 'z', 'i', 't', '.', 'c', 'z', '\0', /* "dotbigbang.com", true */ 'd', 'o', 't', 'b', 'i', 'g', 'b', 'a', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "dotbox.org", true */ 'd', 'o', 't', 'b', 'o', 'x', '.', 'o', 'r', 'g', '\0', /* "dothebangthingsalon.com", true */ 'd', 'o', 't', 'h', 'e', 'b', 'a', 'n', 'g', 't', 'h', 'i', 'n', 'g', 's', 'a', 'l', 'o', 'n', '.', 'c', 'o', 'm', '\0', @@ -4499,7 +4492,6 @@ static const char kSTSHostTable[] = { /* "dreamsforabetterworld.com.au", true */ 'd', 'r', 'e', 'a', 'm', 's', 'f', 'o', 'r', 'a', 'b', 'e', 't', 't', 'e', 'r', 'w', 'o', 'r', 'l', 'd', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0', /* "dreamtechie.com", true */ 'd', 'r', 'e', 'a', 'm', 't', 'e', 'c', 'h', 'i', 'e', '.', 'c', 'o', 'm', '\0', /* "dredgepress.com", true */ 'd', 'r', 'e', 'd', 'g', 'e', 'p', 'r', 'e', 's', 's', '.', 'c', 'o', 'm', '\0', - /* "dreid.org", true */ 'd', 'r', 'e', 'i', 'd', '.', 'o', 'r', 'g', '\0', /* "dreizwosechs.de", true */ 'd', 'r', 'e', 'i', 'z', 'w', 'o', 's', 'e', 'c', 'h', 's', '.', 'd', 'e', '\0', /* "dress-cons.com", true */ 'd', 'r', 'e', 's', 's', '-', 'c', 'o', 'n', 's', '.', 'c', 'o', 'm', '\0', /* "drevo-door.cz", true */ 'd', 'r', 'e', 'v', 'o', '-', 'd', 'o', 'o', 'r', '.', 'c', 'z', '\0', @@ -4525,7 +4517,6 @@ static const char kSTSHostTable[] = { /* "drjacquesmalan.com", true */ 'd', 'r', 'j', 'a', 'c', 'q', 'u', 'e', 's', 'm', 'a', 'l', 'a', 'n', '.', 'c', 'o', 'm', '\0', /* "drjoe.ca", true */ 'd', 'r', 'j', 'o', 'e', '.', 'c', 'a', '\0', /* "drjuanitacollier.com", true */ 'd', 'r', 'j', 'u', 'a', 'n', 'i', 't', 'a', 'c', 'o', 'l', 'l', 'i', 'e', 'r', '.', 'c', 'o', 'm', '\0', - /* "drobniuch.pl", false */ 'd', 'r', 'o', 'b', 'n', 'i', 'u', 'c', 'h', '.', 'p', 'l', '\0', /* "drogueriaelbarco.com", true */ 'd', 'r', 'o', 'g', 'u', 'e', 'r', 'i', 'a', 'e', 'l', 'b', 'a', 'r', 'c', 'o', '.', 'c', 'o', 'm', '\0', /* "droidapp.nl", true */ 'd', 'r', 'o', 'i', 'd', 'a', 'p', 'p', '.', 'n', 'l', '\0', /* "droidwiki.de", true */ 'd', 'r', 'o', 'i', 'd', 'w', 'i', 'k', 'i', '.', 'd', 'e', '\0', @@ -4692,6 +4683,7 @@ static const char kSTSHostTable[] = { /* "ebcs-solutions.com", true */ 'e', 'b', 'c', 's', '-', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '.', 'c', 'o', 'm', '\0', /* "ebiografia.com", true */ 'e', 'b', 'i', 'o', 'g', 'r', 'a', 'f', 'i', 'a', '.', 'c', 'o', 'm', '\0', /* "ebiografias.com.br", true */ 'e', 'b', 'i', 'o', 'g', 'r', 'a', 'f', 'i', 'a', 's', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0', + /* "ebonyriddle.com", true */ 'e', 'b', 'o', 'n', 'y', 'r', 'i', 'd', 'd', 'l', 'e', '.', 'c', 'o', 'm', '\0', /* "ebooki.eu.org", true */ 'e', 'b', 'o', 'o', 'k', 'i', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0', /* "eboyer.com", true */ 'e', 'b', 'o', 'y', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "ebraph.com", true */ 'e', 'b', 'r', 'a', 'p', 'h', '.', 'c', 'o', 'm', '\0', @@ -4919,6 +4911,7 @@ static const char kSTSHostTable[] = { /* "elnan.do", true */ 'e', 'l', 'n', 'a', 'n', '.', 'd', 'o', '\0', /* "eloge.se", true */ 'e', 'l', 'o', 'g', 'e', '.', 's', 'e', '\0', /* "elohna.ch", true */ 'e', 'l', 'o', 'h', 'n', 'a', '.', 'c', 'h', '\0', + /* "elonbase.com", true */ 'e', 'l', 'o', 'n', 'b', 'a', 's', 'e', '.', 'c', 'o', 'm', '\0', /* "eloxt.com", true */ 'e', 'l', 'o', 'x', 't', '.', 'c', 'o', 'm', '\0', /* "elpado.de", true */ 'e', 'l', 'p', 'a', 'd', 'o', '.', 'd', 'e', '\0', /* "elpo.net", true */ 'e', 'l', 'p', 'o', '.', 'n', 'e', 't', '\0', @@ -5055,7 +5048,7 @@ static const char kSTSHostTable[] = { /* "epicwalnutcreek.com", true */ 'e', 'p', 'i', 'c', 'w', 'a', 'l', 'n', 'u', 't', 'c', 'r', 'e', 'e', 'k', '.', 'c', 'o', 'm', '\0', /* "epizentrum.work", true */ 'e', 'p', 'i', 'z', 'e', 'n', 't', 'r', 'u', 'm', '.', 'w', 'o', 'r', 'k', '\0', /* "epizentrum.works", true */ 'e', 'p', 'i', 'z', 'e', 'n', 't', 'r', 'u', 'm', '.', 'w', 'o', 'r', 'k', 's', '\0', - /* "epoch.com", true */ 'e', 'p', 'o', 'c', 'h', '.', 'c', 'o', 'm', '\0', + /* "epoch.com", false */ 'e', 'p', 'o', 'c', 'h', '.', 'c', 'o', 'm', '\0', /* "epostplus.li", true */ 'e', 'p', 'o', 's', 't', 'p', 'l', 'u', 's', '.', 'l', 'i', '\0', /* "eprofitacademy.com", true */ 'e', 'p', 'r', 'o', 'f', 'i', 't', 'a', 'c', 'a', 'd', 'e', 'm', 'y', '.', 'c', 'o', 'm', '\0', /* "epsilon.dk", true */ 'e', 'p', 's', 'i', 'l', 'o', 'n', '.', 'd', 'k', '\0', @@ -5148,7 +5141,6 @@ static const char kSTSHostTable[] = { /* "esono.de", true */ 'e', 's', 'o', 'n', 'o', '.', 'd', 'e', '\0', /* "esoterik.link", true */ 'e', 's', 'o', 't', 'e', 'r', 'i', 'k', '.', 'l', 'i', 'n', 'k', '\0', /* "esp8285.store", true */ 'e', 's', 'p', '8', '2', '8', '5', '.', 's', 't', 'o', 'r', 'e', '\0', - /* "espace-gestion.fr", true */ 'e', 's', 'p', 'a', 'c', 'e', '-', 'g', 'e', 's', 't', 'i', 'o', 'n', '.', 'f', 'r', '\0', /* "espacemontmorency.com", true */ 'e', 's', 'p', 'a', 'c', 'e', 'm', 'o', 'n', 't', 'm', 'o', 'r', 'e', 'n', 'c', 'y', '.', 'c', 'o', 'm', '\0', /* "espacetheosophie.fr", true */ 'e', 's', 'p', 'a', 'c', 'e', 't', 'h', 'e', 'o', 's', 'o', 'p', 'h', 'i', 'e', '.', 'f', 'r', '\0', /* "espanol.search.yahoo.com", false */ 'e', 's', 'p', 'a', 'n', 'o', 'l', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0', @@ -5299,7 +5291,6 @@ static const char kSTSHostTable[] = { /* "exactphilosophy.net", true */ 'e', 'x', 'a', 'c', 't', 'p', 'h', 'i', 'l', 'o', 's', 'o', 'p', 'h', 'y', '.', 'n', 'e', 't', '\0', /* "examenpilotos.com", true */ 'e', 'x', 'a', 'm', 'e', 'n', 'p', 'i', 'l', 'o', 't', 'o', 's', '.', 'c', 'o', 'm', '\0', /* "exceltobarcode.com", true */ 'e', 'x', 'c', 'e', 'l', 't', 'o', 'b', 'a', 'r', 'c', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0', - /* "exceptionalservers.com", true */ 'e', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n', 'a', 'l', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0', /* "excessamerica.com", true */ 'e', 'x', 'c', 'e', 's', 's', 'a', 'm', 'e', 'r', 'i', 'c', 'a', '.', 'c', 'o', 'm', '\0', /* "exchangeworks.co", true */ 'e', 'x', 'c', 'h', 'a', 'n', 'g', 'e', 'w', 'o', 'r', 'k', 's', '.', 'c', 'o', '\0', /* "exehack.net", true */ 'e', 'x', 'e', 'h', 'a', 'c', 'k', '.', 'n', 'e', 't', '\0', @@ -5315,7 +5306,6 @@ static const char kSTSHostTable[] = { /* "exoticads.com", true */ 'e', 'x', 'o', 't', 'i', 'c', 'a', 'd', 's', '.', 'c', 'o', 'm', '\0', /* "exp.de", true */ 'e', 'x', 'p', '.', 'd', 'e', '\0', /* "expancio.com", true */ 'e', 'x', 'p', 'a', 'n', 'c', 'i', 'o', '.', 'c', 'o', 'm', '\0', - /* "expatads.com", true */ 'e', 'x', 'p', 'a', 't', 'a', 'd', 's', '.', 'c', 'o', 'm', '\0', /* "experienceoz.com.au", true */ 'e', 'x', 'p', 'e', 'r', 'i', 'e', 'n', 'c', 'e', 'o', 'z', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0', /* "experteasy.com.au", true */ 'e', 'x', 'p', 'e', 'r', 't', 'e', 'a', 's', 'y', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0', /* "experts-en-gestion.fr", true */ 'e', 'x', 'p', 'e', 'r', 't', 's', '-', 'e', 'n', '-', 'g', 'e', 's', 't', 'i', 'o', 'n', '.', 'f', 'r', '\0', @@ -5575,7 +5565,6 @@ static const char kSTSHostTable[] = { /* "fi.search.yahoo.com", false */ 'f', 'i', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0', /* "fiareapp.red", true */ 'f', 'i', 'a', 'r', 'e', 'a', 'p', 'p', '.', 'r', 'e', 'd', '\0', /* "ficlab.com", true */ 'f', 'i', 'c', 'l', 'a', 'b', '.', 'c', 'o', 'm', '\0', - /* "fics-twosigma.com", true */ 'f', 'i', 'c', 's', '-', 't', 'w', 'o', 's', 'i', 'g', 'm', 'a', '.', 'c', 'o', 'm', '\0', /* "ficus.io", true */ 'f', 'i', 'c', 'u', 's', '.', 'i', 'o', '\0', /* "fid.to", true */ 'f', 'i', 'd', '.', 't', 'o', '\0', /* "fidanza.eu", true */ 'f', 'i', 'd', 'a', 'n', 'z', 'a', '.', 'e', 'u', '\0', @@ -5719,6 +5708,7 @@ static const char kSTSHostTable[] = { /* "flipkey.com", true */ 'f', 'l', 'i', 'p', 'k', 'e', 'y', '.', 'c', 'o', 'm', '\0', /* "flipneus.net", true */ 'f', 'l', 'i', 'p', 'n', 'e', 'u', 's', '.', 'n', 'e', 't', '\0', /* "fliptable.org", true */ 'f', 'l', 'i', 'p', 't', 'a', 'b', 'l', 'e', '.', 'o', 'r', 'g', '\0', + /* "flixtor.net", true */ 'f', 'l', 'i', 'x', 't', 'o', 'r', '.', 'n', 'e', 't', '\0', /* "floaternet.com", true */ 'f', 'l', 'o', 'a', 't', 'e', 'r', 'n', 'e', 't', '.', 'c', 'o', 'm', '\0', /* "flocktofedora.org", true */ 'f', 'l', 'o', 'c', 'k', 't', 'o', 'f', 'e', 'd', 'o', 'r', 'a', '.', 'o', 'r', 'g', '\0', /* "floobits.com", true */ 'f', 'l', 'o', 'o', 'b', 'i', 't', 's', '.', 'c', 'o', 'm', '\0', @@ -5889,6 +5879,8 @@ static const char kSTSHostTable[] = { /* "frappant.cc", true */ 'f', 'r', 'a', 'p', 'p', 'a', 'n', 't', '.', 'c', 'c', '\0', /* "frasesdeamizade.pt", true */ 'f', 'r', 'a', 's', 'e', 's', 'd', 'e', 'a', 'm', 'i', 'z', 'a', 'd', 'e', '.', 'p', 't', '\0', /* "frasesparaface.com.br", true */ 'f', 'r', 'a', 's', 'e', 's', 'p', 'a', 'r', 'a', 'f', 'a', 'c', 'e', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0', + /* "frasys.cloud", true */ 'f', 'r', 'a', 's', 'y', 's', '.', 'c', 'l', 'o', 'u', 'd', '\0', + /* "frasys.net", true */ 'f', 'r', 'a', 's', 'y', 's', '.', 'n', 'e', 't', '\0', /* "frattaroli.org", true */ 'f', 'r', 'a', 't', 't', 'a', 'r', 'o', 'l', 'i', '.', 'o', 'r', 'g', '\0', /* "frau-sucht-bauer.de", true */ 'f', 'r', 'a', 'u', '-', 's', 'u', 'c', 'h', 't', '-', 'b', 'a', 'u', 'e', 'r', '.', 'd', 'e', '\0', /* "fraudempire.com", true */ 'f', 'r', 'a', 'u', 'd', 'e', 'm', 'p', 'i', 'r', 'e', '.', 'c', 'o', 'm', '\0', @@ -6353,6 +6345,7 @@ static const char kSTSHostTable[] = { /* "gigacog.com", true */ 'g', 'i', 'g', 'a', 'c', 'o', 'g', '.', 'c', 'o', 'm', '\0', /* "gigawa.lt", true */ 'g', 'i', 'g', 'a', 'w', 'a', '.', 'l', 't', '\0', /* "gijsbertus.com", true */ 'g', 'i', 'j', 's', 'b', 'e', 'r', 't', 'u', 's', '.', 'c', 'o', 'm', '\0', + /* "gilcloud.com", true */ 'g', 'i', 'l', 'c', 'l', 'o', 'u', 'd', '.', 'c', 'o', 'm', '\0', /* "gillet-cros.fr", true */ 'g', 'i', 'l', 'l', 'e', 't', '-', 'c', 'r', 'o', 's', '.', 'f', 'r', '\0', /* "gillmanandsoame.co.uk", true */ 'g', 'i', 'l', 'l', 'm', 'a', 'n', 'a', 'n', 'd', 's', 'o', 'a', 'm', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "gilroywestwood.org", true */ 'g', 'i', 'l', 'r', 'o', 'y', 'w', 'e', 's', 't', 'w', 'o', 'o', 'd', '.', 'o', 'r', 'g', '\0', @@ -6780,6 +6773,7 @@ static const char kSTSHostTable[] = { /* "hadleighswimmingclub.co.uk", true */ 'h', 'a', 'd', 'l', 'e', 'i', 'g', 'h', 's', 'w', 'i', 'm', 'm', 'i', 'n', 'g', 'c', 'l', 'u', 'b', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "hadouk.in", true */ 'h', 'a', 'd', 'o', 'u', 'k', '.', 'i', 'n', '\0', /* "haeckl.eu", true */ 'h', 'a', 'e', 'c', 'k', 'l', '.', 'e', 'u', '\0', + /* "haehnlein.at", true */ 'h', 'a', 'e', 'h', 'n', 'l', 'e', 'i', 'n', '.', 'a', 't', '\0', /* "haens.li", true */ 'h', 'a', 'e', 'n', 's', '.', 'l', 'i', '\0', /* "haf.gr", true */ 'h', 'a', 'f', '.', 'g', 'r', '\0', /* "hafniatimes.com", true */ 'h', 'a', 'f', 'n', 'i', 'a', 't', 'i', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0', @@ -6893,6 +6887,7 @@ static const char kSTSHostTable[] = { /* "hautarztzentrum.ch", true */ 'h', 'a', 'u', 't', 'a', 'r', 'z', 't', 'z', 'e', 'n', 't', 'r', 'u', 'm', '.', 'c', 'h', '\0', /* "havefunbiking.com", true */ 'h', 'a', 'v', 'e', 'f', 'u', 'n', 'b', 'i', 'k', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "haveibeenpwned.com", true */ 'h', 'a', 'v', 'e', 'i', 'b', 'e', 'e', 'n', 'p', 'w', 'n', 'e', 'd', '.', 'c', 'o', 'm', '\0', + /* "havellab.de", true */ 'h', 'a', 'v', 'e', 'l', 'l', 'a', 'b', '.', 'd', 'e', '\0', /* "havelland-obstler.de", true */ 'h', 'a', 'v', 'e', 'l', 'l', 'a', 'n', 'd', '-', 'o', 'b', 's', 't', 'l', 'e', 'r', '.', 'd', 'e', '\0', /* "havenswift-hosting.co.uk", true */ 'h', 'a', 'v', 'e', 'n', 's', 'w', 'i', 'f', 't', '-', 'h', 'o', 's', 't', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "hawk-la.com", true */ 'h', 'a', 'w', 'k', '-', 'l', 'a', '.', 'c', 'o', 'm', '\0', @@ -7300,6 +7295,7 @@ static const char kSTSHostTable[] = { /* "hstspreload.com", true */ 'h', 's', 't', 's', 'p', 'r', 'e', 'l', 'o', 'a', 'd', '.', 'c', 'o', 'm', '\0', /* "hstspreload.org", true */ 'h', 's', 't', 's', 'p', 'r', 'e', 'l', 'o', 'a', 'd', '.', 'o', 'r', 'g', '\0', /* "hszemi.de", true */ 'h', 's', 'z', 'e', 'm', 'i', '.', 'd', 'e', '\0', + /* "hszhyy120.com", true */ 'h', 's', 'z', 'h', 'y', 'y', '1', '2', '0', '.', 'c', 'o', 'm', '\0', /* "htaccessbook.com", true */ 'h', 't', 'a', 'c', 'c', 'e', 's', 's', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0', /* "htaps.com", true */ 'h', 't', 'a', 'p', 's', '.', 'c', 'o', 'm', '\0', /* "html-lab.tk", true */ 'h', 't', 'm', 'l', '-', 'l', 'a', 'b', '.', 't', 'k', '\0', @@ -7324,6 +7320,7 @@ static const char kSTSHostTable[] = { /* "huaxueba.com", true */ 'h', 'u', 'a', 'x', 'u', 'e', 'b', 'a', '.', 'c', 'o', 'm', '\0', /* "hubert.systems", true */ 'h', 'u', 'b', 'e', 'r', 't', '.', 's', 'y', 's', 't', 'e', 'm', 's', '\0', /* "huberulrich.de", true */ 'h', 'u', 'b', 'e', 'r', 'u', 'l', 'r', 'i', 'c', 'h', '.', 'd', 'e', '\0', + /* "huchet.me", true */ 'h', 'u', 'c', 'h', 'e', 't', '.', 'm', 'e', '\0', /* "hudhaifahgoga.co.za", true */ 'h', 'u', 'd', 'h', 'a', 'i', 'f', 'a', 'h', 'g', 'o', 'g', 'a', '.', 'c', 'o', '.', 'z', 'a', '\0', /* "hudingyuan.cn", true */ 'h', 'u', 'd', 'i', 'n', 'g', 'y', 'u', 'a', 'n', '.', 'c', 'n', '\0', /* "huendeleskopfhuette.de", true */ 'h', 'u', 'e', 'n', 'd', 'e', 'l', 'e', 's', 'k', 'o', 'p', 'f', 'h', 'u', 'e', 't', 't', 'e', '.', 'd', 'e', '\0', @@ -7589,6 +7586,7 @@ static const char kSTSHostTable[] = { /* "immobilier-nice.fr", true */ 'i', 'm', 'm', 'o', 'b', 'i', 'l', 'i', 'e', 'r', '-', 'n', 'i', 'c', 'e', '.', 'f', 'r', '\0', /* "immobilier92.net", true */ 'i', 'm', 'm', 'o', 'b', 'i', 'l', 'i', 'e', 'r', '9', '2', '.', 'n', 'e', 't', '\0', /* "immoralgamingco.com", true */ 'i', 'm', 'm', 'o', 'r', 'a', 'l', 'g', 'a', 'm', 'i', 'n', 'g', 'c', 'o', '.', 'c', 'o', 'm', '\0', + /* "immoralgods.com", true */ 'i', 'm', 'm', 'o', 'r', 'a', 'l', 'g', 'o', 'd', 's', '.', 'c', 'o', 'm', '\0', /* "immunicity.cc", true */ 'i', 'm', 'm', 'u', 'n', 'i', 'c', 'i', 't', 'y', '.', 'c', 'c', '\0', /* "immunicity.date", true */ 'i', 'm', 'm', 'u', 'n', 'i', 'c', 'i', 't', 'y', '.', 'd', 'a', 't', 'e', '\0', /* "immunicity.eu", true */ 'i', 'm', 'm', 'u', 'n', 'i', 'c', 'i', 't', 'y', '.', 'e', 'u', '\0', @@ -7632,7 +7630,6 @@ static const char kSTSHostTable[] = { /* "indesit-training.com", true */ 'i', 'n', 'd', 'e', 's', 'i', 't', '-', 't', 'r', 'a', 'i', 'n', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "index-mp3.com", true */ 'i', 'n', 'd', 'e', 'x', '-', 'm', 'p', '3', '.', 'c', 'o', 'm', '\0', /* "indianaffairs.gov", true */ 'i', 'n', 'd', 'i', 'a', 'n', 'a', 'f', 'f', 'a', 'i', 'r', 's', '.', 'g', 'o', 'v', '\0', - /* "indicateurs-flash.fr", true */ 'i', 'n', 'd', 'i', 'c', 'a', 't', 'e', 'u', 'r', 's', '-', 'f', 'l', 'a', 's', 'h', '.', 'f', 'r', '\0', /* "indiecert.net", false */ 'i', 'n', 'd', 'i', 'e', 'c', 'e', 'r', 't', '.', 'n', 'e', 't', '\0', /* "indievelopment.nl", true */ 'i', 'n', 'd', 'i', 'e', 'v', 'e', 'l', 'o', 'p', 'm', 'e', 'n', 't', '.', 'n', 'l', '\0', /* "indigosakura.com", true */ 'i', 'n', 'd', 'i', 'g', 'o', 's', 'a', 'k', 'u', 'r', 'a', '.', 'c', 'o', 'm', '\0', @@ -7741,6 +7738,7 @@ static const char kSTSHostTable[] = { /* "intarweb.ca", true */ 'i', 'n', 't', 'a', 'r', 'w', 'e', 'b', '.', 'c', 'a', '\0', /* "integraelchen.de", true */ 'i', 'n', 't', 'e', 'g', 'r', 'a', 'e', 'l', 'c', 'h', 'e', 'n', '.', 'd', 'e', '\0', /* "integralblue.com", true */ 'i', 'n', 't', 'e', 'g', 'r', 'a', 'l', 'b', 'l', 'u', 'e', '.', 'c', 'o', 'm', '\0', + /* "integrationinc.com", false */ 'i', 'n', 't', 'e', 'g', 'r', 'a', 't', 'i', 'o', 'n', 'i', 'n', 'c', '.', 'c', 'o', 'm', '\0', /* "integraxor.com.tw", true */ 'i', 'n', 't', 'e', 'g', 'r', 'a', 'x', 'o', 'r', '.', 'c', 'o', 'm', '.', 't', 'w', '\0', /* "integrity.gov", true */ 'i', 'n', 't', 'e', 'g', 'r', 'i', 't', 'y', '.', 'g', 'o', 'v', '\0', /* "integrityingovernmentidaho.com", true */ 'i', 'n', 't', 'e', 'g', 'r', 'i', 't', 'y', 'i', 'n', 'g', 'o', 'v', 'e', 'r', 'n', 'm', 'e', 'n', 't', 'i', 'd', 'a', 'h', 'o', '.', 'c', 'o', 'm', '\0', @@ -7768,6 +7766,7 @@ static const char kSTSHostTable[] = { /* "intermedinet.nl", true */ 'i', 'n', 't', 'e', 'r', 'm', 'e', 'd', 'i', 'n', 'e', 't', '.', 'n', 'l', '\0', /* "internaldh.com", true */ 'i', 'n', 't', 'e', 'r', 'n', 'a', 'l', 'd', 'h', '.', 'c', 'o', 'm', '\0', /* "internaut.co.za", true */ 'i', 'n', 't', 'e', 'r', 'n', 'a', 'u', 't', '.', 'c', 'o', '.', 'z', 'a', '\0', + /* "internect.co.za", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 'c', 't', '.', 'c', 'o', '.', 'z', 'a', '\0', /* "internet-pornografie.de", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', '-', 'p', 'o', 'r', 'n', 'o', 'g', 'r', 'a', 'f', 'i', 'e', '.', 'd', 'e', '\0', /* "internetbank.swedbank.se", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'b', 'a', 'n', 'k', '.', 's', 'w', 'e', 'd', 'b', 'a', 'n', 'k', '.', 's', 'e', '\0', /* "internetbugbounty.org", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'b', 'u', 'g', 'b', 'o', 'u', 'n', 't', 'y', '.', 'o', 'r', 'g', '\0', @@ -7898,7 +7897,6 @@ static const char kSTSHostTable[] = { /* "isbc-telecom.ru", true */ 'i', 's', 'b', 'c', '-', 't', 'e', 'l', 'e', 'c', 'o', 'm', '.', 'r', 'u', '\0', /* "isbengrumpy.com", true */ 'i', 's', 'b', 'e', 'n', 'g', 'r', 'u', 'm', 'p', 'y', '.', 'c', 'o', 'm', '\0', /* "iscert.org", true */ 'i', 's', 'c', 'e', 'r', 't', '.', 'o', 'r', 'g', '\0', - /* "isdf.me", true */ 'i', 's', 'd', 'f', '.', 'm', 'e', '\0', /* "isdown.cz", true */ 'i', 's', 'd', 'o', 'w', 'n', '.', 'c', 'z', '\0', /* "isef-eg.com", true */ 'i', 's', 'e', 'f', '-', 'e', 'g', '.', 'c', 'o', 'm', '\0', /* "iservicio.mx", true */ 'i', 's', 'e', 'r', 'v', 'i', 'c', 'i', 'o', '.', 'm', 'x', '\0', @@ -7929,11 +7927,13 @@ static const char kSTSHostTable[] = { /* "isolta.se", true */ 'i', 's', 'o', 'l', 't', 'a', '.', 's', 'e', '\0', /* "isondo.com", true */ 'i', 's', 'o', 'n', 'd', 'o', '.', 'c', 'o', 'm', '\0', /* "isopres.de", true */ 'i', 's', 'o', 'p', 'r', 'e', 's', '.', 'd', 'e', '\0', + /* "ispo.com.tw", true */ 'i', 's', 'p', 'o', '.', 'c', 'o', 'm', '.', 't', 'w', '\0', /* "ispweb.es", true */ 'i', 's', 'p', 'w', 'e', 'b', '.', 'e', 's', '\0', /* "isqrl.de", true */ 'i', 's', 'q', 'r', 'l', '.', 'd', 'e', '\0', /* "israelbizreg.com", true */ 'i', 's', 'r', 'a', 'e', 'l', 'b', 'i', 'z', 'r', 'e', 'g', '.', 'c', 'o', 'm', '\0', /* "isreedyintheuk.com", true */ 'i', 's', 'r', 'e', 'e', 'd', 'y', 'i', 'n', 't', 'h', 'e', 'u', 'k', '.', 'c', 'o', 'm', '\0', /* "issforum.org", true */ 'i', 's', 's', 'f', 'o', 'r', 'u', 'm', '.', 'o', 'r', 'g', '\0', + /* "issuesofconcern.in", true */ 'i', 's', 's', 'u', 'e', 's', 'o', 'f', 'c', 'o', 'n', 'c', 'e', 'r', 'n', '.', 'i', 'n', '\0', /* "ist-intim.de", true */ 'i', 's', 't', '-', 'i', 'n', 't', 'i', 'm', '.', 'd', 'e', '\0', /* "istanbul.systems", true */ 'i', 's', 't', 'a', 'n', 'b', 'u', 'l', '.', 's', 'y', 's', 't', 'e', 'm', 's', '\0', /* "istdieweltschonuntergegangen.de", true */ 'i', 's', 't', 'd', 'i', 'e', 'w', 'e', 'l', 't', 's', 'c', 'h', 'o', 'n', 'u', 'n', 't', 'e', 'r', 'g', 'e', 'g', 'a', 'n', 'g', 'e', 'n', '.', 'd', 'e', '\0', @@ -7975,7 +7975,6 @@ static const char kSTSHostTable[] = { /* "itfh.eu", true */ 'i', 't', 'f', 'h', '.', 'e', 'u', '\0', /* "itfix.cz", true */ 'i', 't', 'f', 'i', 'x', '.', 'c', 'z', '\0', /* "itforge.nl", true */ 'i', 't', 'f', 'o', 'r', 'g', 'e', '.', 'n', 'l', '\0', - /* "ithenrik.com", true */ 'i', 't', 'h', 'e', 'n', 'r', 'i', 'k', '.', 'c', 'o', 'm', '\0', /* "itilo.de", true */ 'i', 't', 'i', 'l', 'o', '.', 'd', 'e', '\0', /* "itinsight.hu", true */ 'i', 't', 'i', 'n', 's', 'i', 'g', 'h', 't', '.', 'h', 'u', '\0', /* "itis4u.ch", true */ 'i', 't', 'i', 's', '4', 'u', '.', 'c', 'h', '\0', @@ -8023,7 +8022,6 @@ static const char kSTSHostTable[] = { /* "iww.mx", true */ 'i', 'w', 'w', '.', 'm', 'x', '\0', /* "ix8.ru", true */ 'i', 'x', '8', '.', 'r', 'u', '\0', /* "ixds.org", true */ 'i', 'x', 'd', 's', '.', 'o', 'r', 'g', '\0', - /* "ixec2.tk", true */ 'i', 'x', 'e', 'c', '2', '.', 't', 'k', '\0', /* "ixio.cz", true */ 'i', 'x', 'i', 'o', '.', 'c', 'z', '\0', /* "ixnext.de", true */ 'i', 'x', 'n', 'e', 'x', 't', '.', 'd', 'e', '\0', /* "ixquick-proxy.com", true */ 'i', 'x', 'q', 'u', 'i', 'c', 'k', '-', 'p', 'r', 'o', 'x', 'y', '.', 'c', 'o', 'm', '\0', @@ -8071,6 +8069,7 @@ static const char kSTSHostTable[] = { /* "jahofmann.de", true */ 'j', 'a', 'h', 'o', 'f', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0', /* "jaimechanaga.com", true */ 'j', 'a', 'i', 'm', 'e', 'c', 'h', 'a', 'n', 'a', 'g', 'a', '.', 'c', 'o', 'm', '\0', /* "jaispirit.com", true */ 'j', 'a', 'i', 's', 'p', 'i', 'r', 'i', 't', '.', 'c', 'o', 'm', '\0', + /* "jaitnetworking.com", false */ 'j', 'a', 'i', 't', 'n', 'e', 't', 'w', 'o', 'r', 'k', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "jakarta.dating", true */ 'j', 'a', 'k', 'a', 'r', 't', 'a', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0', /* "jake.eu.org", true */ 'j', 'a', 'k', 'e', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0', /* "jake.ml", true */ 'j', 'a', 'k', 'e', '.', 'm', 'l', '\0', @@ -8083,6 +8082,7 @@ static const char kSTSHostTable[] = { /* "jakobejitblokaci.cz", true */ 'j', 'a', 'k', 'o', 'b', 'e', 'j', 'i', 't', 'b', 'l', 'o', 'k', 'a', 'c', 'i', '.', 'c', 'z', '\0', /* "jakobssystems.net", true */ 'j', 'a', 'k', 'o', 'b', 's', 's', 'y', 's', 't', 'e', 'm', 's', '.', 'n', 'e', 't', '\0', /* "jaksi.io", true */ 'j', 'a', 'k', 's', 'i', '.', 'i', 'o', '\0', + /* "jakub-boucek.cz", true */ 'j', 'a', 'k', 'u', 'b', '-', 'b', 'o', 'u', 'c', 'e', 'k', '.', 'c', 'z', '\0', /* "jakubboucek.cz", true */ 'j', 'a', 'k', 'u', 'b', 'b', 'o', 'u', 'c', 'e', 'k', '.', 'c', 'z', '\0', /* "jakubtopic.cz", true */ 'j', 'a', 'k', 'u', 'b', 't', 'o', 'p', 'i', 'c', '.', 'c', 'z', '\0', /* "jakubvrba.cz", true */ 'j', 'a', 'k', 'u', 'b', 'v', 'r', 'b', 'a', '.', 'c', 'z', '\0', @@ -8176,6 +8176,7 @@ static const char kSTSHostTable[] = { /* "jdoi.pw", true */ 'j', 'd', 'o', 'i', '.', 'p', 'w', '\0', /* "jdtic.com", true */ 'j', 'd', 't', 'i', 'c', '.', 'c', 'o', 'm', '\0', /* "jdubya.info", true */ 'j', 'd', 'u', 'b', 'y', 'a', '.', 'i', 'n', 'f', 'o', '\0', + /* "jean-remy.ch", true */ 'j', 'e', 'a', 'n', '-', 'r', 'e', 'm', 'y', '.', 'c', 'h', '\0', /* "jeannelucienne.fr", true */ 'j', 'e', 'a', 'n', 'n', 'e', 'l', 'u', 'c', 'i', 'e', 'n', 'n', 'e', '.', 'f', 'r', '\0', /* "jedentageinegutetarte.de", true */ 'j', 'e', 'd', 'e', 'n', 't', 'a', 'g', 'e', 'i', 'n', 'e', 'g', 'u', 't', 'e', 't', 'a', 'r', 't', 'e', '.', 'd', 'e', '\0', /* "jedipedia.net", true */ 'j', 'e', 'd', 'i', 'p', 'e', 'd', 'i', 'a', '.', 'n', 'e', 't', '\0', @@ -8316,6 +8317,7 @@ static const char kSTSHostTable[] = { /* "johnvanhese.nl", true */ 'j', 'o', 'h', 'n', 'v', 'a', 'n', 'h', 'e', 's', 'e', '.', 'n', 'l', '\0', /* "johnverkerk.com", true */ 'j', 'o', 'h', 'n', 'v', 'e', 'r', 'k', 'e', 'r', 'k', '.', 'c', 'o', 'm', '\0', /* "jointoweb.com", true */ 'j', 'o', 'i', 'n', 't', 'o', 'w', 'e', 'b', '.', 'c', 'o', 'm', '\0', + /* "jokescoff.com", true */ 'j', 'o', 'k', 'e', 's', 'c', 'o', 'f', 'f', '.', 'c', 'o', 'm', '\0', /* "jokewignand.nl", true */ 'j', 'o', 'k', 'e', 'w', 'i', 'g', 'n', 'a', 'n', 'd', '.', 'n', 'l', '\0', /* "jollausers.de", true */ 'j', 'o', 'l', 'l', 'a', 'u', 's', 'e', 'r', 's', '.', 'd', 'e', '\0', /* "jomo.tv", true */ 'j', 'o', 'm', 'o', '.', 't', 'v', '\0', @@ -8326,6 +8328,7 @@ static const char kSTSHostTable[] = { /* "jonasmoeller.de", true */ 'j', 'o', 'n', 'a', 's', 'm', 'o', 'e', 'l', 'l', 'e', 'r', '.', 'd', 'e', '\0', /* "jonaswitmer.ch", true */ 'j', 'o', 'n', 'a', 's', 'w', 'i', 't', 'm', 'e', 'r', '.', 'c', 'h', '\0', /* "jonathan-apps.com", true */ 'j', 'o', 'n', 'a', 't', 'h', 'a', 'n', '-', 'a', 'p', 'p', 's', '.', 'c', 'o', 'm', '\0', + /* "jonathancarter.org", true */ 'j', 'o', 'n', 'a', 't', 'h', 'a', 'n', 'c', 'a', 'r', 't', 'e', 'r', '.', 'o', 'r', 'g', '\0', /* "jonathandowning.uk", true */ 'j', 'o', 'n', 'a', 't', 'h', 'a', 'n', 'd', 'o', 'w', 'n', 'i', 'n', 'g', '.', 'u', 'k', '\0', /* "jondarby.com", true */ 'j', 'o', 'n', 'd', 'a', 'r', 'b', 'y', '.', 'c', 'o', 'm', '\0', /* "jondevin.com", true */ 'j', 'o', 'n', 'd', 'e', 'v', 'i', 'n', '.', 'c', 'o', 'm', '\0', @@ -8353,7 +8356,6 @@ static const char kSTSHostTable[] = { /* "jornadasciberdefensa2016.es", true */ 'j', 'o', 'r', 'n', 'a', 'd', 'a', 's', 'c', 'i', 'b', 'e', 'r', 'd', 'e', 'f', 'e', 'n', 's', 'a', '2', '0', '1', '6', '.', 'e', 's', '\0', /* "jornane.me", true */ 'j', 'o', 'r', 'n', 'a', 'n', 'e', '.', 'm', 'e', '\0', /* "jornane.nl", true */ 'j', 'o', 'r', 'n', 'a', 'n', 'e', '.', 'n', 'l', '\0', - /* "jornane.no", true */ 'j', 'o', 'r', 'n', 'a', 'n', 'e', '.', 'n', 'o', '\0', /* "jorrit.info", true */ 'j', 'o', 'r', 'r', 'i', 't', '.', 'i', 'n', 'f', 'o', '\0', /* "joscares.com", true */ 'j', 'o', 's', 'c', 'a', 'r', 'e', 's', '.', 'c', 'o', 'm', '\0', /* "josecage.com", true */ 'j', 'o', 's', 'e', 'c', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0', @@ -8425,6 +8427,7 @@ static const char kSTSHostTable[] = { /* "julientartarin.com", true */ 'j', 'u', 'l', 'i', 'e', 'n', 't', 'a', 'r', 't', 'a', 'r', 'i', 'n', '.', 'c', 'o', 'm', '\0', /* "julio.jamil.nom.br", true */ 'j', 'u', 'l', 'i', 'o', '.', 'j', 'a', 'm', 'i', 'l', '.', 'n', 'o', 'm', '.', 'b', 'r', '\0', /* "jultube.de", true */ 'j', 'u', 'l', 't', 'u', 'b', 'e', '.', 'd', 'e', '\0', + /* "jumba.com.au", true */ 'j', 'u', 'm', 'b', 'a', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0', /* "jump.bg", true */ 'j', 'u', 'm', 'p', '.', 'b', 'g', '\0', /* "jump.wtf", true */ 'j', 'u', 'm', 'p', '.', 'w', 't', 'f', '\0', /* "jumping-duck.com", true */ 'j', 'u', 'm', 'p', 'i', 'n', 'g', '-', 'd', 'u', 'c', 'k', '.', 'c', 'o', 'm', '\0', @@ -8975,9 +8978,9 @@ static const char kSTSHostTable[] = { /* "kreuzpfadfinder.de", true */ 'k', 'r', 'e', 'u', 'z', 'p', 'f', 'a', 'd', 'f', 'i', 'n', 'd', 'e', 'r', '.', 'd', 'e', '\0', /* "kriechel.de", true */ 'k', 'r', 'i', 'e', 'c', 'h', 'e', 'l', '.', 'd', 'e', '\0', /* "kriegskindernothilfe.de", true */ 'k', 'r', 'i', 'e', 'g', 's', 'k', 'i', 'n', 'd', 'e', 'r', 'n', 'o', 't', 'h', 'i', 'l', 'f', 'e', '.', 'd', 'e', '\0', + /* "kriptosec.com", true */ 'k', 'r', 'i', 'p', 't', 'o', 's', 'e', 'c', '.', 'c', 'o', 'm', '\0', /* "krislamoureux.com", true */ 'k', 'r', 'i', 's', 'l', 'a', 'm', 'o', 'u', 'r', 'e', 'u', 'x', '.', 'c', 'o', 'm', '\0', /* "krisstarkey.co.uk", true */ 'k', 'r', 'i', 's', 's', 't', 'a', 'r', 'k', 'e', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0', - /* "kristikala.nl", true */ 'k', 'r', 'i', 's', 't', 'i', 'k', 'a', 'l', 'a', '.', 'n', 'l', '\0', /* "kristinbailey.com", true */ 'k', 'r', 'i', 's', 't', 'i', 'n', 'b', 'a', 'i', 'l', 'e', 'y', '.', 'c', 'o', 'm', '\0', /* "kristjanrang.eu", true */ 'k', 'r', 'i', 's', 't', 'j', 'a', 'n', 'r', 'a', 'n', 'g', '.', 'e', 'u', '\0', /* "kristofferkoch.com", true */ 'k', 'r', 'i', 's', 't', 'o', 'f', 'f', 'e', 'r', 'k', 'o', 'c', 'h', '.', 'c', 'o', 'm', '\0', @@ -9054,7 +9057,6 @@ static const char kSTSHostTable[] = { /* "kuwago.io", true */ 'k', 'u', 'w', 'a', 'g', 'o', '.', 'i', 'o', '\0', /* "kvalita-1a.cz", true */ 'k', 'v', 'a', 'l', 'i', 't', 'a', '-', '1', 'a', '.', 'c', 'z', '\0', /* "kvetinymilt.cz", true */ 'k', 'v', 'e', 't', 'i', 'n', 'y', 'm', 'i', 'l', 't', '.', 'c', 'z', '\0', - /* "kvhile.com", false */ 'k', 'v', 'h', 'i', 'l', 'e', '.', 'c', 'o', 'm', '\0', /* "kwbresidential.com", true */ 'k', 'w', 'b', 'r', 'e', 's', 'i', 'd', 'e', 'n', 't', 'i', 'a', 'l', '.', 'c', 'o', 'm', '\0', /* "kwidz.fr", true */ 'k', 'w', 'i', 'd', 'z', '.', 'f', 'r', '\0', /* "kwikmed.eu", false */ 'k', 'w', 'i', 'k', 'm', 'e', 'd', '.', 'e', 'u', '\0', @@ -9390,7 +9392,6 @@ static const char kSTSHostTable[] = { /* "li-ke.co.jp", true */ 'l', 'i', '-', 'k', 'e', '.', 'c', 'o', '.', 'j', 'p', '\0', /* "liangji.com.tw", false */ 'l', 'i', 'a', 'n', 'g', 'j', 'i', '.', 'c', 'o', 'm', '.', 't', 'w', '\0', /* "liaronce.win", true */ 'l', 'i', 'a', 'r', 'o', 'n', 'c', 'e', '.', 'w', 'i', 'n', '\0', - /* "libanco.com", true */ 'l', 'i', 'b', 'a', 'n', 'c', 'o', '.', 'c', 'o', 'm', '\0', /* "libble.eu", true */ 'l', 'i', 'b', 'b', 'l', 'e', '.', 'e', 'u', '\0', /* "libertas-tech.com", true */ 'l', 'i', 'b', 'e', 'r', 't', 'a', 's', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0', /* "libfte.org", true */ 'l', 'i', 'b', 'f', 't', 'e', '.', 'o', 'r', 'g', '\0', @@ -9399,7 +9400,6 @@ static const char kSTSHostTable[] = { /* "libraryextension.com", true */ 'l', 'i', 'b', 'r', 'a', 'r', 'y', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "libraryfreedomproject.org", false */ 'l', 'i', 'b', 'r', 'a', 'r', 'y', 'f', 'r', 'e', 'e', 'd', 'o', 'm', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0', /* "libreboot.org", true */ 'l', 'i', 'b', 'r', 'e', 'b', 'o', 'o', 't', '.', 'o', 'r', 'g', '\0', - /* "libreduca.com", true */ 'l', 'i', 'b', 'r', 'e', 'd', 'u', 'c', 'a', '.', 'c', 'o', 'm', '\0', /* "librelamp.com", true */ 'l', 'i', 'b', 'r', 'e', 'l', 'a', 'm', 'p', '.', 'c', 'o', 'm', '\0', /* "librends.org", true */ 'l', 'i', 'b', 'r', 'e', 'n', 'd', 's', '.', 'o', 'r', 'g', '\0', /* "librervac.org", true */ 'l', 'i', 'b', 'r', 'e', 'r', 'v', 'a', 'c', '.', 'o', 'r', 'g', '\0', @@ -9553,8 +9553,6 @@ static const char kSTSHostTable[] = { /* "liverpoolmutualhomes.org", false */ 'l', 'i', 'v', 'e', 'r', 'p', 'o', 'o', 'l', 'm', 'u', 't', 'u', 'a', 'l', 'h', 'o', 'm', 'e', 's', '.', 'o', 'r', 'g', '\0', /* "living-space.co.nz", true */ 'l', 'i', 'v', 'i', 'n', 'g', '-', 's', 'p', 'a', 'c', 'e', '.', 'c', 'o', '.', 'n', 'z', '\0', /* "livingworduk.org", true */ 'l', 'i', 'v', 'i', 'n', 'g', 'w', 'o', 'r', 'd', 'u', 'k', '.', 'o', 'r', 'g', '\0', - /* "livnev.me", true */ 'l', 'i', 'v', 'n', 'e', 'v', '.', 'm', 'e', '\0', - /* "livnev.xyz", true */ 'l', 'i', 'v', 'n', 'e', 'v', '.', 'x', 'y', 'z', '\0', /* "livolett.de", true */ 'l', 'i', 'v', 'o', 'l', 'e', 't', 't', '.', 'd', 'e', '\0', /* "lixingcong.com", false */ 'l', 'i', 'x', 'i', 'n', 'g', 'c', 'o', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "lizardsystems.com", true */ 'l', 'i', 'z', 'a', 'r', 'd', 's', 'y', 's', 't', 'e', 'm', 's', '.', 'c', 'o', 'm', '\0', @@ -9963,7 +9961,6 @@ static const char kSTSHostTable[] = { /* "managementboek.nl", true */ 'm', 'a', 'n', 'a', 'g', 'e', 'm', 'e', 'n', 't', 'b', 'o', 'e', 'k', '.', 'n', 'l', '\0', /* "manageprojects.com", true */ 'm', 'a', 'n', 'a', 'g', 'e', 'p', 'r', 'o', 'j', 'e', 'c', 't', 's', '.', 'c', 'o', 'm', '\0', /* "manager.linode.com", false */ 'm', 'a', 'n', 'a', 'g', 'e', 'r', '.', 'l', 'i', 'n', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0', - /* "managewp.org", true */ 'm', 'a', 'n', 'a', 'g', 'e', 'w', 'p', '.', 'o', 'r', 'g', '\0', /* "manantial.mx", true */ 'm', 'a', 'n', 'a', 'n', 't', 'i', 'a', 'l', '.', 'm', 'x', '\0', /* "mandala-ausmalbilder.de", true */ 'm', 'a', 'n', 'd', 'a', 'l', 'a', '-', 'a', 'u', 's', 'm', 'a', 'l', 'b', 'i', 'l', 'd', 'e', 'r', '.', 'd', 'e', '\0', /* "manesht.ir", true */ 'm', 'a', 'n', 'e', 's', 'h', 't', '.', 'i', 'r', '\0', @@ -10175,7 +10172,6 @@ static const char kSTSHostTable[] = { /* "mayrhofer.eu.org", true */ 'm', 'a', 'y', 'r', 'h', 'o', 'f', 'e', 'r', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0', /* "mazda-mps.de", true */ 'm', 'a', 'z', 'd', 'a', '-', 'm', 'p', 's', '.', 'd', 'e', '\0', /* "maze.fr", true */ 'm', 'a', 'z', 'e', '.', 'f', 'r', '\0', - /* "mazz-tech.com", true */ 'm', 'a', 'z', 'z', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0', /* "mb-is.info", true */ 'm', 'b', '-', 'i', 's', '.', 'i', 'n', 'f', 'o', '\0', /* "mbaestlein.de", true */ 'm', 'b', 'a', 'e', 's', 't', 'l', 'e', 'i', 'n', '.', 'd', 'e', '\0', /* "mbardot.com", true */ 'm', 'b', 'a', 'r', 'd', 'o', 't', '.', 'c', 'o', 'm', '\0', @@ -10448,7 +10444,6 @@ static const char kSTSHostTable[] = { /* "midonet.org", true */ 'm', 'i', 'd', 'o', 'n', 'e', 't', '.', 'o', 'r', 'g', '\0', /* "midwestbloggers.org", true */ 'm', 'i', 'd', 'w', 'e', 's', 't', 'b', 'l', 'o', 'g', 'g', 'e', 'r', 's', '.', 'o', 'r', 'g', '\0', /* "miegl.cz", true */ 'm', 'i', 'e', 'g', 'l', '.', 'c', 'z', '\0', - /* "miemie.jp", true */ 'm', 'i', 'e', 'm', 'i', 'e', '.', 'j', 'p', '\0', /* "mig5.net", true */ 'm', 'i', 'g', '5', '.', 'n', 'e', 't', '\0', /* "mightymillionsraffle.com", true */ 'm', 'i', 'g', 'h', 't', 'y', 'm', 'i', 'l', 'l', 'i', 'o', 'n', 's', 'r', 'a', 'f', 'f', 'l', 'e', '.', 'c', 'o', 'm', '\0', /* "migrator.co", true */ 'm', 'i', 'g', 'r', 'a', 't', 'o', 'r', '.', 'c', 'o', '\0', @@ -10617,7 +10612,6 @@ static const char kSTSHostTable[] = { /* "mktdigital.info", true */ 'm', 'k', 't', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'i', 'n', 'f', 'o', '\0', /* "mktemp.org", true */ 'm', 'k', 't', 'e', 'm', 'p', '.', 'o', 'r', 'g', '\0', /* "mkuznets.com", true */ 'm', 'k', 'u', 'z', 'n', 'e', 't', 's', '.', 'c', 'o', 'm', '\0', - /* "mlcdn.co", true */ 'm', 'l', 'c', 'd', 'n', '.', 'c', 'o', '\0', /* "mlcnfriends.com", true */ 'm', 'l', 'c', 'n', 'f', 'r', 'i', 'e', 'n', 'd', 's', '.', 'c', 'o', 'm', '\0', /* "mlemay.com", true */ 'm', 'l', 'e', 'm', 'a', 'y', '.', 'c', 'o', 'm', '\0', /* "mlp.ee", true */ 'm', 'l', 'p', '.', 'e', 'e', '\0', @@ -10718,7 +10712,6 @@ static const char kSTSHostTable[] = { /* "monautoneuve.fr", true */ 'm', 'o', 'n', 'a', 'u', 't', 'o', 'n', 'e', 'u', 'v', 'e', '.', 'f', 'r', '\0', /* "mondedie.fr", true */ 'm', 'o', 'n', 'd', 'e', 'd', 'i', 'e', '.', 'f', 'r', '\0', /* "mondwandler.de", true */ 'm', 'o', 'n', 'd', 'w', 'a', 'n', 'd', 'l', 'e', 'r', '.', 'd', 'e', '\0', - /* "moneromerchant.com", true */ 'm', 'o', 'n', 'e', 'r', 'o', 'm', 'e', 'r', 'c', 'h', 'a', 'n', 't', '.', 'c', 'o', 'm', '\0', /* "moneycrownmedia.com", true */ 'm', 'o', 'n', 'e', 'y', 'c', 'r', 'o', 'w', 'n', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0', /* "moneygo.se", true */ 'm', 'o', 'n', 'e', 'y', 'g', 'o', '.', 's', 'e', '\0', /* "moneyhouse.de", true */ 'm', 'o', 'n', 'e', 'y', 'h', 'o', 'u', 's', 'e', '.', 'd', 'e', '\0', @@ -11059,7 +11052,7 @@ static const char kSTSHostTable[] = { /* "myvpl.com", true */ 'm', 'y', 'v', 'p', 'l', '.', 'c', 'o', 'm', '\0', /* "mywari.com", true */ 'm', 'y', 'w', 'a', 'r', 'i', '.', 'c', 'o', 'm', '\0', /* "myweb360.de", true */ 'm', 'y', 'w', 'e', 'b', '3', '6', '0', '.', 'd', 'e', '\0', - /* "myworkinfo.com", true */ 'm', 'y', 'w', 'o', 'r', 'k', 'i', 'n', 'f', 'o', '.', 'c', 'o', 'm', '\0', + /* "myworkinfo.com", false */ 'm', 'y', 'w', 'o', 'r', 'k', 'i', 'n', 'f', 'o', '.', 'c', 'o', 'm', '\0', /* "myworth.com.au", true */ 'm', 'y', 'w', 'o', 'r', 't', 'h', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0', /* "myzina.cz", false */ 'm', 'y', 'z', 'i', 'n', 'a', '.', 'c', 'z', '\0', /* "mziulu.me", false */ 'm', 'z', 'i', 'u', 'l', 'u', '.', 'm', 'e', '\0', @@ -11211,7 +11204,6 @@ static const char kSTSHostTable[] = { /* "negativecurvature.net", true */ 'n', 'e', 'g', 'a', 't', 'i', 'v', 'e', 'c', 'u', 'r', 'v', 'a', 't', 'u', 'r', 'e', '.', 'n', 'e', 't', '\0', /* "neglecteddiseases.gov", true */ 'n', 'e', 'g', 'l', 'e', 'c', 't', 'e', 'd', 'd', 'i', 's', 'e', 'a', 's', 'e', 's', '.', 'g', 'o', 'v', '\0', /* "neillans.co.uk", true */ 'n', 'e', 'i', 'l', 'l', 'a', 'n', 's', '.', 'c', 'o', '.', 'u', 'k', '\0', - /* "neillans.com", true */ 'n', 'e', 'i', 'l', 'l', 'a', 'n', 's', '.', 'c', 'o', 'm', '\0', /* "neilwynne.com", true */ 'n', 'e', 'i', 'l', 'w', 'y', 'n', 'n', 'e', '.', 'c', 'o', 'm', '\0', /* "neko-nyan.org", true */ 'n', 'e', 'k', 'o', '-', 'n', 'y', 'a', 'n', '.', 'o', 'r', 'g', '\0', /* "neko.li", true */ 'n', 'e', 'k', 'o', '.', 'l', 'i', '\0', @@ -11442,7 +11434,6 @@ static const char kSTSHostTable[] = { /* "nikao-tech.com", true */ 'n', 'i', 'k', 'a', 'o', '-', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0', /* "nikklassen.ca", true */ 'n', 'i', 'k', 'k', 'l', 'a', 's', 's', 'e', 'n', '.', 'c', 'a', '\0', /* "nikksno.io", true */ 'n', 'i', 'k', 'k', 's', 'n', 'o', '.', 'i', 'o', '\0', - /* "niklas.pw", true */ 'n', 'i', 'k', 'l', 'a', 's', '.', 'p', 'w', '\0', /* "nikobradshaw.com", true */ 'n', 'i', 'k', 'o', 'b', 'r', 'a', 'd', 's', 'h', 'a', 'w', '.', 'c', 'o', 'm', '\0', /* "nikolaichik.photo", true */ 'n', 'i', 'k', 'o', 'l', 'a', 'i', 'c', 'h', 'i', 'k', '.', 'p', 'h', 'o', 't', 'o', '\0', /* "nikolasbradshaw.com", true */ 'n', 'i', 'k', 'o', 'l', 'a', 's', 'b', 'r', 'a', 'd', 's', 'h', 'a', 'w', '.', 'c', 'o', 'm', '\0', @@ -11521,6 +11512,7 @@ static const char kSTSHostTable[] = { /* "nootropic.com", true */ 'n', 'o', 'o', 't', 'r', 'o', 'p', 'i', 'c', '.', 'c', 'o', 'm', '\0', /* "nootropicsource.com", true */ 'n', 'o', 'o', 't', 'r', 'o', 'p', 'i', 'c', 's', 'o', 'u', 'r', 'c', 'e', '.', 'c', 'o', 'm', '\0', /* "nord-sud.be", true */ 'n', 'o', 'r', 'd', '-', 's', 'u', 'd', '.', 'b', 'e', '\0', + /* "nordiccasinocommunity.com", true */ 'n', 'o', 'r', 'd', 'i', 'c', 'c', 'a', 's', 'i', 'n', 'o', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0', /* "nordlicht.photography", true */ 'n', 'o', 'r', 'd', 'l', 'i', 'c', 'h', 't', '.', 'p', 'h', 'o', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '\0', /* "nordor.homeip.net", true */ 'n', 'o', 'r', 'd', 'o', 'r', '.', 'h', 'o', 'm', 'e', 'i', 'p', '.', 'n', 'e', 't', '\0', /* "nordseeblicke.de", true */ 'n', 'o', 'r', 'd', 's', 'e', 'e', 'b', 'l', 'i', 'c', 'k', 'e', '.', 'd', 'e', '\0', @@ -11574,7 +11566,6 @@ static const char kSTSHostTable[] = { /* "novabench.com", true */ 'n', 'o', 'v', 'a', 'b', 'e', 'n', 'c', 'h', '.', 'c', 'o', 'm', '\0', /* "novaco.in", true */ 'n', 'o', 'v', 'a', 'c', 'o', '.', 'i', 'n', '\0', /* "novafreixo.pt", true */ 'n', 'o', 'v', 'a', 'f', 'r', 'e', 'i', 'x', 'o', '.', 'p', 't', '\0', - /* "novascan.net", true */ 'n', 'o', 'v', 'a', 's', 'c', 'a', 'n', '.', 'n', 'e', 't', '\0', /* "novavoidhowl.com", true */ 'n', 'o', 'v', 'a', 'v', 'o', 'i', 'd', 'h', 'o', 'w', 'l', '.', 'c', 'o', 'm', '\0', /* "novelfeed.com", true */ 'n', 'o', 'v', 'e', 'l', 'f', 'e', 'e', 'd', '.', 'c', 'o', 'm', '\0', /* "novelshouse.com", true */ 'n', 'o', 'v', 'e', 'l', 's', 'h', 'o', 'u', 's', 'e', '.', 'c', 'o', 'm', '\0', @@ -11622,6 +11613,7 @@ static const char kSTSHostTable[] = { /* "numatic.co.uk", true */ 'n', 'u', 'm', 'a', 't', 'i', 'c', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "numbercult.net", true */ 'n', 'u', 'm', 'b', 'e', 'r', 'c', 'u', 'l', 't', '.', 'n', 'e', 't', '\0', /* "numberoneshoes.co.nz", true */ 'n', 'u', 'm', 'b', 'e', 'r', 'o', 'n', 'e', 's', 'h', 'o', 'e', 's', '.', 'c', 'o', '.', 'n', 'z', '\0', + /* "numberzero.org", true */ 'n', 'u', 'm', 'b', 'e', 'r', 'z', 'e', 'r', 'o', '.', 'o', 'r', 'g', '\0', /* "numero-aleatorio.com", true */ 'n', 'u', 'm', 'e', 'r', 'o', '-', 'a', 'l', 'e', 'a', 't', 'o', 'r', 'i', 'o', '.', 'c', 'o', 'm', '\0', /* "numm.fr", true */ 'n', 'u', 'm', 'm', '.', 'f', 'r', '\0', /* "nunomoura.com", true */ 'n', 'u', 'n', 'o', 'm', 'o', 'u', 'r', 'a', '.', 'c', 'o', 'm', '\0', @@ -11636,6 +11628,7 @@ static const char kSTSHostTable[] = { /* "nuttyveg.com", true */ 'n', 'u', 't', 't', 'y', 'v', 'e', 'g', '.', 'c', 'o', 'm', '\0', /* "nuvechtdal.nl", true */ 'n', 'u', 'v', 'e', 'c', 'h', 't', 'd', 'a', 'l', '.', 'n', 'l', '\0', /* "nuvini.com", true */ 'n', 'u', 'v', 'i', 'n', 'i', '.', 'c', 'o', 'm', '\0', + /* "nuxer.fr", true */ 'n', 'u', 'x', 'e', 'r', '.', 'f', 'r', '\0', /* "nvlop.xyz", true */ 'n', 'v', 'l', 'o', 'p', '.', 'x', 'y', 'z', '\0', /* "nvr.bz", true */ 'n', 'v', 'r', '.', 'b', 'z', '\0', /* "nwerc.party", true */ 'n', 'w', 'e', 'r', 'c', '.', 'p', 'a', 'r', 't', 'y', '\0', @@ -11715,8 +11708,6 @@ static const char kSTSHostTable[] = { /* "odysseyconservationtrust.com", true */ 'o', 'd', 'y', 's', 's', 'e', 'y', 'c', 'o', 'n', 's', 'e', 'r', 'v', 'a', 't', 'i', 'o', 'n', 't', 'r', 'u', 's', 't', '.', 'c', 'o', 'm', '\0', /* "oec-music.com", true */ 'o', 'e', 'c', '-', 'm', 'u', 's', 'i', 'c', '.', 'c', 'o', 'm', '\0', /* "oeh.ac.at", true */ 'o', 'e', 'h', '.', 'a', 'c', '.', 'a', 't', '\0', - /* "oeko-bundesfreiwilligendienst-sh.de", true */ 'o', 'e', 'k', 'o', '-', 'b', 'u', 'n', 'd', 'e', 's', 'f', 'r', 'e', 'i', 'w', 'i', 'l', 'l', 'i', 'g', 'e', 'n', 'd', 'i', 'e', 'n', 's', 't', '-', 's', 'h', '.', 'd', 'e', '\0', - /* "oeko-bundesfreiwilligendienst.de", true */ 'o', 'e', 'k', 'o', '-', 'b', 'u', 'n', 'd', 'e', 's', 'f', 'r', 'e', 'i', 'w', 'i', 'l', 'l', 'i', 'g', 'e', 'n', 'd', 'i', 'e', 'n', 's', 't', '.', 'd', 'e', '\0', /* "oeko-jahr-jubilaeum.de", true */ 'o', 'e', 'k', 'o', '-', 'j', 'a', 'h', 'r', '-', 'j', 'u', 'b', 'i', 'l', 'a', 'e', 'u', 'm', '.', 'd', 'e', '\0', /* "oeko-jahr.de", true */ 'o', 'e', 'k', 'o', '-', 'j', 'a', 'h', 'r', '.', 'd', 'e', '\0', /* "oelsner.net", true */ 'o', 'e', 'l', 's', 'n', 'e', 'r', '.', 'n', 'e', 't', '\0', @@ -11733,6 +11724,7 @@ static const char kSTSHostTable[] = { /* "oftn.org", true */ 'o', 'f', 't', 'n', '.', 'o', 'r', 'g', '\0', /* "oglen.ca", true */ 'o', 'g', 'l', 'e', 'n', '.', 'c', 'a', '\0', /* "ogocare.com", true */ 'o', 'g', 'o', 'c', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0', + /* "oguya.ch", true */ 'o', 'g', 'u', 'y', 'a', '.', 'c', 'h', '\0', /* "oh14.de", true */ 'o', 'h', '1', '4', '.', 'd', 'e', '\0', /* "ohayosoro.me", true */ 'o', 'h', 'a', 'y', 'o', 's', 'o', 'r', 'o', '.', 'm', 'e', '\0', /* "oheila.com", true */ 'o', 'h', 'e', 'i', 'l', 'a', '.', 'c', 'o', 'm', '\0', @@ -11744,6 +11736,7 @@ static const char kSTSHostTable[] = { /* "ohnemusik.com", true */ 'o', 'h', 'n', 'e', 'm', 'u', 's', 'i', 'k', '.', 'c', 'o', 'm', '\0', /* "ohsocool.org", true */ 'o', 'h', 's', 'o', 'c', 'o', 'o', 'l', '.', 'o', 'r', 'g', '\0', /* "ohyooo.com", true */ 'o', 'h', 'y', 'o', 'o', 'o', '.', 'c', 'o', 'm', '\0', + /* "oiepoie.nl", false */ 'o', 'i', 'e', 'p', 'o', 'i', 'e', '.', 'n', 'l', '\0', /* "ojls.co", true */ 'o', 'j', 'l', 's', '.', 'c', 'o', '\0', /* "ojp.gov", true */ 'o', 'j', 'p', '.', 'g', 'o', 'v', '\0', /* "okad-center.de", true */ 'o', 'k', 'a', 'd', '-', 'c', 'e', 'n', 't', 'e', 'r', '.', 'd', 'e', '\0', @@ -12014,6 +12007,7 @@ static const char kSTSHostTable[] = { /* "oxanababy.com", true */ 'o', 'x', 'a', 'n', 'a', 'b', 'a', 'b', 'y', '.', 'c', 'o', 'm', '\0', /* "oxygaming.com", true */ 'o', 'x', 'y', 'g', 'a', 'm', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "oxymc.com", true */ 'o', 'x', 'y', 'm', 'c', '.', 'c', 'o', 'm', '\0', + /* "oxynux.xyz", true */ 'o', 'x', 'y', 'n', 'u', 'x', '.', 'x', 'y', 'z', '\0', /* "oxytocin.org", true */ 'o', 'x', 'y', 't', 'o', 'c', 'i', 'n', '.', 'o', 'r', 'g', '\0', /* "oyste.in", true */ 'o', 'y', 's', 't', 'e', '.', 'i', 'n', '\0', /* "oznamovacipovinnost.cz", true */ 'o', 'z', 'n', 'a', 'm', 'o', 'v', 'a', 'c', 'i', 'p', 'o', 'v', 'i', 'n', 'n', 'o', 's', 't', '.', 'c', 'z', '\0', @@ -12049,6 +12043,7 @@ static const char kSTSHostTable[] = { /* "pajonzeck.de", true */ 'p', 'a', 'j', 'o', 'n', 'z', 'e', 'c', 'k', '.', 'd', 'e', '\0', /* "pajowu.de", true */ 'p', 'a', 'j', 'o', 'w', 'u', '.', 'd', 'e', '\0', /* "pajuvuo.fi", true */ 'p', 'a', 'j', 'u', 'v', 'u', 'o', '.', 'f', 'i', '\0', + /* "paket.io", true */ 'p', 'a', 'k', 'e', 't', '.', 'i', 'o', '\0', /* "pakistani.dating", true */ 'p', 'a', 'k', 'i', 's', 't', 'a', 'n', 'i', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0', /* "pakitow.fr", true */ 'p', 'a', 'k', 'i', 't', 'o', 'w', '.', 'f', 'r', '\0', /* "pakke.de", true */ 'p', 'a', 'k', 'k', 'e', '.', 'd', 'e', '\0', @@ -12436,7 +12431,6 @@ static const char kSTSHostTable[] = { /* "phpprime.com", true */ 'p', 'h', 'p', 'p', 'r', 'i', 'm', 'e', '.', 'c', 'o', 'm', '\0', /* "phpsecure.info", true */ 'p', 'h', 'p', 's', 'e', 'c', 'u', 'r', 'e', '.', 'i', 'n', 'f', 'o', '\0', /* "phra.gs", true */ 'p', 'h', 'r', 'a', '.', 'g', 's', '\0', - /* "phryanjr.com", false */ 'p', 'h', 'r', 'y', 'a', 'n', 'j', 'r', '.', 'c', 'o', 'm', '\0', /* "phryneas.de", true */ 'p', 'h', 'r', 'y', 'n', 'e', 'a', 's', '.', 'd', 'e', '\0', /* "phuket-idc.com", true */ 'p', 'h', 'u', 'k', 'e', 't', '-', 'i', 'd', 'c', '.', 'c', 'o', 'm', '\0', /* "phunehehe.net", true */ 'p', 'h', 'u', 'n', 'e', 'h', 'e', 'h', 'e', '.', 'n', 'e', 't', '\0', @@ -12491,7 +12485,6 @@ static const char kSTSHostTable[] = { /* "piliszek.net", true */ 'p', 'i', 'l', 'i', 's', 'z', 'e', 'k', '.', 'n', 'e', 't', '\0', /* "pimhaarsma.nl", true */ 'p', 'i', 'm', 'h', 'a', 'a', 'r', 's', 'm', 'a', '.', 'n', 'l', '\0', /* "pimhaarsmamedia.nl", true */ 'p', 'i', 'm', 'h', 'a', 'a', 'r', 's', 'm', 'a', 'm', 'e', 'd', 'i', 'a', '.', 'n', 'l', '\0', - /* "pimpmymac.ru", true */ 'p', 'i', 'm', 'p', 'm', 'y', 'm', 'a', 'c', '.', 'r', 'u', '\0', /* "pims.global", true */ 'p', 'i', 'm', 's', '.', 'g', 'l', 'o', 'b', 'a', 'l', '\0', /* "pimspage.nl", true */ 'p', 'i', 'm', 's', 'p', 'a', 'g', 'e', '.', 'n', 'l', '\0', /* "pin.net.au", true */ 'p', 'i', 'n', '.', 'n', 'e', 't', '.', 'a', 'u', '\0', @@ -12575,6 +12568,7 @@ static const char kSTSHostTable[] = { /* "play.google.com", true */ 'p', 'l', 'a', 'y', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0', /* "playanka.com", true */ 'p', 'l', 'a', 'y', 'a', 'n', 'k', 'a', '.', 'c', 'o', 'm', '\0', /* "playhappywheelsunblocked.com", true */ 'p', 'l', 'a', 'y', 'h', 'a', 'p', 'p', 'y', 'w', 'h', 'e', 'e', 'l', 's', 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'd', '.', 'c', 'o', 'm', '\0', + /* "playmyplay.com", true */ 'p', 'l', 'a', 'y', 'm', 'y', 'p', 'l', 'a', 'y', '.', 'c', 'o', 'm', '\0', /* "playsharp.com", true */ 'p', 'l', 'a', 'y', 's', 'h', 'a', 'r', 'p', '.', 'c', 'o', 'm', '\0', /* "playsoundevents.be", true */ 'p', 'l', 'a', 'y', 's', 'o', 'u', 'n', 'd', 'e', 'v', 'e', 'n', 't', 's', '.', 'b', 'e', '\0', /* "playsprout.industries", false */ 'p', 'l', 'a', 'y', 's', 'p', 'r', 'o', 'u', 't', '.', 'i', 'n', 'd', 'u', 's', 't', 'r', 'i', 'e', 's', '\0', @@ -12673,7 +12667,6 @@ static const char kSTSHostTable[] = { /* "pony.today", true */ 'p', 'o', 'n', 'y', '.', 't', 'o', 'd', 'a', 'y', '\0', /* "ponythread.com", false */ 'p', 'o', 'n', 'y', 't', 'h', 'r', 'e', 'a', 'd', '.', 'c', 'o', 'm', '\0', /* "poollicht.be", true */ 'p', 'o', 'o', 'l', 'l', 'i', 'c', 'h', 't', '.', 'b', 'e', '\0', - /* "poolvilla-margarita.net", false */ 'p', 'o', 'o', 'l', 'v', 'i', 'l', 'l', 'a', '-', 'm', 'a', 'r', 'g', 'a', 'r', 'i', 't', 'a', '.', 'n', 'e', 't', '\0', /* "poon.io", true */ 'p', 'o', 'o', 'n', '.', 'i', 'o', '\0', /* "popkins.cf", true */ 'p', 'o', 'p', 'k', 'i', 'n', 's', '.', 'c', 'f', '\0', /* "popkins.ga", true */ 'p', 'o', 'p', 'k', 'i', 'n', 's', '.', 'g', 'a', '\0', @@ -12858,6 +12851,7 @@ static const char kSTSHostTable[] = { /* "proj.org.cn", true */ 'p', 'r', 'o', 'j', '.', 'o', 'r', 'g', '.', 'c', 'n', '\0', /* "project-rune.tech", true */ 'p', 'r', 'o', 'j', 'e', 'c', 't', '-', 'r', 'u', 'n', 'e', '.', 't', 'e', 'c', 'h', '\0', /* "project-sparks.eu", true */ 'p', 'r', 'o', 'j', 'e', 'c', 't', '-', 's', 'p', 'a', 'r', 'k', 's', '.', 'e', 'u', '\0', + /* "projectarmy.net", true */ 'p', 'r', 'o', 'j', 'e', 'c', 't', 'a', 'r', 'm', 'y', '.', 'n', 'e', 't', '\0', /* "projectascension.io", true */ 'p', 'r', 'o', 'j', 'e', 'c', 't', 'a', 's', 'c', 'e', 'n', 's', 'i', 'o', 'n', '.', 'i', 'o', '\0', /* "projectbenson.com", false */ 'p', 'r', 'o', 'j', 'e', 'c', 't', 'b', 'e', 'n', 's', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "projectblackbook.us", true */ 'p', 'r', 'o', 'j', 'e', 'c', 't', 'b', 'l', 'a', 'c', 'k', 'b', 'o', 'o', 'k', '.', 'u', 's', '\0', @@ -13313,6 +13307,7 @@ static const char kSTSHostTable[] = { /* "redra.ws", true */ 'r', 'e', 'd', 'r', 'a', '.', 'w', 's', '\0', /* "redshield.co", true */ 'r', 'e', 'd', 's', 'h', 'i', 'e', 'l', 'd', '.', 'c', 'o', '\0', /* "redshiftcybersecurity.co.za", true */ 'r', 'e', 'd', 's', 'h', 'i', 'f', 't', 'c', 'y', 'b', 'e', 'r', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', '.', 'z', 'a', '\0', + /* "redstickfestival.org", true */ 'r', 'e', 'd', 's', 't', 'i', 'c', 'k', 'f', 'e', 's', 't', 'i', 'v', 'a', 'l', '.', 'o', 'r', 'g', '\0', /* "redstoner.com", true */ 'r', 'e', 'd', 's', 't', 'o', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "redteam-pentesting.de", true */ 'r', 'e', 'd', 't', 'e', 'a', 'm', '-', 'p', 'e', 'n', 't', 'e', 's', 't', 'i', 'n', 'g', '.', 'd', 'e', '\0', /* "redwoodpaddle.es", true */ 'r', 'e', 'd', 'w', 'o', 'o', 'd', 'p', 'a', 'd', 'd', 'l', 'e', '.', 'e', 's', '\0', @@ -13731,7 +13726,6 @@ static const char kSTSHostTable[] = { /* "rtejr.ie", true */ 'r', 't', 'e', 'j', 'r', '.', 'i', 'e', '\0', /* "rtek.se", true */ 'r', 't', 'e', 'k', '.', 's', 'e', '\0', /* "rtfpessoa.xyz", true */ 'r', 't', 'f', 'p', 'e', 's', 's', 'o', 'a', '.', 'x', 'y', 'z', '\0', - /* "rtho.me", true */ 'r', 't', 'h', 'o', '.', 'm', 'e', '\0', /* "ru-sprachstudio.ch", true */ 'r', 'u', '-', 's', 'p', 'r', 'a', 'c', 'h', 's', 't', 'u', 'd', 'i', 'o', '.', 'c', 'h', '\0', /* "ru.search.yahoo.com", false */ 'r', 'u', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0', /* "ruanmi.de", true */ 'r', 'u', 'a', 'n', 'm', 'i', '.', 'd', 'e', '\0', @@ -13924,6 +13918,7 @@ static const char kSTSHostTable[] = { /* "saotn.org", true */ 's', 'a', 'o', 't', 'n', '.', 'o', 'r', 'g', '\0', /* "sapac.es", true */ 's', 'a', 'p', 'a', 'c', '.', 'e', 's', '\0', /* "sapience.com", true */ 's', 'a', 'p', 'i', 'e', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0', + /* "sapk.fr", true */ 's', 'a', 'p', 'k', '.', 'f', 'r', '\0', /* "sapporobeer.com", true */ 's', 'a', 'p', 'p', 'o', 'r', 'o', 'b', 'e', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "sarahbeckettharpist.com", true */ 's', 'a', 'r', 'a', 'h', 'b', 'e', 'c', 'k', 'e', 't', 't', 'h', 'a', 'r', 'p', 'i', 's', 't', '.', 'c', 'o', 'm', '\0', /* "sarahlicity.co.uk", false */ 's', 'a', 'r', 'a', 'h', 'l', 'i', 'c', 'i', 't', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0', @@ -14190,6 +14185,7 @@ static const char kSTSHostTable[] = { /* "securitysnobs.com", false */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 's', 'n', 'o', 'b', 's', '.', 'c', 'o', 'm', '\0', /* "securitysoapbox.com", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 's', 'o', 'a', 'p', 'b', 'o', 'x', '.', 'c', 'o', 'm', '\0', /* "securitystrata.com", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 's', 't', 'r', 'a', 't', 'a', '.', 'c', 'o', 'm', '\0', + /* "securitystreak.com", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 's', 't', 'r', 'e', 'a', 'k', '.', 'c', 'o', 'm', '\0', /* "securitytalk.pl", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 't', 'a', 'l', 'k', '.', 'p', 'l', '\0', /* "securitywatch.co.nz", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'w', 'a', 't', 'c', 'h', '.', 'c', 'o', '.', 'n', 'z', '\0', /* "securitywithnick.com", true */ 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', 'w', 'i', 't', 'h', 'n', 'i', 'c', 'k', '.', 'c', 'o', 'm', '\0', @@ -14199,7 +14195,6 @@ static const char kSTSHostTable[] = { /* "sedoexpert.nl", true */ 's', 'e', 'd', 'o', 'e', 'x', 'p', 'e', 'r', 't', '.', 'n', 'l', '\0', /* "sedoexperts.nl", true */ 's', 'e', 'd', 'o', 'e', 'x', 'p', 'e', 'r', 't', 's', '.', 'n', 'l', '\0', /* "sedussa.ro", true */ 's', 'e', 'd', 'u', 's', 's', 'a', '.', 'r', 'o', '\0', - /* "sedziapilkarski.pl", true */ 's', 'e', 'd', 'z', 'i', 'a', 'p', 'i', 'l', 'k', 'a', 'r', 's', 'k', 'i', '.', 'p', 'l', '\0', /* "seeclop.ch", true */ 's', 'e', 'e', 'c', 'l', 'o', 'p', '.', 'c', 'h', '\0', /* "seedalpha.com", true */ 's', 'e', 'e', 'd', 'a', 'l', 'p', 'h', 'a', '.', 'c', 'o', 'm', '\0', /* "seedbox.fr", true */ 's', 'e', 'e', 'd', 'b', 'o', 'x', '.', 'f', 'r', '\0', @@ -14245,6 +14240,7 @@ static const char kSTSHostTable[] = { /* "semyonov.su", true */ 's', 'e', 'm', 'y', 'o', 'n', 'o', 'v', '.', 's', 'u', '\0', /* "semyonov.us", true */ 's', 'e', 'm', 'y', 'o', 'n', 'o', 'v', '.', 'u', 's', '\0', /* "senarius.de", true */ 's', 'e', 'n', 'a', 'r', 'i', 'u', 's', '.', 'd', 'e', '\0', + /* "sendash.com", true */ 's', 'e', 'n', 'd', 'a', 's', 'h', '.', 'c', 'o', 'm', '\0', /* "sendc.at", true */ 's', 'e', 'n', 'd', 'c', '.', 'a', 't', '\0', /* "sendcat.com", true */ 's', 'e', 'n', 'd', 'c', 'a', 't', '.', 'c', 'o', 'm', '\0', /* "sendinvoice.nl", true */ 's', 'e', 'n', 'd', 'i', 'n', 'v', 'o', 'i', 'c', 'e', '.', 'n', 'l', '\0', @@ -14431,6 +14427,7 @@ static const char kSTSHostTable[] = { /* "shipping24h.com", true */ 's', 'h', 'i', 'p', 'p', 'i', 'n', 'g', '2', '4', 'h', '.', 'c', 'o', 'm', '\0', /* "shirakaba-cc.com", true */ 's', 'h', 'i', 'r', 'a', 'k', 'a', 'b', 'a', '-', 'c', 'c', '.', 'c', 'o', 'm', '\0', /* "shiroki-k.net", true */ 's', 'h', 'i', 'r', 'o', 'k', 'i', '-', 'k', '.', 'n', 'e', 't', '\0', + /* "shirt2go.shop", true */ 's', 'h', 'i', 'r', 't', '2', 'g', 'o', '.', 's', 'h', 'o', 'p', '\0', /* "shirtsofholland.com", true */ 's', 'h', 'i', 'r', 't', 's', 'o', 'f', 'h', 'o', 'l', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0', /* "shishkin.link", true */ 's', 'h', 'i', 's', 'h', 'k', 'i', 'n', '.', 'l', 'i', 'n', 'k', '\0', /* "shishkin.us", true */ 's', 'h', 'i', 's', 'h', 'k', 'i', 'n', '.', 'u', 's', '\0', @@ -14456,7 +14453,6 @@ static const char kSTSHostTable[] = { /* "short-biography.com", true */ 's', 'h', 'o', 'r', 't', '-', 'b', 'i', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'c', 'o', 'm', '\0', /* "shortdiary.me", true */ 's', 'h', 'o', 'r', 't', 'd', 'i', 'a', 'r', 'y', '.', 'm', 'e', '\0', /* "shorten.ninja", true */ 's', 'h', 'o', 'r', 't', 'e', 'n', '.', 'n', 'i', 'n', 'j', 'a', '\0', - /* "shortpath.com", true */ 's', 'h', 'o', 'r', 't', 'p', 'a', 't', 'h', '.', 'c', 'o', 'm', '\0', /* "shota.party", true */ 's', 'h', 'o', 't', 'a', '.', 'p', 'a', 'r', 't', 'y', '\0', /* "shotbow.net", true */ 's', 'h', 'o', 't', 'b', 'o', 'w', '.', 'n', 'e', 't', '\0', /* "show-saratov.ru", true */ 's', 'h', 'o', 'w', '-', 's', 'a', 'r', 'a', 't', 'o', 'v', '.', 'r', 'u', '\0', @@ -14770,6 +14766,7 @@ static const char kSTSHostTable[] = { /* "smorgasblog.ie", true */ 's', 'm', 'o', 'r', 'g', 'a', 's', 'b', 'l', 'o', 'g', '.', 'i', 'e', '\0', /* "smow.com", true */ 's', 'm', 'o', 'w', '.', 'c', 'o', 'm', '\0', /* "smow.de", true */ 's', 'm', 'o', 'w', '.', 'd', 'e', '\0', + /* "smpetrey.com", true */ 's', 'm', 'p', 'e', 't', 'r', 'e', 'y', '.', 'c', 'o', 'm', '\0', /* "smplix.com", true */ 's', 'm', 'p', 'l', 'i', 'x', '.', 'c', 'o', 'm', '\0', /* "sms1.ro", true */ 's', 'm', 's', '1', '.', 'r', 'o', '\0', /* "smskeywords.co.uk", true */ 's', 'm', 's', 'k', 'e', 'y', 'w', 'o', 'r', 'd', 's', '.', 'c', 'o', '.', 'u', 'k', '\0', @@ -14810,7 +14807,6 @@ static const char kSTSHostTable[] = { /* "so-healthy.co.uk", true */ 's', 'o', '-', 'h', 'e', 'a', 'l', 't', 'h', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "sobaya-gohei.com", true */ 's', 'o', 'b', 'a', 'y', 'a', '-', 'g', 'o', 'h', 'e', 'i', '.', 'c', 'o', 'm', '\0', /* "sobieray.dyndns.org", true */ 's', 'o', 'b', 'i', 'e', 'r', 'a', 'y', '.', 'd', 'y', 'n', 'd', 'n', 's', '.', 'o', 'r', 'g', '\0', - /* "sobinski.pl", true */ 's', 'o', 'b', 'i', 'n', 's', 'k', 'i', '.', 'p', 'l', '\0', /* "soccersavings.com", true */ 's', 'o', 'c', 'c', 'e', 'r', 's', 'a', 'v', 'i', 'n', 'g', 's', '.', 'c', 'o', 'm', '\0', /* "sochi-sochno.ru", true */ 's', 'o', 'c', 'h', 'i', '-', 's', 'o', 'c', 'h', 'n', 'o', '.', 'r', 'u', '\0', /* "social-events.net", false */ 's', 'o', 'c', 'i', 'a', 'l', '-', 'e', 'v', 'e', 'n', 't', 's', '.', 'n', 'e', 't', '\0', @@ -14858,6 +14854,7 @@ static const char kSTSHostTable[] = { /* "sol.works", true */ 's', 'o', 'l', '.', 'w', 'o', 'r', 'k', 's', '\0', /* "sol24.net", true */ 's', 'o', 'l', '2', '4', '.', 'n', 'e', 't', '\0', /* "solar-ec.com", true */ 's', 'o', 'l', 'a', 'r', '-', 'e', 'c', '.', 'c', 'o', 'm', '\0', + /* "solariiknight.org", true */ 's', 'o', 'l', 'a', 'r', 'i', 'i', 'k', 'n', 'i', 'g', 'h', 't', '.', 'o', 'r', 'g', '\0', /* "soldecom.com", true */ 's', 'o', 'l', 'd', 'e', 'c', 'o', 'm', '.', 'c', 'o', 'm', '\0', /* "sole-erdwaermetauscher.de", true */ 's', 'o', 'l', 'e', '-', 'e', 'r', 'd', 'w', 'a', 'e', 'r', 'm', 'e', 't', 'a', 'u', 's', 'c', 'h', 'e', 'r', '.', 'd', 'e', '\0', /* "soledadpenades.com", true */ 's', 'o', 'l', 'e', 'd', 'a', 'd', 'p', 'e', 'n', 'a', 'd', 'e', 's', '.', 'c', 'o', 'm', '\0', @@ -14915,7 +14912,6 @@ static const char kSTSHostTable[] = { /* "sostacancun.com", true */ 's', 'o', 's', 't', 'a', 'c', 'a', 'n', 'c', 'u', 'n', '.', 'c', 'o', 'm', '\0', /* "sotar.us", true */ 's', 'o', 't', 'a', 'r', '.', 'u', 's', '\0', /* "sotavasara.net", true */ 's', 'o', 't', 'a', 'v', 'a', 's', 'a', 'r', 'a', '.', 'n', 'e', 't', '\0', - /* "sotiran.com", true */ 's', 'o', 't', 'i', 'r', 'a', 'n', '.', 'c', 'o', 'm', '\0', /* "sotoasobi.net", true */ 's', 'o', 't', 'o', 'a', 's', 'o', 'b', 'i', '.', 'n', 'e', 't', '\0', /* "sou-co.jp", true */ 's', 'o', 'u', '-', 'c', 'o', '.', 'j', 'p', '\0', /* "soucorneteiro.com.br", true */ 's', 'o', 'u', 'c', 'o', 'r', 'n', 'e', 't', 'e', 'i', 'r', 'o', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0', @@ -15339,13 +15335,11 @@ static const char kSTSHostTable[] = { /* "studiostudio.net", true */ 's', 't', 'u', 'd', 'i', 'o', 's', 't', 'u', 'd', 'i', 'o', '.', 'n', 'e', 't', '\0', /* "studium.cz", true */ 's', 't', 'u', 'd', 'i', 'u', 'm', '.', 'c', 'z', '\0', /* "studlan.no", true */ 's', 't', 'u', 'd', 'l', 'a', 'n', '.', 'n', 'o', '\0', - /* "studyhub.cf", true */ 's', 't', 'u', 'd', 'y', 'h', 'u', 'b', '.', 'c', 'f', '\0', /* "stuermer.me", true */ 's', 't', 'u', 'e', 'r', 'm', 'e', 'r', '.', 'm', 'e', '\0', /* "stuetzredli.ch", true */ 's', 't', 'u', 'e', 't', 'z', 'r', 'e', 'd', 'l', 'i', '.', 'c', 'h', '\0', /* "stuff-fibre.co.nz", true */ 's', 't', 'u', 'f', 'f', '-', 'f', 'i', 'b', 'r', 'e', '.', 'c', 'o', '.', 'n', 'z', '\0', /* "stulda.cz", true */ 's', 't', 'u', 'l', 'd', 'a', '.', 'c', 'z', '\0', /* "stumf.si", true */ 's', 't', 'u', 'm', 'f', '.', 's', 'i', '\0', - /* "stuntmen.xyz", true */ 's', 't', 'u', 'n', 't', 'm', 'e', 'n', '.', 'x', 'y', 'z', '\0', /* "stupendous.net", true */ 's', 't', 'u', 'p', 'e', 'n', 'd', 'o', 'u', 's', '.', 'n', 'e', 't', '\0', /* "sturbi.de", true */ 's', 't', 'u', 'r', 'b', 'i', '.', 'd', 'e', '\0', /* "sturbock.me", true */ 's', 't', 'u', 'r', 'b', 'o', 'c', 'k', '.', 'm', 'e', '\0', @@ -15459,7 +15453,6 @@ static const char kSTSHostTable[] = { /* "svendubbeld.nl", true */ 's', 'v', 'e', 'n', 'd', 'u', 'b', 'b', 'e', 'l', 'd', '.', 'n', 'l', '\0', /* "sveneckelmann.de", true */ 's', 'v', 'e', 'n', 'e', 'c', 'k', 'e', 'l', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0', /* "svenjaundchristian.de", true */ 's', 'v', 'e', 'n', 'j', 'a', 'u', 'n', 'd', 'c', 'h', 'r', 'i', 's', 't', 'i', 'a', 'n', '.', 'd', 'e', '\0', - /* "svenluijten.com", true */ 's', 'v', 'e', 'n', 'l', 'u', 'i', 'j', 't', 'e', 'n', '.', 'c', 'o', 'm', '\0', /* "svenskacasino.com", true */ 's', 'v', 'e', 'n', 's', 'k', 'a', 'c', 'a', 's', 'i', 'n', 'o', '.', 'c', 'o', 'm', '\0', /* "svetandroida.cz", true */ 's', 'v', 'e', 't', 'a', 'n', 'd', 'r', 'o', 'i', 'd', 'a', '.', 'c', 'z', '\0', /* "svetjakonadlani.cz", true */ 's', 'v', 'e', 't', 'j', 'a', 'k', 'o', 'n', 'a', 'd', 'l', 'a', 'n', 'i', '.', 'c', 'z', '\0', @@ -15540,6 +15533,7 @@ static const char kSTSHostTable[] = { /* "systemd.me", true */ 's', 'y', 's', 't', 'e', 'm', 'd', '.', 'm', 'e', '\0', /* "systemeprod.fr", true */ 's', 'y', 's', 't', 'e', 'm', 'e', 'p', 'r', 'o', 'd', '.', 'f', 'r', '\0', /* "systemintegra.ru", true */ 's', 'y', 's', 't', 'e', 'm', 'i', 'n', 't', 'e', 'g', 'r', 'a', '.', 'r', 'u', '\0', + /* "systemreboot.net", true */ 's', 'y', 's', 't', 'e', 'm', 'r', 'e', 'b', 'o', 'o', 't', '.', 'n', 'e', 't', '\0', /* "syt3.net", true */ 's', 'y', 't', '3', '.', 'n', 'e', 't', '\0', /* "syy.im", true */ 's', 'y', 'y', '.', 'i', 'm', '\0', /* "syzygy-tables.info", true */ 's', 'y', 'z', 'y', 'g', 'y', '-', 't', 'a', 'b', 'l', 'e', 's', '.', 'i', 'n', 'f', 'o', '\0', @@ -15671,6 +15665,7 @@ static const char kSTSHostTable[] = { /* "tchebb.me", true */ 't', 'c', 'h', 'e', 'b', 'b', '.', 'm', 'e', '\0', /* "tcptun.com", true */ 't', 'c', 'p', 't', 'u', 'n', '.', 'c', 'o', 'm', '\0', /* "tcpweb.net", true */ 't', 'c', 'p', 'w', 'e', 'b', '.', 'n', 'e', 't', '\0', + /* "tcwebvn.com", true */ 't', 'c', 'w', 'e', 'b', 'v', 'n', '.', 'c', 'o', 'm', '\0', /* "tdelmas.eu", true */ 't', 'd', 'e', 'l', 'm', 'a', 's', '.', 'e', 'u', '\0', /* "tdelmas.ovh", true */ 't', 'd', 'e', 'l', 'm', 'a', 's', '.', 'o', 'v', 'h', '\0', /* "tdrs.info", true */ 't', 'd', 'r', 's', '.', 'i', 'n', 'f', 'o', '\0', @@ -15694,7 +15689,6 @@ static const char kSTSHostTable[] = { /* "team-pancake.eu", true */ 't', 'e', 'a', 'm', '-', 'p', 'a', 'n', 'c', 'a', 'k', 'e', '.', 'e', 'u', '\0', /* "team3482.com", true */ 't', 'e', 'a', 'm', '3', '4', '8', '2', '.', 'c', 'o', 'm', '\0', /* "teambeoplay.co.uk", true */ 't', 'e', 'a', 'm', 'b', 'e', 'o', 'p', 'l', 'a', 'y', '.', 'c', 'o', '.', 'u', 'k', '\0', - /* "teamblueridge.org", true */ 't', 'e', 'a', 'm', 'b', 'l', 'u', 'e', 'r', 'i', 'd', 'g', 'e', '.', 'o', 'r', 'g', '\0', /* "teamdaylo.xyz", true */ 't', 'e', 'a', 'm', 'd', 'a', 'y', 'l', 'o', '.', 'x', 'y', 'z', '\0', /* "teamhood.io", true */ 't', 'e', 'a', 'm', 'h', 'o', 'o', 'd', '.', 'i', 'o', '\0', /* "teamnetsol.com", true */ 't', 'e', 'a', 'm', 'n', 'e', 't', 's', 'o', 'l', '.', 'c', 'o', 'm', '\0', @@ -15705,7 +15699,6 @@ static const char kSTSHostTable[] = { /* "teamtouring.net", true */ 't', 'e', 'a', 'm', 't', 'o', 'u', 'r', 'i', 'n', 'g', '.', 'n', 'e', 't', '\0', /* "teamtrack.uk", true */ 't', 'e', 'a', 'm', 't', 'r', 'a', 'c', 'k', '.', 'u', 'k', '\0', /* "teamupturn.com", true */ 't', 'e', 'a', 'm', 'u', 'p', 't', 'u', 'r', 'n', '.', 'c', 'o', 'm', '\0', - /* "teamx-gaming.de", true */ 't', 'e', 'a', 'm', 'x', '-', 'g', 'a', 'm', 'i', 'n', 'g', '.', 'd', 'e', '\0', /* "teasenetwork.com", true */ 't', 'e', 'a', 's', 'e', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'c', 'o', 'm', '\0', /* "teaser-trailer.com", true */ 't', 'e', 'a', 's', 'e', 'r', '-', 't', 'r', 'a', 'i', 'l', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "tecart-cloud.de", true */ 't', 'e', 'c', 'a', 'r', 't', '-', 'c', 'l', 'o', 'u', 'd', '.', 'd', 'e', '\0', @@ -15907,6 +15900,7 @@ static const char kSTSHostTable[] = { /* "thedrop.pw", true */ 't', 'h', 'e', 'd', 'r', 'o', 'p', '.', 'p', 'w', '\0', /* "thedutchmarketers.com", true */ 't', 'h', 'e', 'd', 'u', 't', 'c', 'h', 'm', 'a', 'r', 'k', 'e', 't', 'e', 'r', 's', '.', 'c', 'o', 'm', '\0', /* "thedystance.com", true */ 't', 'h', 'e', 'd', 'y', 's', 't', 'a', 'n', 'c', 'e', '.', 'c', 'o', 'm', '\0', + /* "theeyeopener.com", true */ 't', 'h', 'e', 'e', 'y', 'e', 'o', 'p', 'e', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "thefarbeyond.com", true */ 't', 'h', 'e', 'f', 'a', 'r', 'b', 'e', 'y', 'o', 'n', 'd', '.', 'c', 'o', 'm', '\0', /* "theflyingbear.net", true */ 't', 'h', 'e', 'f', 'l', 'y', 'i', 'n', 'g', 'b', 'e', 'a', 'r', '.', 'n', 'e', 't', '\0', /* "thefox.co", true */ 't', 'h', 'e', 'f', 'o', 'x', '.', 'c', 'o', '\0', @@ -16131,7 +16125,6 @@ static const char kSTSHostTable[] = { /* "tinchbear.xyz", true */ 't', 'i', 'n', 'c', 'h', 'b', 'e', 'a', 'r', '.', 'x', 'y', 'z', '\0', /* "tindewen.net", true */ 't', 'i', 'n', 'd', 'e', 'w', 'e', 'n', '.', 'n', 'e', 't', '\0', /* "tinfoilsecurity.com", false */ 't', 'i', 'n', 'f', 'o', 'i', 'l', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0', - /* "tink.network", true */ 't', 'i', 'n', 'k', '.', 'n', 'e', 't', 'w', 'o', 'r', 'k', '\0', /* "tinker.career", true */ 't', 'i', 'n', 'k', 'e', 'r', '.', 'c', 'a', 'r', 'e', 'e', 'r', '\0', /* "tinkertry.com", true */ 't', 'i', 'n', 'k', 'e', 'r', 't', 'r', 'y', '.', 'c', 'o', 'm', '\0', /* "tinte24.de", true */ 't', 'i', 'n', 't', 'e', '2', '4', '.', 'd', 'e', '\0', @@ -16161,6 +16154,7 @@ static const char kSTSHostTable[] = { /* "tjeckien.guide", true */ 't', 'j', 'e', 'c', 'k', 'i', 'e', 'n', '.', 'g', 'u', 'i', 'd', 'e', '\0', /* "tjenestetorvet.dk", true */ 't', 'j', 'e', 'n', 'e', 's', 't', 'e', 't', 'o', 'r', 'v', 'e', 't', '.', 'd', 'k', '\0', /* "tjs.me", true */ 't', 'j', 's', '.', 'm', 'e', '\0', + /* "tkarstens.de", false */ 't', 'k', 'a', 'r', 's', 't', 'e', 'n', 's', '.', 'd', 'e', '\0', /* "tkat.ch", true */ 't', 'k', 'a', 't', '.', 'c', 'h', '\0', /* "tkn.tokyo", true */ 't', 'k', 'n', '.', 't', 'o', 'k', 'y', 'o', '\0', /* "tkonstantopoulos.tk", true */ 't', 'k', 'o', 'n', 's', 't', 'a', 'n', 't', 'o', 'p', 'o', 'u', 'l', 'o', 's', '.', 't', 'k', '\0', @@ -16305,6 +16299,7 @@ static const char kSTSHostTable[] = { /* "toolbox.ninja", false */ 't', 'o', 'o', 'l', 'b', 'o', 'x', '.', 'n', 'i', 'n', 'j', 'a', '\0', /* "toonpool.com", true */ 't', 'o', 'o', 'n', 'p', 'o', 'o', 'l', '.', 'c', 'o', 'm', '\0', /* "toool.nl", true */ 't', 'o', 'o', 'o', 'l', '.', 'n', 'l', '\0', + /* "toool.org", true */ 't', 'o', 'o', 'o', 'l', '.', 'o', 'r', 'g', '\0', /* "tooolroc.org", true */ 't', 'o', 'o', 'o', 'l', 'r', 'o', 'c', '.', 'o', 'r', 'g', '\0', /* "tooti.biz", true */ 't', 'o', 'o', 't', 'i', '.', 'b', 'i', 'z', '\0', /* "top10mountainbikes.info", true */ 't', 'o', 'p', '1', '0', 'm', 'o', 'u', 'n', 't', 'a', 'i', 'n', 'b', 'i', 'k', 'e', 's', '.', 'i', 'n', 'f', 'o', '\0', @@ -16511,6 +16506,7 @@ static const char kSTSHostTable[] = { /* "trkpuls.tk", true */ 't', 'r', 'k', 'p', 'u', 'l', 's', '.', 't', 'k', '\0', /* "troi.de", true */ 't', 'r', 'o', 'i', '.', 'd', 'e', '\0', /* "troianet.com.br", true */ 't', 'r', 'o', 'i', 'a', 'n', 'e', 't', '.', 'c', 'o', 'm', '.', 'b', 'r', '\0', + /* "trollscave.xyz", true */ 't', 'r', 'o', 'l', 'l', 's', 'c', 'a', 'v', 'e', '.', 'x', 'y', 'z', '\0', /* "trommelwirbel.com", true */ 't', 'r', 'o', 'm', 'm', 'e', 'l', 'w', 'i', 'r', 'b', 'e', 'l', '.', 'c', 'o', 'm', '\0', /* "tronatic-studio.com", true */ 't', 'r', 'o', 'n', 'a', 't', 'i', 'c', '-', 's', 't', 'u', 'd', 'i', 'o', '.', 'c', 'o', 'm', '\0', /* "troo.ly", true */ 't', 'r', 'o', 'o', '.', 'l', 'y', '\0', @@ -16545,7 +16541,6 @@ static const char kSTSHostTable[] = { /* "tsaro.io", true */ 't', 's', 'a', 'r', 'o', '.', 'i', 'o', '\0', /* "tsdom.net", true */ 't', 's', 'd', 'o', 'm', '.', 'n', 'e', 't', '\0', /* "tsgbit.net", true */ 't', 's', 'g', 'b', 'i', 't', '.', 'n', 'e', 't', '\0', - /* "tsukhani.com", true */ 't', 's', 'u', 'k', 'h', 'a', 'n', 'i', '.', 'c', 'o', 'm', '\0', /* "tsumegumi.net", true */ 't', 's', 'u', 'm', 'e', 'g', 'u', 'm', 'i', '.', 'n', 'e', 't', '\0', /* "tsumi.it", true */ 't', 's', 'u', 'm', 'i', '.', 'i', 't', '\0', /* "tsurimap.com", true */ 't', 's', 'u', 'r', 'i', 'm', 'a', 'p', '.', 'c', 'o', 'm', '\0', @@ -16673,10 +16668,12 @@ static const char kSTSHostTable[] = { /* "uberboxen.net", true */ 'u', 'b', 'e', 'r', 'b', 'o', 'x', 'e', 'n', '.', 'n', 'e', 't', '\0', /* "ubertt.org", true */ 'u', 'b', 'e', 'r', 't', 't', '.', 'o', 'r', 'g', '\0', /* "uberwald.de", true */ 'u', 'b', 'e', 'r', 'w', 'a', 'l', 'd', '.', 'd', 'e', '\0', + /* "uberwald.ws", true */ 'u', 'b', 'e', 'r', 'w', 'a', 'l', 'd', '.', 'w', 's', '\0', /* "ubi.gg", true */ 'u', 'b', 'i', '.', 'g', 'g', '\0', /* "ublaboo.org", true */ 'u', 'b', 'l', 'a', 'b', 'o', 'o', '.', 'o', 'r', 'g', '\0', /* "uborcare.com", true */ 'u', 'b', 'o', 'r', 'c', 'a', 'r', 'e', '.', 'c', 'o', 'm', '\0', /* "ubtce.com", true */ 'u', 'b', 't', 'c', 'e', '.', 'c', 'o', 'm', '\0', + /* "ucfirst.nl", true */ 'u', 'c', 'f', 'i', 'r', 's', 't', '.', 'n', 'l', '\0', /* "ucrdatatool.gov", true */ 'u', 'c', 'r', 'd', 'a', 't', 'a', 't', 'o', 'o', 'l', '.', 'g', 'o', 'v', '\0', /* "uctarna.online", true */ 'u', 'c', 't', 'a', 'r', 'n', 'a', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0', /* "udbhav.me", true */ 'u', 'd', 'b', 'h', 'a', 'v', '.', 'm', 'e', '\0', @@ -16947,6 +16944,7 @@ static const char kSTSHostTable[] = { /* "vanhoutte.be", false */ 'v', 'a', 'n', 'h', 'o', 'u', 't', 't', 'e', '.', 'b', 'e', '\0', /* "vanhove.biz", true */ 'v', 'a', 'n', 'h', 'o', 'v', 'e', '.', 'b', 'i', 'z', '\0', /* "vanlaanen.com", true */ 'v', 'a', 'n', 'l', 'a', 'a', 'n', 'e', 'n', '.', 'c', 'o', 'm', '\0', + /* "vanmalland.com", true */ 'v', 'a', 'n', 'm', 'a', 'l', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0', /* "vante.me", true */ 'v', 'a', 'n', 't', 'e', '.', 'm', 'e', '\0', /* "vantien.com", true */ 'v', 'a', 'n', 't', 'i', 'e', 'n', '.', 'c', 'o', 'm', '\0', /* "vantru.is", true */ 'v', 'a', 'n', 't', 'r', 'u', '.', 'i', 's', '\0', @@ -17151,6 +17149,7 @@ static const char kSTSHostTable[] = { /* "vivamusic.es", true */ 'v', 'i', 'v', 'a', 'm', 'u', 's', 'i', 'c', '.', 'e', 's', '\0', /* "vivatv.com.tw", true */ 'v', 'i', 'v', 'a', 't', 'v', '.', 'c', 'o', 'm', '.', 't', 'w', '\0', /* "vivendi.de", true */ 'v', 'i', 'v', 'e', 'n', 'd', 'i', '.', 'd', 'e', '\0', + /* "vivocloud.com", true */ 'v', 'i', 'v', 'o', 'c', 'l', 'o', 'u', 'd', '.', 'c', 'o', 'm', '\0', /* "vizeat.com", true */ 'v', 'i', 'z', 'e', 'a', 't', '.', 'c', 'o', 'm', '\0', /* "vizional.com", true */ 'v', 'i', 'z', 'i', 'o', 'n', 'a', 'l', '.', 'c', 'o', 'm', '\0', /* "vizzboard.com", true */ 'v', 'i', 'z', 'z', 'b', 'o', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0', @@ -17261,7 +17260,6 @@ static const char kSTSHostTable[] = { /* "vztekloun.cz", true */ 'v', 'z', 't', 'e', 'k', 'l', 'o', 'u', 'n', '.', 'c', 'z', '\0', /* "w-spotlight.appspot.com", true */ 'w', '-', 's', 'p', 'o', 't', 'l', 'i', 'g', 'h', 't', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0', /* "w-w-auto.de", true */ 'w', '-', 'w', '-', 'a', 'u', 't', 'o', '.', 'd', 'e', '\0', - /* "w.wiki", true */ 'w', '.', 'w', 'i', 'k', 'i', '\0', /* "w3ctag.org", true */ 'w', '3', 'c', 't', 'a', 'g', '.', 'o', 'r', 'g', '\0', /* "w3n.org", true */ 'w', '3', 'n', '.', 'o', 'r', 'g', '\0', /* "w4nvu.org", true */ 'w', '4', 'n', 'v', 'u', '.', 'o', 'r', 'g', '\0', @@ -17636,7 +17634,6 @@ static const char kSTSHostTable[] = { /* "williamsapiens.com", true */ 'w', 'i', 'l', 'l', 'i', 'a', 'm', 's', 'a', 'p', 'i', 'e', 'n', 's', '.', 'c', 'o', 'm', '\0', /* "williamsonshore.com", true */ 'w', 'i', 'l', 'l', 'i', 'a', 'm', 's', 'o', 'n', 's', 'h', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0', /* "willnorris.com", true */ 'w', 'i', 'l', 'l', 'n', 'o', 'r', 'r', 'i', 's', '.', 'c', 'o', 'm', '\0', - /* "willow.technology", true */ 'w', 'i', 'l', 'l', 'o', 'w', '.', 't', 'e', 'c', 'h', 'n', 'o', 'l', 'o', 'g', 'y', '\0', /* "wills.co.tt", true */ 'w', 'i', 'l', 'l', 's', '.', 'c', 'o', '.', 't', 't', '\0', /* "willstamper.name", true */ 'w', 'i', 'l', 'l', 's', 't', 'a', 'm', 'p', 'e', 'r', '.', 'n', 'a', 'm', 'e', '\0', /* "wilsonovi.com", true */ 'w', 'i', 'l', 's', 'o', 'n', 'o', 'v', 'i', '.', 'c', 'o', 'm', '\0', @@ -17926,7 +17923,6 @@ static const char kSTSHostTable[] = { /* "xboxdownloadthat.com", true */ 'x', 'b', 'o', 'x', 'd', 'o', 'w', 'n', 'l', 'o', 'a', 'd', 't', 'h', 'a', 't', '.', 'c', 'o', 'm', '\0', /* "xboxlivegoldshop.nl", true */ 'x', 'b', 'o', 'x', 'l', 'i', 'v', 'e', 'g', 'o', 'l', 'd', 's', 'h', 'o', 'p', '.', 'n', 'l', '\0', /* "xbrlsuccess.appspot.com", true */ 'x', 'b', 'r', 'l', 's', 'u', 'c', 'c', 'e', 's', 's', '.', 'a', 'p', 'p', 's', 'p', 'o', 't', '.', 'c', 'o', 'm', '\0', - /* "xbt.co", true */ 'x', 'b', 't', '.', 'c', 'o', '\0', /* "xbtce.com", true */ 'x', 'b', 't', 'c', 'e', '.', 'c', 'o', 'm', '\0', /* "xbtmusic.org", true */ 'x', 'b', 't', 'm', 'u', 's', 'i', 'c', '.', 'o', 'r', 'g', '\0', /* "xcentricmold.com", true */ 'x', 'c', 'e', 'n', 't', 'r', 'i', 'c', 'm', 'o', 'l', 'd', '.', 'c', 'o', 'm', '\0', @@ -17948,6 +17944,7 @@ static const char kSTSHostTable[] = { /* "xgusto.com", true */ 'x', 'g', 'u', 's', 't', 'o', '.', 'c', 'o', 'm', '\0', /* "xhadius.de", true */ 'x', 'h', 'a', 'd', 'i', 'u', 's', '.', 'd', 'e', '\0', /* "xho.me", true */ 'x', 'h', 'o', '.', 'm', 'e', '\0', + /* "xia100.xyz", true */ 'x', 'i', 'a', '1', '0', '0', '.', 'x', 'y', 'z', '\0', /* "xiamuzi.com", true */ 'x', 'i', 'a', 'm', 'u', 'z', 'i', '.', 'c', 'o', 'm', '\0', /* "xiangweiqing.co.uk", true */ 'x', 'i', 'a', 'n', 'g', 'w', 'e', 'i', 'q', 'i', 'n', 'g', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "xiaofengsky.com", true */ 'x', 'i', 'a', 'o', 'f', 'e', 'n', 'g', 's', 'k', 'y', '.', 'c', 'o', 'm', '\0', @@ -18141,6 +18138,7 @@ static const char kSTSHostTable[] = { /* "ymarion.de", true */ 'y', 'm', 'a', 'r', 'i', 'o', 'n', '.', 'd', 'e', '\0', /* "ympl.de", true */ 'y', 'm', 'p', 'l', '.', 'd', 'e', '\0', /* "ynode.com", true */ 'y', 'n', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0', + /* "yntongji.com", true */ 'y', 'n', 't', 'o', 'n', 'g', 'j', 'i', '.', 'c', 'o', 'm', '\0', /* "yobai-grouprec.jp", true */ 'y', 'o', 'b', 'a', 'i', '-', 'g', 'r', 'o', 'u', 'p', 'r', 'e', 'c', '.', 'j', 'p', '\0', /* "yobai28.com", true */ 'y', 'o', 'b', 'a', 'i', '2', '8', '.', 'c', 'o', 'm', '\0', /* "yobst.tk", false */ 'y', 'o', 'b', 's', 't', '.', 't', 'k', '\0', @@ -18347,7 +18345,6 @@ static const char kSTSHostTable[] = { /* "zilore.com", true */ 'z', 'i', 'l', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0', /* "zima.io", true */ 'z', 'i', 'm', 'a', '.', 'i', 'o', '\0', /* "zimiao.moe", true */ 'z', 'i', 'm', 'i', 'a', 'o', '.', 'm', 'o', 'e', '\0', - /* "zinc-x.com", true */ 'z', 'i', 'n', 'c', '-', 'x', '.', 'c', 'o', 'm', '\0', /* "zingarastore.com", true */ 'z', 'i', 'n', 'g', 'a', 'r', 'a', 's', 't', 'o', 'r', 'e', '.', 'c', 'o', 'm', '\0', /* "zingjerijk.nl", true */ 'z', 'i', 'n', 'g', 'j', 'e', 'r', 'i', 'j', 'k', '.', 'n', 'l', '\0', /* "zionvps.com", false */ 'z', 'i', 'o', 'n', 'v', 'p', 's', '.', 'c', 'o', 'm', '\0', @@ -18549,18320 +18546,18317 @@ static const nsSTSPreload kSTSPreloadList[] = { { 1262, true }, { 1274, true }, { 1285, true }, - { 1294, true }, - { 1300, true }, - { 1314, true }, - { 1329, true }, - { 1337, true }, - { 1346, true }, - { 1354, true }, - { 1365, true }, + { 1295, true }, + { 1304, true }, + { 1310, true }, + { 1324, true }, + { 1339, true }, + { 1347, true }, + { 1356, true }, + { 1364, true }, { 1375, true }, - { 1393, true }, - { 1411, true }, - { 1427, true }, - { 1436, true }, - { 1444, true }, - { 1452, false }, - { 1463, true }, - { 1481, true }, - { 1492, true }, - { 1504, true }, - { 1518, true }, - { 1526, true }, - { 1539, true }, - { 1549, false }, - { 1562, true }, - { 1571, true }, - { 1585, true }, - { 1594, true }, - { 1615, true }, - { 1624, true }, - { 1636, true }, - { 1646, true }, - { 1661, true }, - { 1669, true }, - { 1682, true }, - { 1699, false }, - { 1711, true }, - { 1719, true }, - { 1730, true }, - { 1737, true }, - { 1746, true }, - { 1755, true }, - { 1768, true }, - { 1777, true }, - { 1796, true }, - { 1807, true }, - { 1826, true }, - { 1845, true }, - { 1857, true }, - { 1871, true }, - { 1883, false }, - { 1894, true }, - { 1903, false }, - { 1914, true }, - { 1929, true }, - { 1942, true }, - { 1950, true }, - { 1964, true }, - { 1979, true }, - { 1991, true }, - { 2004, true }, - { 2019, true }, - { 2028, true }, - { 2038, true }, - { 2052, true }, - { 2066, true }, - { 2075, true }, - { 2089, true }, - { 2097, true }, - { 2104, true }, - { 2116, true }, - { 2127, true }, - { 2140, true }, - { 2149, true }, - { 2161, true }, - { 2178, true }, - { 2189, true }, - { 2200, true }, - { 2210, true }, - { 2221, true }, - { 2232, true }, - { 2245, true }, - { 2253, true }, - { 2264, false }, - { 2277, true }, - { 2285, true }, - { 2297, true }, - { 2312, true }, - { 2331, true }, - { 2342, true }, + { 1385, true }, + { 1403, true }, + { 1421, true }, + { 1430, true }, + { 1438, true }, + { 1446, false }, + { 1457, true }, + { 1475, true }, + { 1486, true }, + { 1498, true }, + { 1512, true }, + { 1520, true }, + { 1533, true }, + { 1543, false }, + { 1556, true }, + { 1565, true }, + { 1579, true }, + { 1588, true }, + { 1609, true }, + { 1618, true }, + { 1630, true }, + { 1640, true }, + { 1655, true }, + { 1663, true }, + { 1676, true }, + { 1693, false }, + { 1705, true }, + { 1713, true }, + { 1724, true }, + { 1731, true }, + { 1740, true }, + { 1749, true }, + { 1762, true }, + { 1771, true }, + { 1790, true }, + { 1801, true }, + { 1820, true }, + { 1839, true }, + { 1851, true }, + { 1865, true }, + { 1877, false }, + { 1888, true }, + { 1897, false }, + { 1908, true }, + { 1923, true }, + { 1936, true }, + { 1944, true }, + { 1958, true }, + { 1973, true }, + { 1985, true }, + { 1998, true }, + { 2013, true }, + { 2022, true }, + { 2032, true }, + { 2046, true }, + { 2060, true }, + { 2069, true }, + { 2083, true }, + { 2091, true }, + { 2098, true }, + { 2110, true }, + { 2121, true }, + { 2134, true }, + { 2143, true }, + { 2155, true }, + { 2172, true }, + { 2183, true }, + { 2194, true }, + { 2205, true }, + { 2216, true }, + { 2229, true }, + { 2237, true }, + { 2248, false }, + { 2261, true }, + { 2269, true }, + { 2281, true }, + { 2296, true }, + { 2315, true }, + { 2326, true }, + { 2333, true }, + { 2343, true }, { 2349, true }, - { 2359, true }, - { 2365, true }, - { 2374, true }, - { 2387, true }, - { 2401, true }, - { 2413, true }, - { 2422, true }, - { 2435, true }, - { 2445, true }, - { 2455, false }, - { 2462, true }, - { 2473, true }, - { 2481, true }, - { 2488, true }, - { 2497, true }, - { 2507, true }, - { 2526, true }, - { 2538, true }, - { 2547, true }, - { 2568, true }, - { 2592, true }, - { 2607, true }, - { 2615, true }, - { 2626, true }, - { 2632, true }, - { 2645, true }, - { 2657, true }, - { 2669, true }, - { 2677, true }, - { 2693, true }, - { 2703, true }, - { 2720, true }, - { 2727, true }, - { 2736, true }, - { 2757, true }, - { 2770, false }, - { 2783, true }, - { 2793, true }, - { 2846, true }, - { 2858, true }, - { 2867, true }, - { 2876, true }, - { 2886, true }, - { 2896, true }, - { 2907, true }, - { 2915, true }, - { 2922, true }, - { 2934, true }, - { 2943, true }, - { 2965, true }, - { 2981, true }, - { 3005, true }, - { 3015, true }, - { 3026, true }, - { 3045, true }, - { 3056, true }, - { 3070, true }, - { 3084, true }, - { 3094, true }, - { 3105, true }, - { 3114, true }, - { 3127, true }, - { 3142, true }, - { 3157, true }, - { 3165, true }, - { 3175, true }, - { 3192, true }, - { 3207, true }, - { 3222, true }, - { 3237, true }, - { 3249, true }, - { 3265, true }, - { 3275, true }, - { 3282, true }, - { 3293, true }, - { 3308, true }, - { 3318, true }, + { 2358, true }, + { 2371, true }, + { 2385, true }, + { 2397, true }, + { 2406, true }, + { 2419, true }, + { 2429, true }, + { 2439, false }, + { 2446, true }, + { 2457, true }, + { 2469, true }, + { 2477, true }, + { 2484, true }, + { 2493, true }, + { 2503, true }, + { 2522, true }, + { 2534, true }, + { 2543, true }, + { 2564, true }, + { 2588, true }, + { 2603, true }, + { 2611, true }, + { 2622, true }, + { 2628, true }, + { 2641, true }, + { 2653, true }, + { 2665, true }, + { 2673, true }, + { 2689, true }, + { 2699, true }, + { 2716, true }, + { 2723, true }, + { 2732, true }, + { 2753, true }, + { 2766, false }, + { 2779, true }, + { 2789, true }, + { 2842, true }, + { 2854, true }, + { 2863, true }, + { 2872, true }, + { 2882, true }, + { 2892, true }, + { 2903, true }, + { 2911, true }, + { 2918, true }, + { 2930, true }, + { 2939, true }, + { 2961, true }, + { 2977, true }, + { 3001, true }, + { 3011, true }, + { 3022, true }, + { 3041, true }, + { 3052, true }, + { 3066, true }, + { 3080, true }, + { 3090, true }, + { 3101, true }, + { 3110, true }, + { 3123, true }, + { 3138, true }, + { 3153, true }, + { 3161, true }, + { 3178, true }, + { 3193, true }, + { 3208, true }, + { 3223, true }, + { 3235, true }, + { 3251, true }, + { 3261, true }, + { 3268, true }, + { 3279, true }, + { 3294, true }, + { 3304, true }, + { 3332, true }, { 3346, true }, - { 3360, true }, - { 3380, true }, - { 3399, true }, - { 3409, true }, - { 3420, true }, - { 3438, true }, + { 3366, true }, + { 3385, true }, + { 3395, true }, + { 3406, true }, + { 3424, true }, + { 3435, true }, { 3449, true }, - { 3463, true }, - { 3476, true }, - { 3488, true }, - { 3510, true }, - { 3526, true }, - { 3537, false }, - { 3553, false }, - { 3565, true }, - { 3578, true }, - { 3595, true }, - { 3620, true }, - { 3637, false }, - { 3645, true }, - { 3654, true }, - { 3678, true }, - { 3691, true }, - { 3703, true }, - { 3714, true }, - { 3732, true }, - { 3756, true }, - { 3763, true }, - { 3776, true }, - { 3789, true }, - { 3798, true }, - { 3815, true }, - { 3834, true }, - { 3846, true }, - { 3865, true }, - { 3888, true }, + { 3462, true }, + { 3474, true }, + { 3496, true }, + { 3512, true }, + { 3523, false }, + { 3539, false }, + { 3551, true }, + { 3564, true }, + { 3581, true }, + { 3606, true }, + { 3623, false }, + { 3631, true }, + { 3640, true }, + { 3664, true }, + { 3677, true }, + { 3689, true }, + { 3700, true }, + { 3718, true }, + { 3742, true }, + { 3749, true }, + { 3762, true }, + { 3775, true }, + { 3784, true }, + { 3801, true }, + { 3820, true }, + { 3832, true }, + { 3851, true }, + { 3874, true }, + { 3897, true }, { 3911, true }, - { 3925, true }, - { 3933, true }, - { 3957, true }, - { 3973, true }, - { 3986, true }, - { 4003, true }, - { 4023, true }, - { 4036, true }, - { 4054, true }, - { 4069, true }, - { 4090, true }, - { 4110, true }, - { 4135, true }, - { 4147, true }, - { 4158, true }, - { 4177, true }, - { 4196, true }, - { 4206, false }, - { 4213, true }, - { 4226, true }, - { 4247, true }, - { 4259, true }, - { 4276, true }, - { 4289, true }, - { 4305, true }, - { 4326, true }, - { 4338, true }, - { 4349, true }, - { 4362, false }, - { 4371, true }, - { 4387, false }, - { 4397, true }, - { 4412, true }, - { 4429, true }, + { 3919, true }, + { 3943, true }, + { 3959, true }, + { 3972, true }, + { 3989, true }, + { 4009, true }, + { 4022, true }, + { 4040, true }, + { 4055, true }, + { 4076, true }, + { 4096, true }, + { 4121, true }, + { 4133, true }, + { 4144, true }, + { 4163, true }, + { 4182, true }, + { 4192, false }, + { 4199, true }, + { 4212, true }, + { 4233, true }, + { 4245, true }, + { 4262, true }, + { 4275, true }, + { 4291, true }, + { 4312, true }, + { 4324, true }, + { 4335, true }, + { 4348, false }, + { 4357, true }, + { 4373, false }, + { 4383, true }, + { 4398, true }, + { 4415, true }, + { 4426, true }, { 4440, true }, - { 4454, true }, - { 4467, true }, - { 4483, true }, - { 4494, true }, - { 4506, true }, - { 4518, true }, - { 4539, false }, - { 4549, true }, - { 4564, true }, - { 4578, false }, - { 4591, true }, - { 4600, true }, - { 4615, true }, + { 4453, true }, + { 4469, true }, + { 4480, true }, + { 4492, true }, + { 4504, true }, + { 4525, false }, + { 4535, true }, + { 4550, true }, + { 4564, false }, + { 4577, true }, + { 4586, true }, + { 4601, true }, + { 4617, true }, { 4631, true }, - { 4645, true }, - { 4657, true }, - { 4672, true }, - { 4685, true }, - { 4697, true }, - { 4709, true }, - { 4721, true }, - { 4733, true }, - { 4745, true }, - { 4753, true }, - { 4764, true }, + { 4643, true }, + { 4658, true }, + { 4671, true }, + { 4683, true }, + { 4695, true }, + { 4707, true }, + { 4719, true }, + { 4731, true }, + { 4739, true }, + { 4750, true }, + { 4767, true }, { 4781, true }, - { 4795, true }, + { 4797, true }, { 4811, true }, - { 4825, true }, - { 4838, true }, - { 4855, true }, - { 4871, true }, - { 4886, true }, - { 4901, true }, - { 4919, true }, - { 4928, true }, - { 4941, true }, - { 4956, true }, - { 4977, true }, - { 4986, true }, - { 4996, true }, - { 5021, true }, - { 5032, true }, - { 5044, true }, - { 5063, true }, - { 5075, true }, - { 5094, true }, - { 5113, true }, - { 5132, true }, - { 5143, true }, - { 5155, true }, - { 5170, true }, - { 5181, true }, - { 5194, true }, - { 5206, true }, + { 4824, true }, + { 4841, true }, + { 4857, true }, + { 4872, true }, + { 4887, true }, + { 4905, true }, + { 4914, true }, + { 4927, true }, + { 4942, true }, + { 4963, true }, + { 4972, true }, + { 4982, true }, + { 5007, true }, + { 5018, true }, + { 5030, true }, + { 5049, true }, + { 5061, true }, + { 5080, true }, + { 5099, true }, + { 5118, true }, + { 5129, true }, + { 5141, true }, + { 5156, true }, + { 5167, true }, + { 5180, true }, + { 5192, true }, + { 5205, true }, { 5219, true }, - { 5233, true }, - { 5248, true }, - { 5270, true }, - { 5280, true }, - { 5302, true }, - { 5311, true }, + { 5234, true }, + { 5256, true }, + { 5266, true }, + { 5288, true }, + { 5297, true }, + { 5310, true }, { 5324, true }, - { 5338, true }, - { 5350, true }, - { 5363, true }, - { 5390, true }, - { 5416, true }, - { 5427, true }, - { 5440, true }, - { 5451, true }, - { 5475, true }, - { 5492, true }, - { 5520, true }, - { 5532, true }, - { 5543, true }, - { 5552, true }, + { 5336, true }, + { 5349, true }, + { 5376, true }, + { 5402, true }, + { 5413, true }, + { 5426, true }, + { 5437, true }, + { 5461, true }, + { 5478, true }, + { 5506, true }, + { 5518, true }, + { 5529, true }, + { 5538, true }, + { 5548, true }, { 5562, true }, - { 5576, true }, - { 5595, true }, - { 5605, true }, - { 5622, true }, + { 5581, true }, + { 5591, true }, + { 5608, true }, + { 5620, true }, { 5634, true }, - { 5648, true }, - { 5656, false }, - { 5677, true }, - { 5695, true }, - { 5716, true }, - { 5727, true }, - { 5740, true }, - { 5751, true }, - { 5760, true }, - { 5776, true }, - { 5792, true }, - { 5811, true }, + { 5642, false }, + { 5663, true }, + { 5681, true }, + { 5702, true }, + { 5713, true }, + { 5726, true }, + { 5737, true }, + { 5746, true }, + { 5762, true }, + { 5778, true }, + { 5797, true }, + { 5818, true }, { 5832, true }, - { 5846, true }, - { 5865, true }, - { 5878, true }, - { 5889, true }, - { 5909, true }, - { 5927, true }, - { 5945, false }, + { 5851, true }, + { 5864, true }, + { 5875, true }, + { 5895, true }, + { 5913, true }, + { 5931, false }, + { 5950, true }, { 5964, true }, - { 5978, true }, - { 5999, true }, - { 6019, true }, - { 6035, true }, - { 6045, true }, - { 6058, true }, + { 5985, true }, + { 6005, true }, + { 6021, true }, + { 6031, true }, + { 6044, true }, + { 6057, true }, { 6071, true }, { 6085, true }, - { 6099, true }, - { 6109, true }, - { 6119, true }, - { 6129, true }, - { 6139, true }, - { 6149, true }, - { 6159, true }, - { 6176, true }, - { 6186, false }, - { 6194, true }, - { 6205, true }, - { 6216, true }, - { 6228, true }, - { 6239, true }, - { 6251, true }, - { 6262, true }, - { 6280, true }, - { 6289, true }, - { 6309, true }, - { 6320, true }, - { 6337, true }, + { 6095, true }, + { 6105, true }, + { 6115, true }, + { 6125, true }, + { 6135, true }, + { 6145, true }, + { 6162, true }, + { 6172, false }, + { 6180, true }, + { 6191, true }, + { 6202, true }, + { 6214, true }, + { 6225, true }, + { 6237, true }, + { 6248, true }, + { 6266, true }, + { 6275, true }, + { 6295, true }, + { 6306, true }, + { 6323, true }, + { 6347, true }, { 6361, true }, - { 6375, true }, - { 6394, true }, - { 6416, true }, - { 6426, true }, - { 6438, true }, - { 6454, true }, - { 6465, true }, + { 6380, true }, + { 6402, true }, + { 6412, true }, + { 6424, true }, + { 6440, true }, + { 6451, true }, + { 6459, true }, { 6473, true }, - { 6487, true }, - { 6503, true }, - { 6518, true }, - { 6527, true }, - { 6542, true }, - { 6550, true }, - { 6559, true }, - { 6576, false }, - { 6588, true }, - { 6597, true }, - { 6616, true }, - { 6633, true }, - { 6641, false }, - { 6657, true }, - { 6675, true }, - { 6686, true }, - { 6699, true }, - { 6707, true }, - { 6721, false }, - { 6735, true }, - { 6747, true }, - { 6757, false }, - { 6770, true }, - { 6782, true }, + { 6489, true }, + { 6504, true }, + { 6513, true }, + { 6528, true }, + { 6536, true }, + { 6545, true }, + { 6562, false }, + { 6574, true }, + { 6583, true }, + { 6602, true }, + { 6619, true }, + { 6627, false }, + { 6643, true }, + { 6661, true }, + { 6672, true }, + { 6685, true }, + { 6693, true }, + { 6707, false }, + { 6721, true }, + { 6733, true }, + { 6743, false }, + { 6756, true }, + { 6768, true }, + { 6780, true }, { 6794, true }, - { 6808, true }, - { 6821, true }, - { 6833, true }, - { 6849, true }, - { 6859, false }, - { 6869, true }, - { 6877, true }, + { 6807, true }, + { 6819, true }, + { 6835, true }, + { 6845, false }, + { 6855, true }, + { 6863, true }, + { 6873, true }, { 6887, true }, - { 6901, true }, - { 6914, true }, - { 6922, true }, - { 6934, true }, - { 6946, true }, - { 6970, true }, - { 6989, true }, - { 7008, false }, + { 6900, true }, + { 6908, true }, + { 6920, true }, + { 6932, true }, + { 6956, true }, + { 6975, true }, + { 6994, false }, + { 7003, true }, { 7017, true }, - { 7031, true }, - { 7041, true }, - { 7074, true }, + { 7027, true }, + { 7060, true }, + { 7070, true }, { 7084, true }, - { 7098, true }, - { 7105, true }, - { 7117, true }, - { 7130, true }, - { 7141, true }, - { 7158, true }, - { 7169, true }, - { 7185, true }, - { 7194, true }, + { 7091, true }, + { 7103, true }, + { 7116, true }, + { 7127, true }, + { 7144, true }, + { 7155, true }, + { 7171, true }, + { 7180, true }, + { 7187, true }, { 7201, true }, - { 7215, true }, - { 7223, true }, - { 7234, true }, - { 7252, true }, - { 7267, true }, - { 7282, true }, - { 7299, true }, - { 7312, true }, - { 7322, true }, - { 7333, true }, - { 7348, true }, - { 7371, true }, - { 7382, true }, - { 7394, true }, - { 7405, true }, - { 7425, true }, - { 7436, true }, - { 7447, true }, - { 7458, true }, - { 7469, true }, - { 7480, true }, - { 7493, true }, - { 7511, true }, - { 7523, true }, - { 7540, true }, + { 7209, true }, + { 7220, true }, + { 7238, true }, + { 7253, true }, + { 7268, true }, + { 7285, true }, + { 7298, true }, + { 7308, true }, + { 7319, true }, + { 7334, true }, + { 7357, true }, + { 7368, true }, + { 7380, true }, + { 7391, true }, + { 7411, true }, + { 7422, true }, + { 7433, true }, + { 7444, true }, + { 7455, true }, + { 7466, true }, + { 7479, true }, + { 7497, true }, + { 7509, true }, + { 7526, true }, + { 7535, true }, { 7549, true }, - { 7563, true }, - { 7574, true }, - { 7585, true }, - { 7602, true }, - { 7618, true }, - { 7629, true }, - { 7637, false }, - { 7663, false }, - { 7674, true }, - { 7692, false }, - { 7709, true }, - { 7719, true }, - { 7730, true }, - { 7743, true }, - { 7755, true }, - { 7764, true }, - { 7781, true }, - { 7788, true }, - { 7812, true }, - { 7828, true }, - { 7848, true }, - { 7873, true }, - { 7898, true }, - { 7923, true }, - { 7933, true }, - { 7945, true }, - { 7954, true }, - { 7966, true }, - { 7993, true }, - { 8021, true }, - { 8034, false }, - { 8043, true }, - { 8059, true }, - { 8075, true }, + { 7560, true }, + { 7571, true }, + { 7588, true }, + { 7604, true }, + { 7615, true }, + { 7623, false }, + { 7649, false }, + { 7660, true }, + { 7678, false }, + { 7695, true }, + { 7705, true }, + { 7716, true }, + { 7729, true }, + { 7741, true }, + { 7750, true }, + { 7767, true }, + { 7774, true }, + { 7798, true }, + { 7814, true }, + { 7834, true }, + { 7859, true }, + { 7884, true }, + { 7909, true }, + { 7919, true }, + { 7931, true }, + { 7940, true }, + { 7952, true }, + { 7979, true }, + { 8007, true }, + { 8020, false }, + { 8029, true }, + { 8045, true }, + { 8061, true }, + { 8073, true }, { 8087, true }, - { 8101, true }, - { 8121, true }, - { 8136, true }, - { 8157, true }, - { 8168, true }, - { 8178, true }, - { 8189, true }, - { 8201, true }, - { 8213, true }, - { 8222, true }, - { 8234, true }, - { 8253, true }, - { 8266, true }, - { 8277, true }, - { 8286, true }, + { 8107, true }, + { 8122, true }, + { 8143, true }, + { 8154, true }, + { 8164, true }, + { 8175, true }, + { 8187, true }, + { 8199, true }, + { 8208, true }, + { 8220, true }, + { 8239, true }, + { 8252, true }, + { 8263, true }, + { 8272, true }, + { 8290, true }, { 8304, true }, { 8318, true }, - { 8332, true }, - { 8348, true }, - { 8364, true }, - { 8384, true }, + { 8334, true }, + { 8350, true }, + { 8370, true }, + { 8391, true }, { 8405, true }, - { 8419, true }, - { 8432, true }, - { 8447, true }, - { 8457, true }, - { 8475, true }, - { 8490, true }, - { 8508, true }, - { 8518, true }, - { 8533, true }, + { 8418, true }, + { 8433, true }, + { 8443, true }, + { 8461, true }, + { 8476, true }, + { 8494, true }, + { 8504, true }, + { 8519, true }, + { 8537, true }, { 8551, true }, { 8565, true }, { 8579, true }, - { 8593, true }, - { 8605, true }, + { 8591, true }, + { 8606, true }, { 8620, true }, - { 8634, true }, - { 8649, true }, + { 8635, true }, + { 8645, true }, { 8659, true }, - { 8673, true }, - { 8682, true }, + { 8668, true }, + { 8683, true }, { 8697, true }, - { 8711, true }, + { 8713, true }, { 8725, true }, - { 8741, true }, + { 8738, false }, { 8753, true }, - { 8766, false }, - { 8781, true }, - { 8793, true }, - { 8807, true }, - { 8817, true }, - { 8832, true }, - { 8846, true }, - { 8860, true }, - { 8882, true }, - { 8894, true }, - { 8917, true }, - { 8938, true }, - { 8950, true }, - { 8962, true }, - { 8975, true }, - { 8986, true }, - { 9001, true }, - { 9012, false }, - { 9028, true }, - { 9046, true }, - { 9057, true }, - { 9069, true }, - { 9082, true }, - { 9102, true }, - { 9115, true }, - { 9128, true }, - { 9152, true }, - { 9170, true }, - { 9187, true }, - { 9211, true }, - { 9235, true }, - { 9254, true }, - { 9270, true }, - { 9284, true }, - { 9293, true }, - { 9306, true }, - { 9323, true }, - { 9344, true }, - { 9360, true }, - { 9381, true }, - { 9397, true }, - { 9416, true }, - { 9429, true }, - { 9450, true }, - { 9470, true }, - { 9490, true }, - { 9506, true }, - { 9519, false }, - { 9532, true }, - { 9544, true }, - { 9554, true }, - { 9567, true }, - { 9581, true }, - { 9597, true }, - { 9611, true }, - { 9627, true }, - { 9639, true }, - { 9653, true }, - { 9670, true }, - { 9681, true }, - { 9700, true }, - { 9713, true }, - { 9727, true }, - { 9735, true }, - { 9748, true }, - { 9761, true }, - { 9776, true }, - { 9790, true }, - { 9807, true }, - { 9826, true }, - { 9838, true }, - { 9852, true }, - { 9874, true }, - { 9888, true }, - { 9900, true }, - { 9912, true }, - { 9926, true }, - { 9954, true }, - { 9969, true }, - { 9981, true }, - { 9992, true }, - { 10003, true }, - { 10017, true }, - { 10029, true }, - { 10037, true }, - { 10048, true }, - { 10056, true }, - { 10064, true }, - { 10072, true }, - { 10080, true }, - { 10093, true }, - { 10100, true }, - { 10110, true }, - { 10123, true }, - { 10135, true }, - { 10148, true }, - { 10168, true }, - { 10180, true }, - { 10192, true }, - { 10210, true }, - { 10225, true }, - { 10238, true }, - { 10247, true }, - { 10260, true }, - { 10272, true }, - { 10286, true }, - { 10299, true }, - { 10310, true }, - { 10320, true }, - { 10331, true }, - { 10341, true }, - { 10352, true }, - { 10361, true }, - { 10377, true }, - { 10393, true }, - { 10421, true }, - { 10440, true }, - { 10455, true }, - { 10475, true }, - { 10487, true }, - { 10499, true }, - { 10512, true }, - { 10521, true }, - { 10530, true }, - { 10540, true }, - { 10559, true }, - { 10570, true }, - { 10585, true }, - { 10605, true }, - { 10623, true }, - { 10633, true }, - { 10660, true }, - { 10677, true }, - { 10688, true }, - { 10698, true }, - { 10712, true }, - { 10729, true }, - { 10738, true }, - { 10749, true }, - { 10769, true }, - { 10788, true }, - { 10799, true }, - { 10810, true }, - { 10828, true }, - { 10854, false }, - { 10865, true }, - { 10884, true }, - { 10902, true }, - { 10920, true }, - { 10942, true }, - { 10964, true }, - { 10978, true }, - { 10993, true }, - { 11007, true }, - { 11021, true }, - { 11036, true }, - { 11057, true }, - { 11067, true }, - { 11082, true }, - { 11093, true }, - { 11114, true }, - { 11132, true }, - { 11143, true }, - { 11161, true }, - { 11174, true }, - { 11182, true }, - { 11199, true }, - { 11212, true }, - { 11227, true }, - { 11239, true }, - { 11253, true }, - { 11272, true }, - { 11290, true }, - { 11312, true }, - { 11327, true }, - { 11344, true }, - { 11366, true }, - { 11381, true }, - { 11398, true }, - { 11419, true }, - { 11435, true }, - { 11462, true }, - { 11478, true }, - { 11495, true }, - { 11512, true }, - { 11527, true }, - { 11542, true }, - { 11556, true }, - { 11573, true }, - { 11590, true }, - { 11602, true }, - { 11620, true }, - { 11637, true }, - { 11651, true }, - { 11668, true }, - { 11686, true }, - { 11701, true }, - { 11713, true }, - { 11729, true }, - { 11743, true }, - { 11756, true }, - { 11773, true }, - { 11793, true }, - { 11813, true }, - { 11828, true }, - { 11839, true }, - { 11850, true }, - { 11861, true }, - { 11877, true }, - { 11892, true }, - { 11903, true }, - { 11920, true }, - { 11936, true }, - { 11947, true }, - { 11958, true }, - { 11970, true }, - { 11983, true }, - { 12002, true }, - { 12013, true }, - { 12026, true }, - { 12040, true }, - { 12058, false }, - { 12071, true }, - { 12093, true }, - { 12110, true }, - { 12127, true }, - { 12147, true }, - { 12158, true }, - { 12169, true }, - { 12187, true }, - { 12219, true }, - { 12246, true }, - { 12258, true }, - { 12268, true }, - { 12286, true }, - { 12301, true }, - { 12313, true }, - { 12325, true }, - { 12345, true }, - { 12364, true }, - { 12384, true }, - { 12407, false }, - { 12431, true }, - { 12443, true }, - { 12454, true }, - { 12466, true }, - { 12478, true }, - { 12494, true }, - { 12511, true }, - { 12530, true }, - { 12544, true }, - { 12555, true }, - { 12571, true }, - { 12590, true }, - { 12603, true }, - { 12613, true }, - { 12623, true }, - { 12636, true }, - { 12648, false }, - { 12672, true }, - { 12691, true }, - { 12705, true }, - { 12721, true }, - { 12737, true }, - { 12749, true }, - { 12760, true }, - { 12776, true }, - { 12793, true }, - { 12807, true }, - { 12822, true }, - { 12837, true }, - { 12848, true }, - { 12866, true }, - { 12882, true }, - { 12896, true }, - { 12911, true }, - { 12921, true }, - { 12934, true }, - { 12951, false }, - { 12958, true }, - { 12971, true }, - { 12984, true }, - { 13000, true }, - { 13011, true }, - { 13023, true }, - { 13034, true }, - { 13041, true }, - { 13053, true }, - { 13061, false }, - { 13072, true }, - { 13083, true }, - { 13093, true }, - { 13106, false }, - { 13114, true }, - { 13124, true }, - { 13131, true }, - { 13145, false }, - { 13159, true }, - { 13175, true }, - { 13194, true }, - { 13219, true }, - { 13228, true }, - { 13239, true }, - { 13247, true }, - { 13277, true }, - { 13300, true }, - { 13313, true }, - { 13332, true }, - { 13344, true }, - { 13357, false }, - { 13376, true }, - { 13392, false }, - { 13408, true }, - { 13424, false }, - { 13439, false }, - { 13452, true }, - { 13468, true }, - { 13480, true }, - { 13499, true }, - { 13520, true }, - { 13529, true }, - { 13542, true }, - { 13556, true }, - { 13566, true }, - { 13577, true }, - { 13588, true }, - { 13600, true }, - { 13616, true }, - { 13633, false }, - { 13650, true }, - { 13672, true }, - { 13698, true }, - { 13711, true }, - { 13720, true }, - { 13734, true }, - { 13753, true }, - { 13774, true }, - { 13786, true }, - { 13800, true }, - { 13824, true }, - { 13833, true }, - { 13846, true }, - { 13859, true }, - { 13873, true }, - { 13889, true }, - { 13906, true }, - { 13917, true }, - { 13926, true }, - { 13939, true }, - { 13952, true }, - { 13964, true }, - { 13985, false }, - { 14003, true }, - { 14026, true }, - { 14053, true }, - { 14072, false }, - { 14085, true }, - { 14097, true }, - { 14117, true }, - { 14128, true }, - { 14145, true }, - { 14157, true }, - { 14171, true }, - { 14179, true }, - { 14196, true }, - { 14209, true }, - { 14221, true }, - { 14234, true }, - { 14250, true }, - { 14262, true }, - { 14280, true }, - { 14292, true }, - { 14315, true }, - { 14328, true }, - { 14344, true }, - { 14358, true }, - { 14364, true }, - { 14376, true }, - { 14386, true }, - { 14402, true }, - { 14414, true }, - { 14425, true }, - { 14435, true }, - { 14452, true }, - { 14471, true }, - { 14483, true }, - { 14495, true }, - { 14508, true }, - { 14534, true }, - { 14550, true }, - { 14563, true }, - { 14577, true }, - { 14587, true }, - { 14603, true }, - { 14622, true }, - { 14646, true }, - { 14674, true }, - { 14687, true }, - { 14701, true }, - { 14713, true }, - { 14724, true }, - { 14737, true }, - { 14746, true }, - { 14759, true }, - { 14771, true }, - { 14785, true }, - { 14801, true }, - { 14817, true }, - { 14837, true }, - { 14851, true }, - { 14859, true }, - { 14873, true }, - { 14891, true }, - { 14911, true }, - { 14933, true }, - { 14945, true }, - { 14960, true }, - { 14976, true }, - { 14990, false }, - { 15003, true }, - { 15018, true }, - { 15031, true }, - { 15049, true }, - { 15063, true }, - { 15072, true }, - { 15084, true }, - { 15102, true }, - { 15122, false }, - { 15137, true }, - { 15150, true }, - { 15163, true }, - { 15173, true }, - { 15187, true }, - { 15213, true }, - { 15223, true }, - { 15237, true }, - { 15249, true }, - { 15267, true }, - { 15285, false }, - { 15301, true }, - { 15311, true }, - { 15323, true }, - { 15334, true }, - { 15347, true }, - { 15363, true }, - { 15385, true }, - { 15400, true }, - { 15411, true }, - { 15421, true }, - { 15443, true }, - { 15458, true }, - { 15477, true }, - { 15490, true }, - { 15508, false }, - { 15523, true }, - { 15543, true }, - { 15554, true }, - { 15566, true }, - { 15579, true }, - { 15599, true }, - { 15611, false }, - { 15625, true }, - { 15635, true }, - { 15648, true }, - { 15666, true }, - { 15680, true }, - { 15693, true }, - { 15706, true }, - { 15718, true }, - { 15732, true }, - { 15752, true }, - { 15765, true }, - { 15779, true }, - { 15792, true }, - { 15804, true }, - { 15822, true }, - { 15834, true }, - { 15845, true }, - { 15856, true }, - { 15869, true }, - { 15882, true }, - { 15897, true }, - { 15908, true }, - { 15919, true }, - { 15934, true }, - { 15945, true }, - { 15955, true }, - { 15967, true }, - { 15988, true }, - { 15999, true }, - { 16008, true }, - { 16015, true }, - { 16029, true }, - { 16039, true }, - { 16052, true }, - { 16065, true }, - { 16077, true }, - { 16094, true }, - { 16105, true }, - { 16119, true }, - { 16129, true }, - { 16147, true }, - { 16157, true }, - { 16171, true }, - { 16188, true }, - { 16202, true }, - { 16212, true }, - { 16228, true }, - { 16239, true }, - { 16263, true }, - { 16280, true }, - { 16297, true }, - { 16309, true }, - { 16325, true }, - { 16347, true }, - { 16373, true }, - { 16388, true }, - { 16401, true }, - { 16419, true }, - { 16430, true }, - { 16440, true }, - { 16450, true }, - { 16469, true }, - { 16489, true }, - { 16501, true }, - { 16515, true }, - { 16522, true }, - { 16532, true }, - { 16542, true }, - { 16557, true }, - { 16582, true }, - { 16604, true }, - { 16616, true }, - { 16634, true }, - { 16646, true }, - { 16659, true }, - { 16679, true }, - { 16707, true }, - { 16716, true }, - { 16726, true }, - { 16734, true }, - { 16746, true }, - { 16755, false }, - { 16775, true }, - { 16782, true }, - { 16798, true }, - { 16814, true }, - { 16829, true }, - { 16839, true }, - { 16857, true }, - { 16872, true }, - { 16899, true }, - { 16916, true }, - { 16934, true }, - { 16942, true }, - { 16956, true }, - { 16967, true }, - { 16976, true }, - { 17003, true }, - { 17011, true }, - { 17021, true }, - { 17037, true }, - { 17049, true }, - { 17064, true }, - { 17076, true }, - { 17091, true }, - { 17106, true }, - { 17118, true }, - { 17141, true }, - { 17162, true }, - { 17182, true }, - { 17199, true }, - { 17217, true }, - { 17231, true }, - { 17243, true }, - { 17257, true }, - { 17267, true }, - { 17281, true }, - { 17291, true }, - { 17306, true }, - { 17321, true }, - { 17332, true }, - { 17345, true }, - { 17357, true }, - { 17370, true }, - { 17382, true }, - { 17390, true }, - { 17403, true }, - { 17421, true }, - { 17442, true }, - { 17463, true }, - { 17484, true }, - { 17498, true }, - { 17514, true }, - { 17526, true }, - { 17538, true }, - { 17550, true }, - { 17562, true }, - { 17575, true }, - { 17585, true }, - { 17594, true }, - { 17604, true }, - { 17619, true }, - { 17630, true }, - { 17645, true }, - { 17658, true }, - { 17677, true }, - { 17689, true }, - { 17705, true }, - { 17717, true }, - { 17733, true }, - { 17752, true }, - { 17771, true }, - { 17784, true }, - { 17795, true }, - { 17806, true }, - { 17824, true }, - { 17854, true }, - { 17877, true }, - { 17890, false }, - { 17898, true }, - { 17915, true }, - { 17925, true }, - { 17935, true }, - { 17949, true }, - { 17965, true }, + { 8780, true }, + { 8792, true }, + { 8806, true }, + { 8816, true }, + { 8831, true }, + { 8845, true }, + { 8859, true }, + { 8881, true }, + { 8893, true }, + { 8916, true }, + { 8937, true }, + { 8949, true }, + { 8961, true }, + { 8974, true }, + { 8985, true }, + { 9000, true }, + { 9011, false }, + { 9027, true }, + { 9045, true }, + { 9056, true }, + { 9068, true }, + { 9081, true }, + { 9101, true }, + { 9114, true }, + { 9127, true }, + { 9151, true }, + { 9169, true }, + { 9186, true }, + { 9210, true }, + { 9234, true }, + { 9253, true }, + { 9269, true }, + { 9283, true }, + { 9292, true }, + { 9305, true }, + { 9322, true }, + { 9343, true }, + { 9359, true }, + { 9380, true }, + { 9396, true }, + { 9415, true }, + { 9428, true }, + { 9449, true }, + { 9469, true }, + { 9489, true }, + { 9505, true }, + { 9518, false }, + { 9531, true }, + { 9543, true }, + { 9553, true }, + { 9566, true }, + { 9580, true }, + { 9596, true }, + { 9610, true }, + { 9626, true }, + { 9638, true }, + { 9652, true }, + { 9669, true }, + { 9680, true }, + { 9699, true }, + { 9712, true }, + { 9726, true }, + { 9734, true }, + { 9747, true }, + { 9760, true }, + { 9775, true }, + { 9789, true }, + { 9806, true }, + { 9825, true }, + { 9837, true }, + { 9851, true }, + { 9873, true }, + { 9887, true }, + { 9899, true }, + { 9911, true }, + { 9925, true }, + { 9953, true }, + { 9968, true }, + { 9980, true }, + { 9991, true }, + { 10002, true }, + { 10016, true }, + { 10028, true }, + { 10036, true }, + { 10047, true }, + { 10055, true }, + { 10063, true }, + { 10071, true }, + { 10079, true }, + { 10092, true }, + { 10099, true }, + { 10109, true }, + { 10122, true }, + { 10134, true }, + { 10147, true }, + { 10167, true }, + { 10179, true }, + { 10191, true }, + { 10209, true }, + { 10224, true }, + { 10237, true }, + { 10246, true }, + { 10259, true }, + { 10271, true }, + { 10285, true }, + { 10298, true }, + { 10309, true }, + { 10319, true }, + { 10330, true }, + { 10340, true }, + { 10351, true }, + { 10360, true }, + { 10376, true }, + { 10392, true }, + { 10420, true }, + { 10439, true }, + { 10454, true }, + { 10474, true }, + { 10486, true }, + { 10498, true }, + { 10511, true }, + { 10520, true }, + { 10529, true }, + { 10539, true }, + { 10558, true }, + { 10569, true }, + { 10584, true }, + { 10604, true }, + { 10622, true }, + { 10632, true }, + { 10659, true }, + { 10676, true }, + { 10687, true }, + { 10697, true }, + { 10711, true }, + { 10728, true }, + { 10737, true }, + { 10748, true }, + { 10768, true }, + { 10787, true }, + { 10798, true }, + { 10809, true }, + { 10827, true }, + { 10853, false }, + { 10864, true }, + { 10883, true }, + { 10901, true }, + { 10919, true }, + { 10941, true }, + { 10963, true }, + { 10977, true }, + { 10992, true }, + { 11006, true }, + { 11020, true }, + { 11035, true }, + { 11056, true }, + { 11066, true }, + { 11081, true }, + { 11092, true }, + { 11113, true }, + { 11131, true }, + { 11142, true }, + { 11160, true }, + { 11173, true }, + { 11181, true }, + { 11198, true }, + { 11211, true }, + { 11226, true }, + { 11238, true }, + { 11252, true }, + { 11271, true }, + { 11289, true }, + { 11311, true }, + { 11326, true }, + { 11343, true }, + { 11365, true }, + { 11380, true }, + { 11397, true }, + { 11418, true }, + { 11434, true }, + { 11461, true }, + { 11477, true }, + { 11494, true }, + { 11511, true }, + { 11526, true }, + { 11541, true }, + { 11555, true }, + { 11572, true }, + { 11589, true }, + { 11601, true }, + { 11619, true }, + { 11636, true }, + { 11650, true }, + { 11667, true }, + { 11685, true }, + { 11700, true }, + { 11712, true }, + { 11728, true }, + { 11742, true }, + { 11755, true }, + { 11772, true }, + { 11792, true }, + { 11812, true }, + { 11827, true }, + { 11838, true }, + { 11849, true }, + { 11860, true }, + { 11876, true }, + { 11891, true }, + { 11902, true }, + { 11919, true }, + { 11935, true }, + { 11946, true }, + { 11957, true }, + { 11969, true }, + { 11982, true }, + { 12001, true }, + { 12012, true }, + { 12025, true }, + { 12039, true }, + { 12057, false }, + { 12070, true }, + { 12092, true }, + { 12109, true }, + { 12126, true }, + { 12146, true }, + { 12157, true }, + { 12168, true }, + { 12186, true }, + { 12218, true }, + { 12245, true }, + { 12257, true }, + { 12267, true }, + { 12285, true }, + { 12300, true }, + { 12312, true }, + { 12324, true }, + { 12344, true }, + { 12363, true }, + { 12383, true }, + { 12406, false }, + { 12430, true }, + { 12442, true }, + { 12453, true }, + { 12465, true }, + { 12477, true }, + { 12493, true }, + { 12510, true }, + { 12529, true }, + { 12543, true }, + { 12554, true }, + { 12570, true }, + { 12589, true }, + { 12602, true }, + { 12612, true }, + { 12622, true }, + { 12635, true }, + { 12647, false }, + { 12671, true }, + { 12690, true }, + { 12704, true }, + { 12720, true }, + { 12736, true }, + { 12748, true }, + { 12759, true }, + { 12775, true }, + { 12792, true }, + { 12806, true }, + { 12821, true }, + { 12836, true }, + { 12847, true }, + { 12865, true }, + { 12881, true }, + { 12895, true }, + { 12910, true }, + { 12920, true }, + { 12933, true }, + { 12950, false }, + { 12957, true }, + { 12970, true }, + { 12983, true }, + { 12999, true }, + { 13010, true }, + { 13022, true }, + { 13033, true }, + { 13040, true }, + { 13052, true }, + { 13060, false }, + { 13071, true }, + { 13082, true }, + { 13092, true }, + { 13105, false }, + { 13113, true }, + { 13123, true }, + { 13130, true }, + { 13144, false }, + { 13158, true }, + { 13174, true }, + { 13193, true }, + { 13218, true }, + { 13227, true }, + { 13238, true }, + { 13246, true }, + { 13276, true }, + { 13299, true }, + { 13312, true }, + { 13331, true }, + { 13343, true }, + { 13356, false }, + { 13375, true }, + { 13391, false }, + { 13407, true }, + { 13423, false }, + { 13438, false }, + { 13451, true }, + { 13467, true }, + { 13479, true }, + { 13498, true }, + { 13519, true }, + { 13528, true }, + { 13541, true }, + { 13555, true }, + { 13565, true }, + { 13576, true }, + { 13587, true }, + { 13599, true }, + { 13615, true }, + { 13632, false }, + { 13649, true }, + { 13671, true }, + { 13697, true }, + { 13710, true }, + { 13719, true }, + { 13733, true }, + { 13752, true }, + { 13773, true }, + { 13785, true }, + { 13799, true }, + { 13823, true }, + { 13832, true }, + { 13845, true }, + { 13858, true }, + { 13872, true }, + { 13888, true }, + { 13905, true }, + { 13916, true }, + { 13925, true }, + { 13938, true }, + { 13951, true }, + { 13963, true }, + { 13984, false }, + { 14002, true }, + { 14025, true }, + { 14052, true }, + { 14071, false }, + { 14084, true }, + { 14096, true }, + { 14116, true }, + { 14127, true }, + { 14144, true }, + { 14156, true }, + { 14170, true }, + { 14178, true }, + { 14195, true }, + { 14208, true }, + { 14220, true }, + { 14233, true }, + { 14249, true }, + { 14261, true }, + { 14279, true }, + { 14291, true }, + { 14314, true }, + { 14327, true }, + { 14343, true }, + { 14357, true }, + { 14363, true }, + { 14375, true }, + { 14385, true }, + { 14401, true }, + { 14413, true }, + { 14424, true }, + { 14434, true }, + { 14451, true }, + { 14470, true }, + { 14482, true }, + { 14494, true }, + { 14507, true }, + { 14533, true }, + { 14549, true }, + { 14562, true }, + { 14576, true }, + { 14586, true }, + { 14602, true }, + { 14621, true }, + { 14645, true }, + { 14673, true }, + { 14686, true }, + { 14700, true }, + { 14712, true }, + { 14723, true }, + { 14736, true }, + { 14745, true }, + { 14758, true }, + { 14770, true }, + { 14784, true }, + { 14800, true }, + { 14816, true }, + { 14836, true }, + { 14850, true }, + { 14858, true }, + { 14872, true }, + { 14890, true }, + { 14910, true }, + { 14932, true }, + { 14944, true }, + { 14959, true }, + { 14975, true }, + { 14989, false }, + { 15002, true }, + { 15017, true }, + { 15030, true }, + { 15048, true }, + { 15062, true }, + { 15071, true }, + { 15083, true }, + { 15101, true }, + { 15121, false }, + { 15136, true }, + { 15149, true }, + { 15162, true }, + { 15172, true }, + { 15186, true }, + { 15212, true }, + { 15222, true }, + { 15236, true }, + { 15248, true }, + { 15266, true }, + { 15284, false }, + { 15300, true }, + { 15310, true }, + { 15322, true }, + { 15333, true }, + { 15346, true }, + { 15362, true }, + { 15384, true }, + { 15399, true }, + { 15410, true }, + { 15420, true }, + { 15442, true }, + { 15457, true }, + { 15476, true }, + { 15489, true }, + { 15507, false }, + { 15522, true }, + { 15542, true }, + { 15553, true }, + { 15565, true }, + { 15578, true }, + { 15598, true }, + { 15610, false }, + { 15624, true }, + { 15634, true }, + { 15647, true }, + { 15665, true }, + { 15679, true }, + { 15692, true }, + { 15705, true }, + { 15717, true }, + { 15731, true }, + { 15751, true }, + { 15764, true }, + { 15778, true }, + { 15791, true }, + { 15803, true }, + { 15821, true }, + { 15833, true }, + { 15844, true }, + { 15855, true }, + { 15868, true }, + { 15881, true }, + { 15896, true }, + { 15907, true }, + { 15918, true }, + { 15933, true }, + { 15944, true }, + { 15954, true }, + { 15966, true }, + { 15987, true }, + { 15998, true }, + { 16007, true }, + { 16014, true }, + { 16028, true }, + { 16038, true }, + { 16051, true }, + { 16064, true }, + { 16076, true }, + { 16093, true }, + { 16104, true }, + { 16118, true }, + { 16128, true }, + { 16146, true }, + { 16156, true }, + { 16170, true }, + { 16187, true }, + { 16201, true }, + { 16211, true }, + { 16227, true }, + { 16238, true }, + { 16262, true }, + { 16279, true }, + { 16296, true }, + { 16308, true }, + { 16324, true }, + { 16346, true }, + { 16372, true }, + { 16387, true }, + { 16400, true }, + { 16418, true }, + { 16429, true }, + { 16439, true }, + { 16449, true }, + { 16468, true }, + { 16488, true }, + { 16500, true }, + { 16514, true }, + { 16521, true }, + { 16531, true }, + { 16541, true }, + { 16556, true }, + { 16581, true }, + { 16603, true }, + { 16615, true }, + { 16633, true }, + { 16645, true }, + { 16658, true }, + { 16678, true }, + { 16706, true }, + { 16715, true }, + { 16725, true }, + { 16733, true }, + { 16745, true }, + { 16754, false }, + { 16774, true }, + { 16781, true }, + { 16797, true }, + { 16813, true }, + { 16828, true }, + { 16838, true }, + { 16856, true }, + { 16871, true }, + { 16898, true }, + { 16915, true }, + { 16933, true }, + { 16941, true }, + { 16955, true }, + { 16966, true }, + { 16975, true }, + { 17002, true }, + { 17010, true }, + { 17020, true }, + { 17036, true }, + { 17048, true }, + { 17063, true }, + { 17075, true }, + { 17090, true }, + { 17105, true }, + { 17117, true }, + { 17140, true }, + { 17161, true }, + { 17181, true }, + { 17198, true }, + { 17216, true }, + { 17230, true }, + { 17242, true }, + { 17256, true }, + { 17266, true }, + { 17280, true }, + { 17290, true }, + { 17305, true }, + { 17320, true }, + { 17331, true }, + { 17344, true }, + { 17356, true }, + { 17369, true }, + { 17381, true }, + { 17389, true }, + { 17402, true }, + { 17420, true }, + { 17441, true }, + { 17462, true }, + { 17483, true }, + { 17497, true }, + { 17513, true }, + { 17525, true }, + { 17537, true }, + { 17549, true }, + { 17561, true }, + { 17574, true }, + { 17584, true }, + { 17593, true }, + { 17603, true }, + { 17618, true }, + { 17629, true }, + { 17644, true }, + { 17657, true }, + { 17676, true }, + { 17688, true }, + { 17704, true }, + { 17716, true }, + { 17732, true }, + { 17751, true }, + { 17770, true }, + { 17783, true }, + { 17794, true }, + { 17805, true }, + { 17823, true }, + { 17853, true }, + { 17876, true }, + { 17889, false }, + { 17897, true }, + { 17909, true }, + { 17926, true }, + { 17936, true }, + { 17946, true }, + { 17960, true }, { 17976, true }, - { 18005, true }, - { 18021, true }, - { 18039, true }, - { 18060, true }, - { 18072, true }, - { 18083, true }, - { 18095, true }, - { 18107, true }, - { 18125, true }, - { 18143, true }, - { 18164, true }, - { 18189, true }, - { 18207, true }, - { 18218, true }, - { 18243, true }, - { 18256, true }, - { 18271, true }, - { 18288, true }, - { 18316, true }, - { 18339, true }, - { 18354, true }, - { 18367, true }, - { 18380, true }, - { 18393, true }, - { 18406, true }, - { 18419, true }, - { 18432, true }, - { 18461, true }, - { 18467, true }, - { 18483, true }, - { 18493, true }, - { 18505, true }, - { 18521, true }, - { 18538, true }, - { 18550, true }, - { 18563, true }, - { 18571, true }, - { 18582, true }, - { 18593, true }, - { 18611, true }, - { 18623, true }, + { 17987, true }, + { 18016, true }, + { 18032, true }, + { 18048, true }, + { 18066, true }, + { 18087, true }, + { 18099, true }, + { 18110, true }, + { 18122, true }, + { 18134, true }, + { 18152, true }, + { 18170, true }, + { 18191, true }, + { 18216, true }, + { 18234, true }, + { 18245, true }, + { 18270, true }, + { 18283, true }, + { 18298, true }, + { 18315, true }, + { 18343, true }, + { 18366, true }, + { 18381, true }, + { 18394, true }, + { 18407, true }, + { 18420, true }, + { 18433, true }, + { 18446, true }, + { 18459, true }, + { 18488, true }, + { 18494, true }, + { 18510, true }, + { 18520, true }, + { 18532, true }, + { 18548, true }, + { 18565, true }, + { 18577, true }, + { 18590, true }, + { 18598, true }, + { 18609, true }, + { 18620, true }, { 18638, true }, - { 18647, true }, + { 18650, true }, { 18665, true }, { 18674, true }, - { 18688, true }, - { 18710, true }, - { 18724, true }, - { 18735, true }, - { 18743, true }, - { 18753, true }, - { 18765, true }, - { 18773, true }, - { 18783, true }, - { 18798, true }, - { 18806, true }, - { 18816, true }, - { 18841, true }, - { 18857, true }, - { 18867, true }, - { 18891, true }, - { 18898, true }, - { 18915, true }, - { 18923, true }, - { 18932, true }, - { 18943, true }, - { 18955, true }, - { 18966, true }, - { 18977, true }, - { 18989, true }, - { 19001, false }, - { 19010, true }, - { 19026, true }, - { 19039, true }, - { 19048, true }, - { 19069, true }, - { 19078, true }, - { 19093, true }, - { 19103, true }, - { 19115, true }, - { 19133, false }, - { 19149, true }, - { 19161, true }, - { 19172, true }, - { 19182, true }, - { 19192, true }, - { 19202, true }, - { 19214, true }, - { 19227, true }, - { 19240, true }, - { 19250, true }, - { 19264, true }, - { 19274, true }, - { 19282, true }, - { 19294, true }, - { 19306, true }, - { 19319, true }, - { 19335, true }, - { 19351, true }, - { 19362, false }, - { 19372, true }, + { 18692, true }, + { 18701, true }, + { 18715, true }, + { 18737, true }, + { 18751, true }, + { 18762, true }, + { 18770, true }, + { 18780, true }, + { 18792, true }, + { 18800, true }, + { 18810, true }, + { 18825, true }, + { 18833, true }, + { 18843, true }, + { 18868, true }, + { 18884, true }, + { 18894, true }, + { 18918, true }, + { 18925, true }, + { 18942, true }, + { 18950, true }, + { 18959, true }, + { 18970, true }, + { 18982, true }, + { 18993, true }, + { 19004, true }, + { 19016, true }, + { 19028, false }, + { 19037, true }, + { 19053, true }, + { 19066, true }, + { 19075, true }, + { 19096, true }, + { 19105, true }, + { 19120, true }, + { 19130, true }, + { 19142, true }, + { 19160, false }, + { 19176, true }, + { 19188, true }, + { 19199, true }, + { 19209, true }, + { 19219, true }, + { 19231, true }, + { 19244, true }, + { 19257, true }, + { 19267, true }, + { 19281, true }, + { 19291, true }, + { 19299, true }, + { 19311, true }, + { 19323, true }, + { 19336, true }, + { 19352, true }, + { 19368, true }, + { 19379, false }, { 19389, true }, - { 19397, true }, - { 19409, true }, - { 19423, true }, - { 19453, true }, - { 19468, false }, - { 19477, true }, - { 19491, true }, - { 19505, true }, - { 19516, true }, - { 19528, true }, - { 19541, true }, - { 19565, true }, - { 19578, true }, - { 19590, true }, - { 19613, true }, - { 19624, true }, - { 19656, true }, - { 19676, true }, - { 19694, true }, - { 19712, true }, - { 19727, true }, - { 19742, true }, - { 19757, true }, - { 19781, true }, - { 19791, true }, - { 19801, true }, - { 19811, true }, - { 19822, true }, - { 19847, true }, - { 19876, true }, - { 19889, true }, - { 19899, true }, - { 19907, true }, + { 19406, true }, + { 19414, true }, + { 19426, true }, + { 19440, true }, + { 19470, true }, + { 19485, false }, + { 19494, true }, + { 19508, true }, + { 19522, true }, + { 19533, true }, + { 19545, true }, + { 19558, true }, + { 19582, true }, + { 19595, true }, + { 19607, true }, + { 19630, true }, + { 19641, true }, + { 19673, true }, + { 19693, true }, + { 19711, true }, + { 19729, true }, + { 19744, true }, + { 19759, true }, + { 19774, true }, + { 19798, true }, + { 19808, true }, + { 19818, true }, + { 19828, true }, + { 19839, true }, + { 19864, true }, + { 19893, true }, + { 19906, true }, { 19916, true }, - { 19930, false }, - { 19947, true }, - { 19959, true }, - { 19974, true }, - { 19981, true }, - { 19994, true }, - { 20006, true }, - { 20030, true }, - { 20044, true }, - { 20052, true }, - { 20076, true }, - { 20091, true }, - { 20100, true }, - { 20113, true }, - { 20125, true }, - { 20136, true }, - { 20146, true }, - { 20161, true }, + { 19924, true }, + { 19933, true }, + { 19947, false }, + { 19964, true }, + { 19976, true }, + { 19991, true }, + { 19998, true }, + { 20011, true }, + { 20023, true }, + { 20047, true }, + { 20061, true }, + { 20069, true }, + { 20093, true }, + { 20108, true }, + { 20117, true }, + { 20130, true }, + { 20142, true }, + { 20153, true }, + { 20163, true }, { 20178, true }, - { 20191, true }, - { 20207, true }, - { 20217, true }, - { 20230, true }, - { 20244, true }, - { 20258, true }, - { 20270, true }, - { 20290, true }, - { 20305, true }, - { 20321, true }, - { 20336, true }, - { 20350, true }, - { 20365, true }, - { 20381, true }, - { 20393, true }, - { 20405, true }, - { 20417, true }, - { 20428, true }, - { 20439, true }, - { 20450, true }, - { 20473, true }, - { 20488, true }, - { 20503, false }, - { 20518, false }, - { 20534, true }, - { 20556, true }, - { 20574, true }, - { 20591, true }, - { 20609, true }, - { 20620, true }, - { 20633, true }, - { 20650, true }, - { 20677, true }, - { 20693, true }, - { 20713, true }, - { 20728, true }, - { 20743, true }, - { 20757, true }, - { 20768, true }, - { 20791, true }, - { 20803, true }, - { 20816, true }, - { 20829, true }, - { 20843, true }, - { 20856, true }, - { 20874, true }, - { 20892, true }, - { 20910, true }, - { 20927, true }, - { 20937, true }, - { 20950, true }, - { 20959, true }, - { 20970, false }, - { 20980, true }, - { 20991, true }, - { 21005, true }, - { 21018, true }, - { 21027, true }, - { 21037, true }, - { 21050, true }, - { 21064, true }, - { 21075, true }, - { 21085, true }, - { 21103, true }, - { 21123, true }, - { 21136, true }, - { 21145, true }, - { 21166, true }, - { 21183, true }, - { 21203, true }, - { 21222, true }, - { 21237, true }, - { 21250, true }, - { 21270, true }, - { 21288, true }, - { 21299, true }, - { 21312, true }, - { 21327, true }, - { 21337, true }, - { 21350, true }, - { 21361, true }, - { 21372, true }, - { 21386, true }, - { 21402, true }, - { 21426, true }, - { 21452, true }, - { 21462, true }, - { 21484, true }, - { 21495, true }, - { 21506, true }, - { 21518, true }, - { 21545, true }, - { 21557, true }, - { 21566, true }, - { 21575, true }, - { 21584, true }, - { 21603, true }, - { 21618, true }, - { 21629, true }, - { 21638, true }, - { 21648, true }, - { 21660, true }, - { 21669, true }, - { 21679, true }, - { 21697, true }, - { 21708, true }, - { 21720, true }, - { 21731, true }, - { 21749, true }, - { 21768, true }, - { 21781, true }, - { 21794, true }, - { 21804, true }, + { 20195, true }, + { 20208, true }, + { 20224, true }, + { 20234, true }, + { 20247, true }, + { 20261, true }, + { 20275, true }, + { 20287, true }, + { 20307, true }, + { 20322, true }, + { 20338, true }, + { 20352, true }, + { 20367, true }, + { 20383, true }, + { 20395, true }, + { 20407, true }, + { 20419, true }, + { 20430, true }, + { 20441, true }, + { 20452, true }, + { 20475, true }, + { 20490, true }, + { 20505, false }, + { 20520, false }, + { 20536, true }, + { 20558, true }, + { 20576, true }, + { 20593, true }, + { 20611, true }, + { 20622, true }, + { 20635, true }, + { 20652, true }, + { 20679, true }, + { 20695, true }, + { 20715, true }, + { 20730, true }, + { 20745, true }, + { 20759, true }, + { 20770, true }, + { 20793, true }, + { 20805, true }, + { 20818, true }, + { 20831, true }, + { 20845, true }, + { 20858, true }, + { 20876, true }, + { 20894, true }, + { 20912, true }, + { 20929, true }, + { 20939, true }, + { 20952, true }, + { 20961, true }, + { 20972, false }, + { 20982, true }, + { 20993, true }, + { 21007, true }, + { 21020, true }, + { 21029, true }, + { 21039, true }, + { 21052, true }, + { 21066, true }, + { 21077, true }, + { 21087, true }, + { 21105, true }, + { 21125, true }, + { 21138, true }, + { 21147, true }, + { 21168, true }, + { 21185, true }, + { 21205, true }, + { 21224, true }, + { 21239, true }, + { 21252, true }, + { 21272, true }, + { 21290, true }, + { 21301, true }, + { 21314, true }, + { 21329, true }, + { 21339, true }, + { 21352, true }, + { 21363, true }, + { 21374, true }, + { 21388, true }, + { 21404, true }, + { 21428, true }, + { 21454, true }, + { 21464, true }, + { 21486, true }, + { 21497, true }, + { 21508, true }, + { 21520, true }, + { 21547, true }, + { 21559, true }, + { 21571, true }, + { 21580, true }, + { 21589, true }, + { 21598, true }, + { 21617, true }, + { 21632, true }, + { 21643, true }, + { 21652, true }, + { 21662, true }, + { 21674, true }, + { 21683, true }, + { 21693, true }, + { 21711, true }, + { 21722, true }, + { 21734, true }, + { 21745, true }, + { 21763, true }, + { 21782, true }, + { 21795, true }, + { 21808, true }, { 21818, true }, - { 21828, true }, - { 21838, true }, - { 21851, true }, - { 21861, false }, - { 21872, true }, - { 21890, true }, - { 21900, true }, - { 21907, true }, - { 21919, true }, - { 21940, true }, - { 21956, true }, - { 21969, true }, - { 21982, true }, - { 21999, true }, - { 22011, true }, - { 22024, false }, - { 22038, true }, - { 22051, true }, - { 22062, true }, - { 22073, true }, - { 22085, true }, + { 21832, true }, + { 21842, true }, + { 21852, true }, + { 21865, true }, + { 21875, false }, + { 21886, true }, + { 21904, true }, + { 21914, true }, + { 21921, true }, + { 21933, true }, + { 21954, true }, + { 21970, true }, + { 21983, true }, + { 21996, true }, + { 22013, true }, + { 22025, true }, + { 22038, false }, + { 22052, true }, + { 22065, true }, + { 22076, true }, + { 22087, true }, { 22099, true }, - { 22117, true }, - { 22129, true }, - { 22146, true }, - { 22159, true }, - { 22170, true }, - { 22179, true }, - { 22197, true }, - { 22214, true }, - { 22225, true }, - { 22236, true }, - { 22261, true }, + { 22113, true }, + { 22131, true }, + { 22143, true }, + { 22160, true }, + { 22173, true }, + { 22184, true }, + { 22193, true }, + { 22211, true }, + { 22228, true }, + { 22239, true }, + { 22250, true }, { 22275, true }, - { 22288, true }, + { 22289, true }, { 22302, true }, - { 22315, true }, + { 22316, true }, { 22329, true }, - { 22344, true }, - { 22356, true }, - { 22372, false }, - { 22383, true }, - { 22398, true }, - { 22416, true }, - { 22429, true }, - { 22442, true }, - { 22458, true }, + { 22343, true }, + { 22358, true }, + { 22370, true }, + { 22386, false }, + { 22397, true }, + { 22412, true }, + { 22430, true }, + { 22443, true }, + { 22456, true }, { 22472, true }, - { 22494, true }, - { 22506, true }, - { 22519, true }, - { 22534, true }, - { 22546, true }, - { 22562, true }, - { 22575, true }, - { 22600, true }, - { 22612, true }, - { 22622, true }, - { 22650, true }, - { 22665, true }, - { 22681, true }, - { 22692, true }, - { 22703, true }, - { 22713, true }, - { 22726, true }, - { 22736, false }, - { 22750, true }, - { 22759, true }, - { 22771, true }, - { 22785, false }, - { 22804, true }, - { 22831, true }, - { 22852, true }, - { 22868, true }, - { 22879, true }, - { 22897, true }, - { 22912, true }, - { 22923, false }, - { 22938, true }, - { 22948, true }, - { 22959, true }, + { 22486, true }, + { 22508, true }, + { 22520, true }, + { 22533, true }, + { 22548, true }, + { 22560, true }, + { 22576, true }, + { 22589, true }, + { 22614, true }, + { 22626, true }, + { 22636, true }, + { 22664, true }, + { 22679, true }, + { 22695, true }, + { 22706, true }, + { 22717, true }, + { 22727, true }, + { 22740, true }, + { 22750, false }, + { 22764, true }, + { 22773, true }, + { 22785, true }, + { 22799, false }, + { 22818, true }, + { 22845, true }, + { 22866, true }, + { 22882, true }, + { 22893, true }, + { 22911, true }, + { 22926, true }, + { 22937, false }, + { 22952, true }, + { 22962, true }, { 22973, true }, - { 22995, true }, - { 23008, true }, - { 23023, true }, - { 23038, true }, - { 23057, true }, - { 23078, true }, - { 23088, true }, + { 22987, true }, + { 23009, true }, + { 23022, true }, + { 23037, true }, + { 23052, true }, + { 23071, true }, + { 23092, true }, { 23102, true }, - { 23115, true }, - { 23130, true }, - { 23151, true }, - { 23171, true }, - { 23192, true }, - { 23210, true }, - { 23222, true }, - { 23240, true }, - { 23261, true }, - { 23281, true }, - { 23299, true }, + { 23116, true }, + { 23129, true }, + { 23144, true }, + { 23165, true }, + { 23185, true }, + { 23206, true }, + { 23224, true }, + { 23236, true }, + { 23254, true }, + { 23275, true }, + { 23295, true }, { 23313, true }, - { 23332, false }, - { 23346, true }, - { 23356, true }, - { 23367, true }, - { 23377, true }, - { 23392, true }, - { 23405, true }, - { 23420, true }, + { 23327, true }, + { 23346, false }, + { 23360, true }, + { 23370, true }, + { 23381, true }, + { 23391, true }, + { 23406, true }, + { 23419, true }, { 23434, true }, - { 23447, true }, - { 23460, true }, + { 23448, true }, + { 23461, true }, { 23474, true }, - { 23491, true }, - { 23501, true }, - { 23514, true }, - { 23531, true }, - { 23540, true }, + { 23488, true }, + { 23505, true }, + { 23515, true }, + { 23528, true }, + { 23545, true }, { 23554, true }, - { 23574, true }, - { 23592, true }, - { 23612, true }, + { 23568, true }, + { 23588, true }, + { 23606, true }, { 23626, true }, - { 23642, true }, - { 23651, true }, - { 23661, true }, - { 23669, true }, - { 23678, true }, - { 23687, true }, - { 23704, true }, - { 23717, true }, - { 23727, true }, - { 23737, true }, - { 23747, true }, - { 23765, true }, - { 23784, true }, - { 23808, true }, - { 23828, true }, - { 23843, true }, - { 23858, true }, - { 23891, true }, - { 23909, true }, - { 23937, true }, - { 23953, true }, - { 23971, true }, - { 23994, true }, - { 24016, true }, - { 24042, true }, - { 24060, true }, - { 24082, true }, + { 23640, true }, + { 23656, true }, + { 23665, true }, + { 23675, true }, + { 23683, true }, + { 23692, true }, + { 23701, true }, + { 23718, true }, + { 23731, true }, + { 23741, true }, + { 23751, true }, + { 23761, true }, + { 23779, true }, + { 23798, true }, + { 23822, true }, + { 23842, true }, + { 23857, true }, + { 23872, true }, + { 23905, true }, + { 23923, true }, + { 23951, true }, + { 23967, true }, + { 23985, true }, + { 24008, true }, + { 24030, true }, + { 24056, true }, + { 24074, true }, { 24096, true }, - { 24116, true }, - { 24129, true }, - { 24141, true }, - { 24153, true }, + { 24110, true }, + { 24130, true }, + { 24143, true }, + { 24155, true }, { 24167, true }, { 24181, true }, - { 24199, true }, - { 24214, true }, - { 24226, true }, - { 24245, true }, - { 24267, true }, - { 24284, true }, - { 24299, true }, - { 24317, true }, + { 24195, true }, + { 24213, true }, + { 24228, true }, + { 24240, true }, + { 24259, true }, + { 24281, true }, + { 24298, true }, + { 24313, true }, { 24331, true }, - { 24350, true }, - { 24371, true }, - { 24388, true }, + { 24345, true }, + { 24364, true }, + { 24385, true }, { 24402, true }, { 24416, true }, - { 24437, true }, - { 24450, true }, - { 24466, true }, - { 24479, true }, - { 24498, true }, - { 24515, true }, - { 24533, true }, - { 24551, true }, - { 24560, true }, - { 24576, true }, - { 24583, true }, - { 24599, true }, - { 24618, true }, - { 24636, true }, - { 24652, true }, + { 24430, true }, + { 24451, true }, + { 24464, true }, + { 24480, true }, + { 24493, true }, + { 24512, true }, + { 24529, true }, + { 24547, true }, + { 24565, true }, + { 24574, true }, + { 24590, true }, + { 24597, true }, + { 24613, true }, + { 24632, true }, + { 24650, true }, { 24666, true }, - { 24678, true }, - { 24689, true }, + { 24680, true }, + { 24692, true }, { 24703, true }, - { 24713, true }, - { 24724, true }, - { 24733, false }, - { 24742, true }, + { 24717, true }, + { 24727, true }, + { 24738, true }, + { 24747, false }, { 24756, true }, { 24770, true }, - { 24782, true }, - { 24797, true }, - { 24805, true }, - { 24817, true }, - { 24832, true }, + { 24784, true }, + { 24796, true }, + { 24811, true }, + { 24819, true }, + { 24831, true }, { 24846, true }, - { 24859, true }, - { 24870, true }, - { 24878, true }, - { 24901, true }, - { 24913, true }, - { 24928, true }, - { 24944, true }, - { 24953, true }, - { 24968, true }, - { 24984, true }, - { 24997, true }, - { 25012, true }, - { 25025, true }, - { 25036, true }, - { 25046, true }, - { 25058, true }, - { 25078, true }, - { 25091, true }, - { 25110, true }, - { 25120, true }, - { 25128, true }, - { 25138, true }, - { 25159, true }, - { 25171, true }, - { 25186, true }, - { 25201, true }, - { 25216, true }, - { 25226, true }, - { 25241, true }, - { 25257, true }, - { 25276, true }, - { 25297, true }, - { 25306, true }, + { 24860, true }, + { 24873, true }, + { 24884, true }, + { 24892, true }, + { 24915, true }, + { 24927, true }, + { 24942, true }, + { 24958, true }, + { 24967, true }, + { 24982, true }, + { 24998, true }, + { 25011, true }, + { 25026, true }, + { 25039, true }, + { 25050, true }, + { 25060, true }, + { 25072, true }, + { 25092, true }, + { 25105, true }, + { 25124, true }, + { 25134, true }, + { 25142, true }, + { 25152, true }, + { 25173, true }, + { 25185, true }, + { 25200, true }, + { 25215, true }, + { 25230, true }, + { 25245, true }, + { 25255, true }, + { 25270, true }, + { 25286, true }, + { 25305, true }, + { 25326, true }, { 25335, true }, - { 25348, true }, - { 25368, true }, - { 25383, true }, - { 25394, true }, - { 25407, true }, - { 25422, true }, - { 25441, true }, - { 25456, true }, - { 25471, true }, - { 25481, true }, - { 25491, true }, - { 25506, true }, - { 25528, true }, - { 25543, true }, - { 25556, true }, - { 25583, true }, - { 25597, true }, - { 25609, true }, - { 25624, true }, + { 25364, true }, + { 25377, true }, + { 25397, true }, + { 25412, true }, + { 25423, true }, + { 25436, true }, + { 25451, true }, + { 25470, true }, + { 25485, true }, + { 25500, true }, + { 25510, true }, + { 25520, true }, + { 25535, true }, + { 25557, true }, + { 25572, true }, + { 25585, true }, + { 25612, true }, + { 25626, true }, { 25638, true }, - { 25648, true }, - { 25669, true }, + { 25653, true }, + { 25667, true }, { 25677, true }, - { 25694, true }, - { 25716, true }, - { 25734, false }, - { 25753, true }, - { 25767, true }, - { 25779, true }, - { 25794, true }, - { 25811, true }, - { 25826, true }, - { 25837, true }, - { 25847, true }, - { 25863, true }, - { 25881, true }, - { 25893, true }, - { 25905, true }, - { 25935, false }, - { 25948, true }, - { 25965, true }, - { 25983, true }, - { 25996, true }, - { 26008, true }, - { 26031, true }, - { 26050, true }, - { 26063, true }, - { 26071, true }, - { 26083, false }, - { 26094, true }, - { 26112, true }, - { 26136, true }, - { 26156, true }, - { 26168, true }, - { 26189, true }, - { 26200, true }, - { 26212, true }, + { 25698, true }, + { 25706, true }, + { 25723, true }, + { 25745, true }, + { 25763, false }, + { 25782, true }, + { 25796, true }, + { 25808, true }, + { 25823, true }, + { 25840, true }, + { 25855, true }, + { 25866, true }, + { 25876, true }, + { 25892, true }, + { 25910, true }, + { 25922, true }, + { 25934, true }, + { 25964, false }, + { 25977, true }, + { 25994, true }, + { 26012, true }, + { 26025, true }, + { 26037, true }, + { 26060, true }, + { 26079, true }, + { 26092, true }, + { 26100, true }, + { 26112, false }, + { 26123, true }, + { 26141, true }, + { 26165, true }, + { 26185, true }, + { 26197, true }, + { 26218, true }, { 26229, true }, - { 26247, true }, - { 26260, true }, - { 26270, true }, - { 26284, true }, - { 26301, true }, - { 26312, true }, - { 26321, true }, - { 26333, true }, - { 26344, true }, - { 26354, true }, - { 26368, true }, - { 26381, true }, - { 26395, true }, - { 26413, true }, - { 26432, true }, - { 26450, true }, - { 26463, true }, - { 26474, true }, - { 26488, true }, - { 26500, true }, - { 26511, true }, - { 26522, true }, - { 26535, true }, - { 26547, true }, - { 26558, true }, - { 26577, true }, - { 26593, true }, - { 26607, true }, + { 26241, true }, + { 26258, true }, + { 26276, true }, + { 26289, true }, + { 26299, true }, + { 26313, true }, + { 26330, true }, + { 26341, true }, + { 26350, true }, + { 26362, true }, + { 26373, true }, + { 26383, true }, + { 26397, true }, + { 26410, true }, + { 26424, true }, + { 26442, true }, + { 26461, true }, + { 26479, true }, + { 26492, true }, + { 26503, true }, + { 26517, true }, + { 26529, true }, + { 26540, true }, + { 26551, true }, + { 26564, true }, + { 26576, true }, + { 26587, true }, + { 26606, true }, { 26622, true }, - { 26647, true }, - { 26659, true }, - { 26674, true }, - { 26683, true }, - { 26698, true }, + { 26636, true }, + { 26651, true }, + { 26676, true }, + { 26688, true }, + { 26703, true }, { 26712, true }, - { 26725, true }, - { 26737, true }, - { 26749, true }, - { 26763, true }, - { 26774, true }, - { 26788, true }, - { 26799, true }, - { 26810, true }, - { 26820, true }, - { 26834, true }, - { 26844, true }, - { 26857, true }, - { 26868, true }, - { 26879, true }, - { 26894, true }, - { 26907, true }, - { 26921, true }, - { 26933, true }, - { 26947, true }, - { 26959, true }, - { 26972, true }, - { 26997, true }, - { 27009, true }, + { 26727, true }, + { 26741, true }, + { 26754, true }, + { 26766, true }, + { 26778, true }, + { 26792, true }, + { 26803, true }, + { 26817, true }, + { 26828, true }, + { 26839, true }, + { 26849, true }, + { 26863, true }, + { 26873, true }, + { 26886, true }, + { 26897, true }, + { 26908, true }, + { 26923, true }, + { 26936, true }, + { 26950, true }, + { 26962, true }, + { 26976, true }, + { 26988, true }, + { 27001, true }, { 27026, true }, - { 27037, true }, - { 27048, true }, - { 27067, true }, - { 27083, true }, - { 27093, true }, - { 27107, true }, - { 27118, true }, - { 27130, true }, - { 27145, true }, - { 27164, true }, - { 27181, true }, - { 27189, true }, - { 27207, false }, - { 27215, true }, - { 27230, true }, - { 27243, true }, - { 27255, true }, - { 27267, true }, - { 27281, true }, - { 27294, true }, - { 27307, true }, + { 27038, true }, + { 27055, true }, + { 27066, true }, + { 27077, true }, + { 27096, true }, + { 27112, true }, + { 27122, true }, + { 27136, true }, + { 27147, true }, + { 27159, true }, + { 27174, true }, + { 27193, true }, + { 27210, true }, + { 27218, true }, + { 27236, false }, + { 27244, true }, + { 27259, true }, + { 27272, true }, + { 27284, true }, + { 27296, true }, + { 27310, true }, { 27323, true }, - { 27337, true }, - { 27354, true }, - { 27371, true }, - { 27384, true }, - { 27397, true }, - { 27410, true }, - { 27423, true }, - { 27436, true }, - { 27449, true }, - { 27462, true }, - { 27475, true }, - { 27488, true }, - { 27501, true }, - { 27514, true }, - { 27527, true }, - { 27540, true }, - { 27553, true }, - { 27570, true }, - { 27589, true }, - { 27604, true }, - { 27621, true }, - { 27634, true }, - { 27645, true }, - { 27657, true }, - { 27679, true }, - { 27691, true }, - { 27714, true }, - { 27738, true }, - { 27756, true }, - { 27769, true }, - { 27788, true }, - { 27804, true }, - { 27825, true }, - { 27836, true }, - { 27852, true }, + { 27336, true }, + { 27352, true }, + { 27366, true }, + { 27383, true }, + { 27400, true }, + { 27413, true }, + { 27426, true }, + { 27439, true }, + { 27452, true }, + { 27465, true }, + { 27478, true }, + { 27491, true }, + { 27504, true }, + { 27517, true }, + { 27530, true }, + { 27543, true }, + { 27556, true }, + { 27569, true }, + { 27582, true }, + { 27599, true }, + { 27618, true }, + { 27633, true }, + { 27650, true }, + { 27663, true }, + { 27674, true }, + { 27686, true }, + { 27708, true }, + { 27720, true }, + { 27743, true }, + { 27767, true }, + { 27785, true }, + { 27798, true }, + { 27817, true }, + { 27833, true }, + { 27854, true }, { 27865, true }, - { 27880, true }, - { 27898, true }, - { 27914, true }, - { 27930, true }, - { 27940, true }, - { 27954, true }, + { 27881, true }, + { 27894, true }, + { 27909, true }, + { 27927, true }, + { 27943, true }, + { 27959, true }, { 27969, true }, - { 27988, true }, - { 28000, true }, + { 27983, true }, + { 27998, true }, { 28017, true }, - { 28033, true }, - { 28045, true }, - { 28055, true }, - { 28076, true }, - { 28090, true }, - { 28106, true }, - { 28128, true }, - { 28140, true }, - { 28151, true }, - { 28166, true }, - { 28177, true }, - { 28192, true }, - { 28207, true }, - { 28219, true }, - { 28238, true }, - { 28251, true }, - { 28265, true }, - { 28287, true }, - { 28306, true }, - { 28326, true }, - { 28340, true }, - { 28348, true }, - { 28361, true }, - { 28375, true }, - { 28386, true }, - { 28399, true }, - { 28414, true }, - { 28430, true }, - { 28445, true }, - { 28457, true }, - { 28471, true }, - { 28483, true }, - { 28495, true }, - { 28512, false }, - { 28528, false }, - { 28548, true }, - { 28561, true }, - { 28573, true }, - { 28586, true }, - { 28603, true }, - { 28619, true }, - { 28644, true }, - { 28657, true }, - { 28670, true }, - { 28681, true }, - { 28690, true }, + { 28029, true }, + { 28046, true }, + { 28062, true }, + { 28074, true }, + { 28084, true }, + { 28105, true }, + { 28119, true }, + { 28135, true }, + { 28157, true }, + { 28169, true }, + { 28180, true }, + { 28195, true }, + { 28206, true }, + { 28221, true }, + { 28236, true }, + { 28248, true }, + { 28267, true }, + { 28280, true }, + { 28294, true }, + { 28316, true }, + { 28335, true }, + { 28355, true }, + { 28369, true }, + { 28377, true }, + { 28390, true }, + { 28404, true }, + { 28415, true }, + { 28428, true }, + { 28443, true }, + { 28459, true }, + { 28474, true }, + { 28486, true }, + { 28500, true }, + { 28512, true }, + { 28524, true }, + { 28541, false }, + { 28557, false }, + { 28577, true }, + { 28590, true }, + { 28602, true }, + { 28615, true }, + { 28632, true }, + { 28648, true }, + { 28673, true }, + { 28686, true }, { 28699, true }, - { 28708, true }, - { 28724, true }, - { 28738, true }, - { 28754, true }, - { 28765, true }, - { 28778, true }, - { 28793, true }, + { 28710, true }, + { 28719, true }, + { 28728, true }, + { 28737, true }, + { 28753, true }, + { 28767, true }, + { 28783, true }, + { 28794, true }, { 28807, true }, - { 28819, true }, - { 28831, true }, - { 28855, true }, - { 28868, true }, - { 28882, true }, - { 28895, true }, - { 28916, true }, - { 28936, true }, - { 28950, true }, + { 28822, true }, + { 28836, true }, + { 28848, true }, + { 28860, true }, + { 28884, true }, + { 28897, true }, + { 28911, true }, + { 28924, true }, + { 28945, true }, { 28965, true }, - { 28974, true }, - { 28985, true }, - { 28995, true }, - { 29005, true }, - { 29019, true }, - { 29036, true }, - { 29054, true }, - { 29079, true }, - { 29101, true }, - { 29114, true }, - { 29127, true }, - { 29138, true }, - { 29146, true }, - { 29165, true }, + { 28979, true }, + { 28994, true }, + { 29003, true }, + { 29014, true }, + { 29024, true }, + { 29034, true }, + { 29048, true }, + { 29065, true }, + { 29083, true }, + { 29108, true }, + { 29130, true }, + { 29143, true }, + { 29156, true }, + { 29167, true }, { 29175, true }, - { 29188, true }, - { 29205, true }, - { 29218, true }, - { 29231, true }, - { 29249, true }, - { 29266, true }, - { 29282, true }, - { 29294, true }, - { 29306, true }, - { 29317, true }, - { 29331, true }, - { 29355, true }, - { 29370, true }, - { 29388, true }, - { 29403, true }, - { 29425, true }, - { 29435, true }, - { 29451, true }, - { 29462, true }, - { 29483, true }, - { 29496, true }, - { 29516, true }, - { 29527, true }, - { 29546, true }, - { 29558, true }, - { 29566, false }, - { 29578, true }, - { 29593, true }, - { 29610, true }, + { 29194, true }, + { 29204, true }, + { 29217, true }, + { 29234, true }, + { 29247, true }, + { 29260, true }, + { 29278, true }, + { 29295, true }, + { 29311, true }, + { 29323, true }, + { 29335, true }, + { 29346, true }, + { 29360, true }, + { 29384, true }, + { 29399, true }, + { 29417, true }, + { 29432, true }, + { 29454, true }, + { 29464, true }, + { 29480, true }, + { 29491, true }, + { 29512, true }, + { 29525, true }, + { 29545, true }, + { 29556, true }, + { 29575, true }, + { 29587, true }, + { 29595, false }, + { 29607, true }, { 29622, true }, - { 29641, true }, - { 29655, true }, - { 29683, true }, - { 29698, true }, - { 29713, true }, - { 29728, true }, - { 29743, true }, - { 29753, true }, - { 29765, false }, - { 29774, true }, - { 29788, true }, - { 29800, true }, - { 29808, true }, - { 29823, true }, - { 29835, true }, - { 29847, true }, - { 29867, true }, - { 29883, true }, - { 29895, true }, - { 29913, true }, - { 29925, true }, - { 29939, true }, - { 29959, true }, - { 29971, true }, - { 29985, true }, - { 29993, true }, - { 30010, true }, - { 30019, true }, - { 30045, true }, - { 30055, true }, - { 30067, true }, - { 30089, false }, - { 30103, true }, - { 30119, true }, - { 30136, true }, - { 30148, true }, - { 30166, false }, - { 30188, false }, - { 30213, false }, - { 30237, true }, - { 30249, true }, - { 30259, true }, - { 30272, true }, - { 30282, true }, - { 30292, true }, - { 30302, true }, - { 30312, true }, - { 30322, true }, - { 30332, true }, - { 30342, true }, - { 30356, true }, - { 30374, true }, - { 30389, true }, - { 30403, true }, - { 30421, true }, - { 30433, true }, - { 30445, true }, - { 30456, true }, - { 30470, true }, - { 30485, true }, - { 30499, true }, - { 30506, true }, - { 30520, false }, - { 30540, true }, - { 30561, true }, - { 30580, true }, - { 30595, true }, - { 30607, true }, - { 30632, true }, - { 30649, true }, - { 30660, true }, - { 30675, true }, - { 30686, true }, - { 30700, true }, - { 30712, true }, - { 30725, false }, - { 30738, true }, - { 30755, true }, - { 30771, true }, - { 30784, true }, - { 30796, true }, - { 30811, true }, - { 30821, true }, - { 30846, true }, - { 30860, true }, - { 30876, true }, - { 30890, true }, - { 30907, true }, - { 30926, true }, - { 30936, true }, - { 30956, true }, - { 30968, true }, - { 30984, true }, - { 31012, false }, - { 31024, true }, - { 31037, true }, - { 31051, true }, - { 31068, true }, - { 31085, true }, - { 31094, true }, - { 31104, true }, - { 31121, true }, - { 31130, true }, - { 31137, true }, - { 31147, true }, - { 31162, true }, - { 31173, false }, - { 31189, true }, - { 31206, true }, - { 31220, true }, - { 31230, true }, - { 31240, true }, - { 31260, true }, - { 31271, true }, - { 31286, true }, - { 31305, true }, - { 31323, true }, - { 31338, true }, - { 31351, true }, - { 31366, true }, - { 31382, true }, - { 31408, true }, - { 31425, true }, - { 31442, true }, - { 31455, true }, - { 31463, true }, - { 31486, true }, - { 31500, true }, - { 31512, true }, - { 31522, true }, - { 31547, true }, - { 31564, false }, - { 31585, false }, - { 31607, false }, - { 31626, false }, - { 31644, true }, - { 31660, true }, - { 31684, true }, - { 31712, true }, - { 31723, true }, - { 31738, true }, - { 31762, true }, - { 31781, true }, - { 31804, true }, - { 31822, true }, - { 31846, true }, - { 31860, true }, - { 31871, true }, - { 31893, true }, - { 31911, true }, - { 31926, true }, - { 31941, true }, - { 31954, true }, - { 31967, true }, - { 31982, true }, - { 31997, true }, - { 32012, true }, - { 32039, true }, - { 32051, true }, - { 32066, true }, - { 32085, true }, - { 32103, true }, - { 32111, true }, - { 32119, true }, - { 32128, true }, - { 32140, true }, - { 32152, true }, - { 32166, true }, - { 32184, true }, - { 32202, true }, - { 32217, true }, - { 32232, true }, - { 32241, true }, - { 32257, true }, - { 32274, true }, - { 32283, true }, - { 32294, true }, - { 32307, true }, - { 32319, true }, - { 32329, true }, - { 32342, false }, - { 32356, true }, - { 32372, true }, - { 32384, true }, - { 32394, true }, - { 32410, false }, - { 32417, true }, - { 32427, true }, - { 32441, true }, - { 32456, true }, - { 32464, true }, - { 32477, true }, - { 32485, true }, - { 32495, true }, - { 32513, true }, - { 32531, true }, - { 32542, true }, - { 32555, true }, - { 32568, true }, - { 32585, true }, - { 32599, true }, - { 32608, true }, - { 32623, true }, - { 32652, true }, - { 32669, true }, - { 32687, true }, - { 32697, true }, - { 32711, true }, - { 32723, true }, - { 32734, true }, - { 32761, true }, - { 32781, true }, - { 32798, true }, - { 32812, true }, - { 32834, true }, - { 32859, true }, - { 32872, true }, - { 32885, true }, - { 32902, true }, - { 32920, true }, - { 32935, true }, - { 32950, true }, - { 32961, true }, - { 32971, true }, - { 32992, true }, - { 33002, false }, - { 33021, true }, - { 33033, true }, - { 33062, true }, - { 33080, true }, - { 33098, true }, - { 33116, true }, - { 33137, true }, - { 33151, true }, - { 33165, true }, - { 33173, true }, - { 33183, true }, - { 33196, true }, - { 33208, true }, - { 33220, true }, - { 33236, true }, - { 33250, true }, - { 33272, true }, - { 33291, true }, - { 33304, true }, - { 33317, true }, - { 33336, true }, - { 33351, true }, - { 33369, true }, - { 33380, true }, - { 33393, false }, - { 33403, true }, - { 33425, true }, - { 33439, true }, + { 29639, true }, + { 29651, true }, + { 29670, true }, + { 29684, true }, + { 29712, true }, + { 29727, true }, + { 29742, true }, + { 29757, true }, + { 29772, true }, + { 29784, false }, + { 29793, true }, + { 29807, true }, + { 29819, true }, + { 29827, true }, + { 29842, true }, + { 29854, true }, + { 29866, true }, + { 29886, true }, + { 29902, true }, + { 29914, true }, + { 29932, true }, + { 29944, true }, + { 29958, true }, + { 29978, true }, + { 29990, true }, + { 30004, true }, + { 30012, true }, + { 30029, true }, + { 30038, true }, + { 30064, true }, + { 30074, true }, + { 30086, false }, + { 30100, true }, + { 30116, true }, + { 30133, true }, + { 30145, true }, + { 30163, false }, + { 30185, false }, + { 30210, false }, + { 30234, true }, + { 30246, true }, + { 30256, true }, + { 30269, true }, + { 30279, true }, + { 30289, true }, + { 30299, true }, + { 30309, true }, + { 30319, true }, + { 30329, true }, + { 30339, true }, + { 30353, true }, + { 30371, true }, + { 30386, true }, + { 30400, true }, + { 30418, true }, + { 30430, true }, + { 30442, true }, + { 30453, true }, + { 30467, true }, + { 30482, true }, + { 30496, true }, + { 30503, true }, + { 30517, false }, + { 30537, true }, + { 30558, true }, + { 30577, true }, + { 30592, true }, + { 30604, true }, + { 30629, true }, + { 30646, true }, + { 30657, true }, + { 30672, true }, + { 30683, true }, + { 30697, true }, + { 30709, true }, + { 30722, false }, + { 30735, true }, + { 30752, true }, + { 30768, true }, + { 30781, true }, + { 30793, true }, + { 30808, true }, + { 30818, true }, + { 30843, true }, + { 30857, true }, + { 30873, true }, + { 30887, true }, + { 30904, true }, + { 30923, true }, + { 30933, true }, + { 30953, true }, + { 30965, true }, + { 30981, true }, + { 31009, false }, + { 31021, true }, + { 31034, true }, + { 31048, true }, + { 31065, true }, + { 31082, true }, + { 31091, true }, + { 31101, true }, + { 31118, true }, + { 31127, true }, + { 31134, true }, + { 31144, true }, + { 31159, true }, + { 31170, false }, + { 31186, true }, + { 31203, true }, + { 31217, true }, + { 31227, true }, + { 31237, true }, + { 31257, true }, + { 31268, true }, + { 31283, true }, + { 31302, true }, + { 31320, true }, + { 31335, true }, + { 31348, true }, + { 31363, true }, + { 31379, true }, + { 31405, true }, + { 31422, true }, + { 31439, true }, + { 31452, true }, + { 31460, true }, + { 31483, true }, + { 31497, true }, + { 31509, true }, + { 31519, true }, + { 31544, true }, + { 31561, false }, + { 31582, false }, + { 31604, false }, + { 31623, false }, + { 31641, true }, + { 31657, true }, + { 31681, true }, + { 31709, true }, + { 31720, true }, + { 31735, true }, + { 31759, true }, + { 31778, true }, + { 31801, true }, + { 31819, true }, + { 31843, true }, + { 31857, true }, + { 31868, true }, + { 31890, true }, + { 31908, true }, + { 31923, true }, + { 31938, true }, + { 31951, true }, + { 31964, true }, + { 31979, true }, + { 31994, true }, + { 32009, true }, + { 32036, true }, + { 32048, true }, + { 32063, true }, + { 32082, true }, + { 32100, true }, + { 32108, true }, + { 32116, true }, + { 32125, true }, + { 32137, true }, + { 32149, true }, + { 32163, true }, + { 32181, true }, + { 32199, true }, + { 32214, true }, + { 32229, true }, + { 32238, true }, + { 32254, true }, + { 32271, true }, + { 32280, true }, + { 32291, true }, + { 32304, true }, + { 32316, true }, + { 32326, true }, + { 32339, false }, + { 32353, true }, + { 32369, true }, + { 32381, true }, + { 32391, true }, + { 32407, false }, + { 32414, true }, + { 32424, true }, + { 32438, true }, + { 32453, true }, + { 32461, true }, + { 32474, true }, + { 32482, true }, + { 32492, true }, + { 32510, true }, + { 32528, true }, + { 32539, true }, + { 32552, true }, + { 32565, true }, + { 32582, true }, + { 32596, true }, + { 32605, true }, + { 32620, true }, + { 32649, true }, + { 32666, true }, + { 32684, true }, + { 32694, true }, + { 32708, true }, + { 32720, true }, + { 32731, true }, + { 32758, true }, + { 32778, true }, + { 32795, true }, + { 32809, true }, + { 32831, true }, + { 32856, true }, + { 32869, true }, + { 32882, true }, + { 32899, true }, + { 32917, true }, + { 32932, true }, + { 32947, true }, + { 32958, true }, + { 32968, true }, + { 32989, true }, + { 32999, false }, + { 33018, true }, + { 33030, true }, + { 33059, true }, + { 33077, true }, + { 33095, true }, + { 33113, true }, + { 33134, true }, + { 33148, true }, + { 33162, true }, + { 33170, true }, + { 33180, true }, + { 33193, true }, + { 33205, true }, + { 33217, true }, + { 33233, true }, + { 33247, true }, + { 33269, true }, + { 33288, true }, + { 33301, true }, + { 33320, true }, + { 33335, true }, + { 33353, true }, + { 33364, true }, + { 33377, false }, + { 33387, true }, + { 33409, true }, + { 33423, true }, + { 33446, true }, { 33462, true }, - { 33478, true }, + { 33477, true }, { 33493, true }, - { 33509, true }, - { 33526, true }, - { 33537, false }, - { 33545, true }, - { 33558, true }, + { 33510, true }, + { 33521, false }, + { 33529, true }, + { 33542, true }, + { 33557, true }, { 33573, true }, - { 33589, true }, - { 33609, true }, - { 33623, true }, - { 33631, true }, - { 33646, true }, - { 33659, true }, - { 33671, true }, - { 33682, true }, - { 33695, true }, - { 33715, false }, - { 33737, true }, - { 33761, true }, - { 33781, true }, - { 33804, true }, - { 33822, true }, - { 33837, true }, - { 33864, true }, - { 33890, true }, + { 33593, true }, + { 33607, true }, + { 33615, true }, + { 33630, true }, + { 33643, true }, + { 33655, true }, + { 33666, true }, + { 33679, true }, + { 33699, false }, + { 33721, true }, + { 33745, true }, + { 33765, true }, + { 33788, true }, + { 33806, true }, + { 33821, true }, + { 33848, true }, + { 33874, true }, + { 33901, true }, { 33917, true }, - { 33933, true }, - { 33951, true }, - { 33980, true }, + { 33935, true }, + { 33964, true }, + { 33976, true }, { 33992, true }, - { 34008, true }, - { 34019, true }, - { 34031, true }, - { 34044, true }, - { 34057, true }, - { 34068, true }, - { 34086, true }, - { 34099, true }, - { 34108, true }, - { 34117, true }, - { 34134, true }, - { 34147, true }, + { 34003, true }, + { 34015, true }, + { 34028, true }, + { 34041, true }, + { 34052, true }, + { 34070, true }, + { 34083, true }, + { 34092, true }, + { 34109, true }, + { 34122, true }, + { 34131, true }, + { 34148, true }, { 34156, true }, + { 34164, true }, { 34173, true }, - { 34181, true }, - { 34189, true }, - { 34198, true }, - { 34207, true }, - { 34231, true }, - { 34241, true }, - { 34251, true }, - { 34260, true }, + { 34182, true }, + { 34206, true }, + { 34216, true }, + { 34226, true }, + { 34235, true }, + { 34248, true }, + { 34261, true }, { 34273, true }, - { 34286, true }, - { 34298, true }, - { 34312, true }, - { 34326, true }, - { 34344, true }, - { 34359, true }, - { 34373, true }, - { 34385, true }, - { 34401, true }, - { 34414, true }, - { 34429, true }, - { 34441, true }, - { 34456, true }, - { 34470, true }, - { 34479, true }, - { 34488, true }, - { 34502, true }, - { 34511, true }, - { 34525, true }, - { 34535, true }, - { 34548, true }, - { 34563, true }, - { 34576, true }, - { 34586, true }, - { 34596, true }, - { 34609, true }, - { 34624, true }, - { 34639, true }, - { 34653, true }, - { 34668, true }, - { 34687, true }, - { 34703, true }, - { 34717, true }, - { 34733, true }, + { 34287, true }, + { 34301, true }, + { 34319, true }, + { 34334, true }, + { 34348, true }, + { 34360, true }, + { 34376, true }, + { 34389, true }, + { 34404, true }, + { 34416, true }, + { 34431, true }, + { 34445, true }, + { 34454, true }, + { 34463, true }, + { 34477, true }, + { 34486, true }, + { 34500, true }, + { 34510, true }, + { 34523, true }, + { 34538, true }, + { 34551, true }, + { 34561, true }, + { 34571, true }, + { 34584, true }, + { 34599, true }, + { 34614, true }, + { 34628, true }, + { 34643, true }, + { 34662, true }, + { 34678, true }, + { 34692, true }, + { 34708, true }, + { 34723, true }, + { 34734, true }, { 34748, true }, - { 34759, true }, - { 34773, true }, - { 34783, true }, - { 34794, true }, - { 34810, true }, - { 34822, true }, - { 34838, true }, - { 34852, true }, - { 34857, true }, - { 34868, true }, - { 34876, true }, - { 34884, true }, + { 34758, true }, + { 34769, true }, + { 34785, true }, + { 34797, true }, + { 34813, true }, + { 34827, true }, + { 34832, true }, + { 34843, true }, + { 34851, true }, + { 34859, true }, + { 34866, true }, + { 34872, true }, + { 34882, true }, { 34891, true }, - { 34897, true }, - { 34907, true }, - { 34916, true }, - { 34926, true }, - { 34955, true }, - { 34970, false }, - { 34990, true }, - { 35000, true }, - { 35013, true }, - { 35031, true }, - { 35051, true }, - { 35067, true }, + { 34901, true }, + { 34930, true }, + { 34945, false }, + { 34965, true }, + { 34975, true }, + { 34988, true }, + { 35006, true }, + { 35026, true }, + { 35042, true }, + { 35054, true }, + { 35066, true }, { 35079, true }, - { 35091, true }, - { 35104, true }, - { 35115, true }, - { 35126, true }, + { 35090, true }, + { 35101, true }, + { 35113, true }, + { 35124, true }, { 35138, true }, - { 35149, true }, - { 35163, true }, - { 35181, true }, - { 35197, true }, - { 35217, true }, - { 35227, true }, - { 35247, true }, - { 35255, true }, - { 35266, false }, - { 35276, true }, - { 35288, true }, - { 35297, true }, - { 35311, true }, - { 35325, true }, - { 35344, true }, - { 35352, true }, - { 35376, true }, - { 35395, true }, - { 35409, false }, - { 35425, true }, - { 35442, true }, - { 35453, true }, - { 35465, false }, - { 35480, true }, - { 35492, true }, - { 35511, true }, - { 35519, true }, - { 35531, true }, - { 35545, true }, + { 35156, true }, + { 35172, true }, + { 35192, true }, + { 35202, true }, + { 35222, true }, + { 35230, true }, + { 35241, false }, + { 35251, true }, + { 35263, true }, + { 35272, true }, + { 35286, true }, + { 35300, true }, + { 35319, true }, + { 35327, true }, + { 35351, true }, + { 35370, true }, + { 35384, false }, + { 35400, true }, + { 35417, true }, + { 35428, true }, + { 35440, false }, + { 35455, true }, + { 35467, true }, + { 35486, true }, + { 35494, true }, + { 35506, true }, + { 35520, true }, + { 35532, true }, + { 35543, true }, { 35557, true }, - { 35568, true }, + { 35570, true }, { 35582, true }, { 35595, true }, - { 35607, true }, - { 35620, true }, - { 35640, true }, - { 35650, true }, - { 35669, true }, - { 35687, true }, - { 35699, true }, - { 35710, true }, - { 35722, true }, - { 35739, true }, - { 35762, true }, - { 35785, true }, - { 35796, true }, - { 35808, true }, - { 35823, true }, - { 35834, true }, - { 35850, true }, - { 35866, true }, - { 35884, false }, - { 35907, true }, - { 35927, true }, - { 35942, true }, - { 35956, true }, - { 35971, true }, - { 35994, true }, - { 36013, true }, - { 36028, true }, - { 36046, true }, - { 36063, true }, - { 36089, true }, - { 36108, true }, - { 36124, true }, - { 36138, true }, - { 36159, true }, + { 35615, true }, + { 35625, true }, + { 35644, true }, + { 35662, true }, + { 35674, true }, + { 35685, true }, + { 35697, true }, + { 35714, true }, + { 35737, true }, + { 35760, true }, + { 35771, true }, + { 35783, true }, + { 35798, true }, + { 35809, true }, + { 35825, true }, + { 35841, true }, + { 35859, false }, + { 35882, true }, + { 35902, true }, + { 35917, true }, + { 35931, true }, + { 35946, true }, + { 35969, true }, + { 35988, true }, + { 36003, true }, + { 36021, true }, + { 36038, true }, + { 36064, true }, + { 36083, true }, + { 36099, true }, + { 36113, true }, + { 36134, true }, + { 36150, true }, { 36175, true }, - { 36200, true }, - { 36218, true }, - { 36244, true }, - { 36258, true }, - { 36276, true }, + { 36193, true }, + { 36219, true }, + { 36233, true }, + { 36251, true }, + { 36260, true }, + { 36272, true }, { 36285, true }, - { 36297, true }, + { 36298, true }, { 36310, true }, - { 36323, true }, - { 36335, true }, - { 36355, true }, - { 36370, true }, - { 36393, true }, - { 36405, true }, - { 36417, true }, - { 36432, true }, - { 36445, true }, - { 36459, true }, - { 36469, true }, - { 36482, true }, - { 36490, true }, + { 36330, true }, + { 36345, true }, + { 36368, true }, + { 36380, true }, + { 36392, true }, + { 36407, true }, + { 36420, true }, + { 36434, true }, + { 36444, true }, + { 36457, true }, + { 36465, true }, + { 36472, true }, { 36497, true }, - { 36522, true }, - { 36548, true }, - { 36560, true }, - { 36581, true }, - { 36593, true }, - { 36608, true }, - { 36624, true }, - { 36650, true }, - { 36662, true }, - { 36684, true }, - { 36698, true }, - { 36718, true }, - { 36730, true }, - { 36740, true }, - { 36753, true }, - { 36761, true }, - { 36775, true }, - { 36789, true }, - { 36813, true }, - { 36824, true }, - { 36841, true }, - { 36854, true }, - { 36863, true }, - { 36878, true }, - { 36900, true }, - { 36923, true }, - { 36947, true }, - { 36970, true }, - { 36983, true }, - { 37001, false }, - { 37032, false }, - { 37047, true }, - { 37060, true }, - { 37080, true }, - { 37095, true }, - { 37111, true }, - { 37122, true }, + { 36523, true }, + { 36535, true }, + { 36556, true }, + { 36568, true }, + { 36583, true }, + { 36599, true }, + { 36625, true }, + { 36637, true }, + { 36659, true }, + { 36673, true }, + { 36693, true }, + { 36705, true }, + { 36715, true }, + { 36728, true }, + { 36736, true }, + { 36750, true }, + { 36764, true }, + { 36788, true }, + { 36799, true }, + { 36816, true }, + { 36829, true }, + { 36838, true }, + { 36853, true }, + { 36875, true }, + { 36898, true }, + { 36922, true }, + { 36945, true }, + { 36958, true }, + { 36976, false }, + { 37007, false }, + { 37022, true }, + { 37035, true }, + { 37055, true }, + { 37070, true }, + { 37086, true }, + { 37097, true }, + { 37113, true }, + { 37124, true }, { 37138, true }, - { 37149, true }, - { 37163, true }, - { 37173, false }, - { 37186, true }, - { 37203, true }, - { 37222, true }, - { 37236, true }, - { 37250, true }, - { 37262, true }, - { 37281, true }, - { 37298, true }, - { 37311, true }, - { 37328, true }, - { 37337, true }, - { 37357, true }, - { 37379, true }, - { 37392, true }, - { 37413, true }, - { 37424, true }, - { 37435, true }, - { 37447, true }, - { 37459, true }, - { 37470, true }, + { 37148, false }, + { 37161, true }, + { 37178, true }, + { 37197, true }, + { 37211, true }, + { 37225, true }, + { 37237, true }, + { 37256, true }, + { 37273, true }, + { 37286, true }, + { 37303, true }, + { 37312, true }, + { 37332, true }, + { 37354, true }, + { 37367, true }, + { 37388, true }, + { 37399, true }, + { 37410, true }, + { 37422, true }, + { 37434, true }, + { 37445, true }, + { 37463, true }, + { 37477, true }, { 37488, true }, - { 37502, true }, - { 37513, true }, - { 37529, true }, - { 37546, true }, - { 37555, true }, - { 37570, true }, - { 37584, true }, - { 37605, true }, - { 37622, true }, - { 37639, true }, - { 37655, true }, + { 37504, true }, + { 37521, true }, + { 37530, true }, + { 37545, true }, + { 37559, true }, + { 37580, true }, + { 37597, true }, + { 37614, true }, + { 37630, true }, + { 37643, true }, + { 37656, true }, { 37668, true }, { 37681, true }, - { 37693, true }, - { 37706, true }, - { 37719, true }, - { 37732, true }, - { 37755, true }, - { 37767, true }, - { 37786, true }, - { 37801, true }, - { 37817, true }, - { 37838, true }, - { 37856, true }, - { 37867, true }, - { 37875, false }, - { 37898, true }, - { 37915, true }, - { 37932, true }, - { 37945, true }, - { 37962, true }, - { 37973, true }, - { 37985, false }, - { 37995, true }, - { 38011, false }, - { 38022, true }, - { 38053, true }, - { 38090, true }, - { 38105, true }, - { 38114, true }, - { 38127, true }, - { 38161, true }, - { 38171, true }, - { 38189, true }, - { 38207, true }, - { 38218, true }, - { 38228, true }, - { 38239, true }, - { 38248, true }, - { 38260, true }, - { 38286, true }, + { 37694, true }, + { 37707, true }, + { 37730, true }, + { 37742, true }, + { 37761, true }, + { 37776, true }, + { 37792, true }, + { 37813, true }, + { 37831, true }, + { 37842, true }, + { 37850, false }, + { 37873, true }, + { 37890, true }, + { 37907, true }, + { 37920, true }, + { 37937, true }, + { 37948, true }, + { 37960, false }, + { 37970, true }, + { 37986, false }, + { 37997, true }, + { 38028, true }, + { 38065, true }, + { 38080, true }, + { 38089, true }, + { 38102, true }, + { 38136, true }, + { 38146, true }, + { 38164, true }, + { 38182, true }, + { 38193, true }, + { 38203, true }, + { 38214, true }, + { 38223, true }, + { 38235, true }, + { 38261, true }, + { 38278, true }, + { 38287, true }, { 38303, true }, - { 38312, true }, - { 38328, true }, - { 38336, false }, - { 38344, true }, - { 38355, true }, - { 38365, true }, - { 38379, true }, - { 38392, true }, + { 38311, false }, + { 38319, true }, + { 38330, true }, + { 38340, true }, + { 38354, true }, + { 38367, true }, + { 38384, true }, + { 38394, true }, { 38409, true }, - { 38419, true }, - { 38434, true }, - { 38448, true }, - { 38462, true }, - { 38475, true }, - { 38486, true }, - { 38496, true }, - { 38504, true }, - { 38518, true }, - { 38539, true }, - { 38553, true }, - { 38569, true }, - { 38576, true }, + { 38423, true }, + { 38437, true }, + { 38450, true }, + { 38461, true }, + { 38471, true }, + { 38479, true }, + { 38493, true }, + { 38514, true }, + { 38528, true }, + { 38544, true }, + { 38551, true }, + { 38561, true }, + { 38576, false }, { 38586, true }, - { 38601, false }, - { 38611, true }, - { 38622, true }, - { 38641, false }, - { 38654, true }, - { 38674, true }, - { 38690, true }, - { 38708, true }, - { 38724, true }, - { 38735, true }, - { 38753, true }, - { 38763, true }, - { 38785, true }, - { 38805, false }, - { 38822, true }, - { 38834, true }, - { 38846, true }, - { 38860, true }, - { 38876, true }, - { 38892, true }, - { 38908, true }, - { 38927, true }, - { 38944, true }, - { 38959, true }, - { 38974, true }, - { 38989, true }, - { 39010, true }, - { 39028, true }, + { 38597, true }, + { 38616, false }, + { 38629, true }, + { 38649, true }, + { 38665, true }, + { 38683, true }, + { 38699, true }, + { 38710, true }, + { 38728, true }, + { 38738, true }, + { 38760, true }, + { 38780, false }, + { 38797, true }, + { 38809, true }, + { 38821, true }, + { 38835, true }, + { 38851, true }, + { 38867, true }, + { 38883, true }, + { 38902, true }, + { 38919, true }, + { 38934, true }, + { 38949, true }, + { 38964, true }, + { 38985, true }, + { 39003, true }, + { 39022, true }, + { 39034, true }, { 39047, true }, { 39060, true }, - { 39073, true }, - { 39087, true }, - { 39101, true }, + { 39074, true }, + { 39088, true }, + { 39099, true }, { 39112, true }, - { 39125, true }, - { 39144, true }, - { 39162, true }, - { 39176, true }, - { 39193, true }, - { 39208, true }, - { 39222, true }, + { 39131, true }, + { 39149, true }, + { 39163, true }, + { 39180, true }, + { 39195, true }, + { 39209, true }, + { 39223, true }, { 39236, true }, - { 39249, true }, - { 39259, true }, - { 39276, true }, - { 39292, true }, - { 39308, true }, - { 39323, true }, - { 39333, true }, - { 39348, true }, - { 39360, true }, - { 39371, true }, - { 39383, false }, - { 39391, true }, - { 39412, true }, - { 39420, true }, + { 39246, true }, + { 39263, true }, + { 39279, true }, + { 39295, true }, + { 39310, true }, + { 39320, true }, + { 39335, true }, + { 39347, true }, + { 39358, true }, + { 39370, false }, + { 39378, true }, + { 39399, true }, + { 39407, true }, + { 39418, true }, { 39431, true }, - { 39444, true }, - { 39452, true }, - { 39460, true }, - { 39478, true }, - { 39492, true }, - { 39506, true }, - { 39514, true }, - { 39522, true }, - { 39532, true }, - { 39546, true }, - { 39566, true }, - { 39574, true }, - { 39583, false }, - { 39603, true }, - { 39621, true }, - { 39648, true }, - { 39659, true }, - { 39677, true }, - { 39695, true }, - { 39715, true }, - { 39727, true }, - { 39739, true }, - { 39755, true }, - { 39769, true }, - { 39786, true }, - { 39803, true }, - { 39821, true }, - { 39840, true }, - { 39861, true }, + { 39439, true }, + { 39447, true }, + { 39465, true }, + { 39479, true }, + { 39493, true }, + { 39501, true }, + { 39509, true }, + { 39519, true }, + { 39533, true }, + { 39553, true }, + { 39561, true }, + { 39570, false }, + { 39590, true }, + { 39608, true }, + { 39635, true }, + { 39646, true }, + { 39664, true }, + { 39682, true }, + { 39702, true }, + { 39714, true }, + { 39726, true }, + { 39742, true }, + { 39756, true }, + { 39773, true }, + { 39790, true }, + { 39808, true }, + { 39827, true }, + { 39848, true }, + { 39858, true }, { 39871, true }, - { 39884, true }, + { 39888, true }, { 39901, true }, - { 39914, true }, + { 39915, true }, { 39928, true }, - { 39941, true }, - { 39955, true }, - { 39974, true }, - { 39984, true }, - { 40004, true }, - { 40013, true }, - { 40033, true }, - { 40050, true }, - { 40070, true }, - { 40084, true }, - { 40104, true }, - { 40122, true }, - { 40142, true }, - { 40177, true }, - { 40191, true }, - { 40209, true }, - { 40219, true }, - { 40249, true }, - { 40264, true }, + { 39942, true }, + { 39961, true }, + { 39971, true }, + { 39991, true }, + { 40000, true }, + { 40020, true }, + { 40037, true }, + { 40057, true }, + { 40071, true }, + { 40091, true }, + { 40109, true }, + { 40129, true }, + { 40164, true }, + { 40178, true }, + { 40196, true }, + { 40206, true }, + { 40236, true }, + { 40251, true }, + { 40263, true }, { 40276, true }, - { 40289, true }, + { 40292, true }, { 40305, true }, - { 40318, true }, - { 40347, true }, - { 40361, true }, - { 40376, true }, - { 40396, true }, - { 40410, true }, - { 40424, true }, - { 40441, true }, - { 40458, true }, - { 40469, true }, - { 40485, true }, - { 40500, true }, - { 40510, false }, - { 40521, true }, - { 40529, true }, - { 40537, true }, - { 40558, true }, - { 40579, true }, - { 40600, false }, + { 40334, true }, + { 40348, true }, + { 40363, true }, + { 40383, true }, + { 40397, true }, + { 40411, true }, + { 40428, true }, + { 40445, true }, + { 40456, true }, + { 40472, true }, + { 40487, true }, + { 40497, false }, + { 40508, true }, + { 40516, true }, + { 40524, true }, + { 40545, true }, + { 40566, true }, + { 40587, false }, + { 40603, true }, { 40616, true }, - { 40629, true }, - { 40644, true }, - { 40656, false }, - { 40677, true }, - { 40697, true }, - { 40719, true }, - { 40733, true }, - { 40751, true }, - { 40771, true }, - { 40787, true }, - { 40801, true }, - { 40817, true }, - { 40835, true }, - { 40850, true }, - { 40861, true }, + { 40631, true }, + { 40643, false }, + { 40664, true }, + { 40684, true }, + { 40706, true }, + { 40720, true }, + { 40738, true }, + { 40758, true }, + { 40774, true }, + { 40788, true }, + { 40804, true }, + { 40822, true }, + { 40837, true }, + { 40848, true }, + { 40859, true }, { 40872, true }, { 40885, true }, - { 40898, true }, - { 40912, true }, - { 40927, true }, - { 40944, true }, - { 40959, true }, - { 40978, true }, - { 40994, true }, - { 41006, true }, - { 41016, true }, - { 41027, false }, - { 41049, true }, - { 41057, false }, - { 41073, true }, - { 41088, true }, - { 41098, true }, - { 41115, true }, - { 41129, true }, - { 41144, true }, - { 41162, true }, - { 41174, true }, - { 41185, true }, - { 41211, true }, - { 41235, true }, - { 41251, true }, - { 41260, true }, - { 41276, true }, - { 41291, true }, - { 41312, true }, - { 41321, true }, - { 41336, true }, - { 41349, false }, - { 41359, true }, - { 41378, true }, - { 41392, true }, - { 41412, true }, - { 41427, true }, - { 41436, true }, - { 41454, true }, - { 41476, false }, - { 41498, true }, - { 41507, true }, - { 41526, true }, - { 41538, false }, - { 41554, true }, - { 41578, false }, - { 41592, true }, - { 41608, true }, - { 41627, true }, - { 41639, true }, - { 41654, true }, - { 41672, true }, - { 41687, true }, - { 41699, true }, - { 41717, true }, - { 41739, true }, - { 41757, true }, - { 41767, true }, - { 41778, true }, - { 41795, true }, - { 41810, true }, - { 41827, true }, - { 41842, true }, - { 41859, false }, - { 41875, true }, - { 41889, true }, - { 41903, true }, - { 41922, true }, - { 41939, true }, - { 41956, true }, - { 41975, true }, - { 41990, true }, - { 42017, true }, - { 42037, true }, - { 42059, true }, - { 42080, true }, - { 42103, true }, - { 42123, true }, - { 42141, true }, - { 42159, true }, - { 42178, true }, - { 42200, true }, - { 42219, true }, - { 42239, true }, - { 42256, true }, - { 42283, true }, - { 42303, true }, - { 42326, true }, - { 42349, true }, - { 42363, true }, - { 42380, true }, - { 42396, true }, - { 42410, true }, + { 40899, true }, + { 40914, true }, + { 40931, true }, + { 40946, true }, + { 40965, true }, + { 40981, true }, + { 40993, true }, + { 41003, true }, + { 41014, false }, + { 41036, true }, + { 41044, false }, + { 41060, true }, + { 41075, true }, + { 41085, true }, + { 41102, true }, + { 41116, true }, + { 41131, true }, + { 41149, true }, + { 41161, true }, + { 41172, true }, + { 41198, true }, + { 41222, true }, + { 41238, true }, + { 41247, true }, + { 41263, true }, + { 41278, true }, + { 41299, true }, + { 41308, true }, + { 41323, true }, + { 41336, false }, + { 41346, true }, + { 41365, true }, + { 41379, true }, + { 41399, true }, + { 41414, true }, + { 41423, true }, + { 41441, true }, + { 41463, false }, + { 41485, true }, + { 41494, true }, + { 41513, true }, + { 41525, false }, + { 41541, true }, + { 41565, false }, + { 41579, true }, + { 41595, true }, + { 41614, true }, + { 41626, true }, + { 41641, true }, + { 41659, true }, + { 41674, true }, + { 41686, true }, + { 41704, true }, + { 41726, true }, + { 41744, true }, + { 41754, true }, + { 41765, true }, + { 41782, true }, + { 41797, true }, + { 41814, true }, + { 41829, true }, + { 41846, false }, + { 41862, true }, + { 41876, true }, + { 41890, true }, + { 41909, true }, + { 41926, true }, + { 41943, true }, + { 41962, true }, + { 41977, true }, + { 42004, true }, + { 42024, true }, + { 42046, true }, + { 42067, true }, + { 42090, true }, + { 42110, true }, + { 42128, true }, + { 42146, true }, + { 42165, true }, + { 42187, true }, + { 42206, true }, + { 42226, true }, + { 42243, true }, + { 42270, true }, + { 42290, true }, + { 42313, true }, + { 42336, true }, + { 42350, true }, + { 42367, true }, + { 42383, true }, + { 42397, true }, + { 42411, true }, { 42424, true }, - { 42437, true }, - { 42474, false }, - { 42485, true }, - { 42503, true }, - { 42523, true }, - { 42546, true }, - { 42571, false }, - { 42602, true }, - { 42616, true }, - { 42630, true }, - { 42641, true }, - { 42652, true }, - { 42664, true }, - { 42680, true }, - { 42692, true }, - { 42701, true }, - { 42713, true }, - { 42730, true }, - { 42740, true }, - { 42754, true }, - { 42772, false }, - { 42780, true }, - { 42791, true }, - { 42805, true }, - { 42824, true }, - { 42835, false }, + { 42461, false }, + { 42472, true }, + { 42490, true }, + { 42510, true }, + { 42533, true }, + { 42558, false }, + { 42589, true }, + { 42603, true }, + { 42617, true }, + { 42628, true }, + { 42639, true }, + { 42651, true }, + { 42667, true }, + { 42679, true }, + { 42688, true }, + { 42700, true }, + { 42717, true }, + { 42727, true }, + { 42741, true }, + { 42759, false }, + { 42767, true }, + { 42778, true }, + { 42792, true }, + { 42811, true }, + { 42822, false }, + { 42840, true }, { 42853, true }, { 42866, true }, - { 42879, true }, - { 42896, true }, - { 42910, true }, - { 42926, true }, - { 42937, true }, + { 42883, true }, + { 42897, true }, + { 42913, true }, + { 42924, true }, + { 42938, true }, { 42951, true }, - { 42964, true }, - { 42982, true }, - { 42994, true }, - { 43009, true }, - { 43017, true }, - { 43037, true }, - { 43051, true }, - { 43063, true }, - { 43075, true }, - { 43085, true }, - { 43096, true }, - { 43110, true }, - { 43121, true }, - { 43135, true }, - { 43158, true }, - { 43166, true }, - { 43184, true }, - { 43199, true }, - { 43218, false }, - { 43237, true }, + { 42969, true }, + { 42981, true }, + { 42996, true }, + { 43004, true }, + { 43024, true }, + { 43038, true }, + { 43050, true }, + { 43062, true }, + { 43072, true }, + { 43083, true }, + { 43097, true }, + { 43108, true }, + { 43122, true }, + { 43145, true }, + { 43153, true }, + { 43171, true }, + { 43186, true }, + { 43205, false }, + { 43224, true }, + { 43243, true }, { 43256, true }, - { 43269, true }, - { 43281, true }, - { 43297, true }, - { 43307, true }, - { 43326, true }, + { 43268, true }, + { 43284, true }, + { 43294, true }, + { 43313, true }, + { 43327, true }, { 43340, true }, - { 43353, true }, - { 43368, true }, - { 43376, true }, - { 43390, true }, - { 43405, true }, - { 43417, true }, - { 43425, true }, + { 43355, true }, + { 43363, true }, + { 43377, true }, + { 43392, true }, + { 43404, true }, + { 43412, true }, + { 43418, true }, { 43431, true }, - { 43444, true }, - { 43453, true }, - { 43467, true }, - { 43481, true }, - { 43494, false }, - { 43514, true }, - { 43530, true }, - { 43541, true }, - { 43553, true }, + { 43440, true }, + { 43454, true }, + { 43468, true }, + { 43481, false }, + { 43501, true }, + { 43517, true }, + { 43528, true }, + { 43540, true }, + { 43556, true }, { 43569, true }, - { 43582, true }, - { 43602, true }, - { 43616, true }, - { 43632, true }, - { 43646, true }, - { 43666, true }, - { 43680, true }, - { 43695, true }, - { 43715, true }, + { 43589, true }, + { 43603, true }, + { 43619, true }, + { 43633, true }, + { 43653, true }, + { 43667, true }, + { 43682, true }, + { 43702, true }, + { 43716, true }, { 43729, true }, - { 43742, true }, - { 43751, true }, - { 43761, true }, - { 43777, true }, - { 43799, true }, - { 43831, true }, - { 43839, true }, - { 43857, true }, - { 43873, true }, - { 43894, true }, - { 43914, true }, - { 43927, true }, - { 43942, true }, - { 43962, true }, - { 43976, true }, - { 43995, true }, - { 44014, true }, - { 44028, true }, - { 44043, true }, - { 44056, true }, - { 44069, true }, - { 44084, true }, - { 44096, true }, + { 43738, true }, + { 43754, true }, + { 43776, true }, + { 43808, true }, + { 43816, true }, + { 43834, true }, + { 43850, true }, + { 43871, true }, + { 43891, true }, + { 43904, true }, + { 43919, true }, + { 43939, true }, + { 43953, true }, + { 43972, true }, + { 43991, true }, + { 44005, true }, + { 44020, true }, + { 44033, true }, + { 44046, true }, + { 44061, true }, + { 44073, true }, + { 44088, true }, { 44111, true }, - { 44134, true }, + { 44127, true }, { 44150, true }, - { 44173, true }, - { 44192, true }, - { 44204, false }, - { 44225, true }, - { 44244, true }, - { 44253, true }, - { 44266, true }, + { 44169, true }, + { 44181, false }, + { 44202, true }, + { 44221, true }, + { 44230, true }, + { 44243, true }, + { 44252, true }, + { 44264, true }, { 44280, true }, - { 44289, true }, - { 44301, true }, - { 44317, true }, - { 44334, false }, - { 44344, true }, - { 44355, true }, - { 44367, true }, - { 44383, true }, - { 44396, true }, + { 44297, false }, + { 44307, true }, + { 44318, true }, + { 44330, true }, + { 44346, true }, + { 44359, true }, + { 44378, true }, + { 44397, true }, { 44415, true }, - { 44434, true }, - { 44452, true }, - { 44469, true }, - { 44486, false }, - { 44496, true }, - { 44514, true }, - { 44530, true }, - { 44549, true }, - { 44565, true }, - { 44579, true }, - { 44596, true }, - { 44618, true }, - { 44631, true }, - { 44652, true }, - { 44674, true }, - { 44691, true }, - { 44713, true }, - { 44729, true }, - { 44744, true }, - { 44758, true }, - { 44784, true }, - { 44800, true }, - { 44825, true }, - { 44840, true }, - { 44853, true }, - { 44865, true }, - { 44882, true }, - { 44892, true }, - { 44907, true }, - { 44917, true }, - { 44926, true }, - { 44940, true }, - { 44951, true }, - { 44962, true }, - { 44978, true }, + { 44432, true }, + { 44449, false }, + { 44459, true }, + { 44477, true }, + { 44493, true }, + { 44512, true }, + { 44528, true }, + { 44542, true }, + { 44559, true }, + { 44581, true }, + { 44602, true }, + { 44624, true }, + { 44641, true }, + { 44663, true }, + { 44679, true }, + { 44694, true }, + { 44708, true }, + { 44734, true }, + { 44750, true }, + { 44775, true }, + { 44790, true }, + { 44803, true }, + { 44815, true }, + { 44832, true }, + { 44842, true }, + { 44857, true }, + { 44867, true }, + { 44876, true }, + { 44890, true }, + { 44901, true }, + { 44912, true }, + { 44928, true }, + { 44943, true }, + { 44955, true }, + { 44969, true }, + { 44982, true }, { 44993, true }, - { 45005, true }, + { 45009, true }, { 45019, true }, - { 45032, true }, - { 45043, true }, - { 45059, true }, - { 45069, true }, - { 45078, true }, - { 45090, true }, - { 45103, true }, - { 45116, true }, - { 45127, true }, - { 45136, true }, - { 45144, true }, - { 45160, true }, - { 45168, true }, - { 45178, true }, - { 45189, true }, - { 45200, true }, - { 45214, false }, - { 45234, true }, - { 45254, true }, + { 45028, true }, + { 45040, true }, + { 45053, true }, + { 45066, true }, + { 45077, true }, + { 45086, true }, + { 45094, true }, + { 45110, true }, + { 45118, true }, + { 45128, true }, + { 45139, true }, + { 45150, true }, + { 45164, false }, + { 45184, true }, + { 45204, true }, + { 45228, true }, + { 45249, true }, + { 45257, true }, { 45278, true }, - { 45299, true }, - { 45307, true }, - { 45328, true }, - { 45338, true }, - { 45352, true }, - { 45372, true }, - { 45385, true }, - { 45397, false }, - { 45407, true }, - { 45437, true }, - { 45464, false }, - { 45478, true }, - { 45494, true }, - { 45507, true }, - { 45526, true }, - { 45538, true }, - { 45555, true }, - { 45569, false }, - { 45587, true }, - { 45595, true }, - { 45611, true }, - { 45622, true }, - { 45636, true }, - { 45651, true }, - { 45664, true }, + { 45288, true }, + { 45302, true }, + { 45322, true }, + { 45335, true }, + { 45347, false }, + { 45357, true }, + { 45387, true }, + { 45414, false }, + { 45428, true }, + { 45444, true }, + { 45457, true }, + { 45476, true }, + { 45488, true }, + { 45505, true }, + { 45519, false }, + { 45537, true }, + { 45545, true }, + { 45561, true }, + { 45572, true }, + { 45586, true }, + { 45601, true }, + { 45614, true }, + { 45627, true }, + { 45642, true }, + { 45662, false }, { 45677, true }, - { 45692, true }, - { 45712, false }, - { 45727, true }, - { 45739, true }, - { 45751, true }, - { 45763, true }, - { 45776, true }, - { 45791, true }, - { 45804, true }, - { 45817, true }, - { 45832, false }, - { 45855, false }, - { 45879, true }, + { 45689, true }, + { 45701, true }, + { 45713, true }, + { 45726, true }, + { 45741, true }, + { 45754, true }, + { 45767, true }, + { 45782, false }, + { 45805, false }, + { 45829, true }, + { 45846, true }, + { 45859, true }, + { 45870, true }, + { 45882, true }, { 45896, true }, - { 45909, true }, - { 45920, true }, - { 45932, true }, - { 45946, true }, - { 45964, true }, - { 45974, true }, - { 45985, true }, - { 46004, true }, - { 46021, true }, - { 46043, true }, - { 46057, true }, - { 46070, true }, - { 46089, true }, - { 46099, true }, - { 46113, true }, + { 45914, true }, + { 45924, true }, + { 45935, true }, + { 45954, true }, + { 45971, true }, + { 45993, true }, + { 46007, true }, + { 46020, true }, + { 46039, true }, + { 46049, true }, + { 46063, true }, + { 46096, true }, + { 46117, true }, + { 46132, true }, { 46146, true }, - { 46167, true }, - { 46182, true }, - { 46196, true }, - { 46207, true }, - { 46221, true }, - { 46234, true }, + { 46157, true }, + { 46171, true }, + { 46184, true }, + { 46200, true }, + { 46213, true }, + { 46233, true }, { 46250, true }, - { 46263, true }, - { 46283, true }, - { 46300, true }, - { 46311, true }, - { 46319, true }, - { 46332, true }, - { 46344, false }, - { 46356, true }, - { 46367, true }, - { 46389, true }, - { 46402, true }, - { 46422, true }, - { 46434, true }, - { 46446, true }, - { 46463, true }, - { 46481, true }, - { 46495, true }, - { 46514, true }, - { 46529, true }, - { 46543, true }, - { 46555, true }, - { 46566, true }, - { 46582, true }, - { 46598, true }, - { 46619, true }, - { 46638, false }, - { 46655, true }, - { 46682, true }, - { 46701, true }, - { 46721, true }, + { 46261, true }, + { 46269, true }, + { 46282, true }, + { 46294, false }, + { 46306, true }, + { 46317, true }, + { 46339, true }, + { 46352, true }, + { 46372, true }, + { 46384, true }, + { 46396, true }, + { 46413, true }, + { 46431, true }, + { 46445, true }, + { 46464, true }, + { 46479, true }, + { 46493, true }, + { 46505, true }, + { 46516, true }, + { 46532, true }, + { 46548, true }, + { 46569, true }, + { 46588, false }, + { 46605, true }, + { 46632, true }, + { 46651, true }, + { 46671, true }, + { 46685, true }, + { 46702, true }, + { 46722, true }, { 46735, true }, - { 46752, true }, - { 46772, true }, - { 46785, true }, - { 46799, true }, - { 46820, true }, - { 46841, true }, - { 46854, true }, + { 46749, true }, + { 46770, true }, + { 46791, true }, + { 46804, true }, + { 46811, true }, + { 46823, true }, + { 46845, true }, { 46861, true }, - { 46873, true }, - { 46895, true }, - { 46911, true }, - { 46927, true }, - { 46942, true }, - { 46955, true }, - { 46975, true }, - { 46989, true }, - { 47004, true }, - { 47014, true }, - { 47030, true }, - { 47041, true }, - { 47051, true }, - { 47063, true }, - { 47075, true }, - { 47093, true }, - { 47112, true }, - { 47127, true }, - { 47148, false }, - { 47169, true }, - { 47179, true }, - { 47197, true }, - { 47211, true }, - { 47231, true }, - { 47251, true }, - { 47283, true }, - { 47293, true }, - { 47312, true }, - { 47329, false }, - { 47353, false }, - { 47375, true }, - { 47399, true }, - { 47429, true }, - { 47453, true }, - { 47469, true }, - { 47486, true }, - { 47498, true }, - { 47516, true }, - { 47531, true }, - { 47560, true }, - { 47577, true }, - { 47591, true }, - { 47613, true }, - { 47626, true }, - { 47639, true }, - { 47654, true }, - { 47676, true }, - { 47692, true }, - { 47716, true }, - { 47740, true }, - { 47754, true }, - { 47769, true }, - { 47788, true }, - { 47804, true }, - { 47823, true }, - { 47840, true }, - { 47858, true }, - { 47882, false }, - { 47904, true }, - { 47917, true }, - { 47928, true }, - { 47940, true }, - { 47962, true }, - { 47972, true }, - { 47986, true }, - { 48004, true }, - { 48017, true }, - { 48036, true }, - { 48051, true }, - { 48066, true }, - { 48089, true }, - { 48102, true }, - { 48113, true }, - { 48126, true }, - { 48137, true }, - { 48156, true }, - { 48174, true }, + { 46877, true }, + { 46892, true }, + { 46905, true }, + { 46925, true }, + { 46939, true }, + { 46954, true }, + { 46964, true }, + { 46980, true }, + { 46991, true }, + { 47001, true }, + { 47013, true }, + { 47025, true }, + { 47043, true }, + { 47062, true }, + { 47077, true }, + { 47098, false }, + { 47119, true }, + { 47129, true }, + { 47147, true }, + { 47161, true }, + { 47181, true }, + { 47201, true }, + { 47233, true }, + { 47243, true }, + { 47262, true }, + { 47279, false }, + { 47303, false }, + { 47325, true }, + { 47349, true }, + { 47379, true }, + { 47403, true }, + { 47419, true }, + { 47436, true }, + { 47448, true }, + { 47466, true }, + { 47481, true }, + { 47510, true }, + { 47527, true }, + { 47541, true }, + { 47563, true }, + { 47588, true }, + { 47601, true }, + { 47614, true }, + { 47629, true }, + { 47651, true }, + { 47667, true }, + { 47691, true }, + { 47715, true }, + { 47729, true }, + { 47744, true }, + { 47763, true }, + { 47779, true }, + { 47798, true }, + { 47815, true }, + { 47833, true }, + { 47857, false }, + { 47879, true }, + { 47892, true }, + { 47903, true }, + { 47915, true }, + { 47937, true }, + { 47947, true }, + { 47961, true }, + { 47979, true }, + { 47992, true }, + { 48011, true }, + { 48026, true }, + { 48041, true }, + { 48064, true }, + { 48077, true }, + { 48088, true }, + { 48101, true }, + { 48112, true }, + { 48131, true }, + { 48149, true }, + { 48171, true }, { 48196, true }, - { 48221, true }, - { 48244, true }, - { 48264, true }, - { 48278, true }, - { 48291, true }, - { 48304, true }, - { 48322, true }, - { 48332, true }, - { 48345, true }, - { 48372, true }, - { 48390, true }, - { 48411, true }, - { 48426, true }, + { 48219, true }, + { 48239, true }, + { 48253, true }, + { 48266, true }, + { 48279, true }, + { 48297, true }, + { 48307, true }, + { 48320, true }, + { 48347, true }, + { 48365, true }, + { 48386, true }, + { 48401, true }, + { 48419, true }, { 48444, true }, - { 48469, true }, - { 48484, false }, - { 48507, false }, - { 48516, true }, - { 48537, true }, - { 48554, true }, - { 48565, true }, - { 48578, true }, - { 48591, false }, - { 48630, true }, + { 48459, false }, + { 48482, false }, + { 48491, true }, + { 48512, true }, + { 48529, true }, + { 48540, true }, + { 48553, true }, + { 48566, false }, + { 48605, true }, + { 48616, true }, + { 48629, true }, { 48641, true }, - { 48654, true }, - { 48666, true }, - { 48682, true }, - { 48696, false }, - { 48711, true }, - { 48731, false }, - { 48747, true }, - { 48766, true }, + { 48657, true }, + { 48671, false }, + { 48686, true }, + { 48706, false }, + { 48722, true }, + { 48741, true }, + { 48752, true }, + { 48765, true }, { 48777, true }, - { 48790, true }, - { 48802, true }, - { 48814, true }, - { 48824, true }, - { 48847, true }, - { 48859, true }, - { 48868, true }, - { 48882, true }, - { 48897, true }, - { 48917, true }, - { 48931, true }, - { 48950, true }, - { 48961, true }, - { 48977, true }, - { 48998, true }, - { 49014, true }, - { 49031, true }, - { 49043, true }, - { 49057, true }, - { 49069, true }, + { 48789, true }, + { 48799, true }, + { 48822, true }, + { 48834, true }, + { 48843, true }, + { 48857, true }, + { 48872, true }, + { 48892, true }, + { 48906, true }, + { 48925, true }, + { 48936, true }, + { 48952, true }, + { 48973, true }, + { 48989, true }, + { 49006, true }, + { 49018, true }, + { 49032, true }, + { 49044, true }, + { 49067, true }, { 49092, true }, - { 49117, true }, - { 49137, true }, - { 49154, true }, - { 49164, true }, - { 49173, true }, - { 49190, true }, - { 49202, true }, - { 49221, true }, - { 49234, true }, - { 49252, true }, - { 49264, true }, - { 49283, true }, - { 49305, true }, - { 49317, true }, - { 49341, true }, - { 49371, true }, - { 49385, true }, - { 49409, true }, - { 49432, true }, + { 49112, true }, + { 49129, true }, + { 49139, true }, + { 49148, true }, + { 49165, true }, + { 49177, true }, + { 49196, true }, + { 49209, true }, + { 49227, true }, + { 49239, true }, + { 49258, true }, + { 49280, true }, + { 49292, true }, + { 49316, true }, + { 49346, true }, + { 49360, true }, + { 49384, true }, + { 49407, true }, + { 49421, true }, + { 49434, true }, { 49446, true }, - { 49459, true }, - { 49471, true }, + { 49468, true }, { 49493, true }, - { 49518, true }, - { 49530, true }, - { 49553, true }, - { 49572, true }, - { 49583, true }, - { 49595, true }, - { 49609, true }, - { 49621, true }, - { 49639, true }, - { 49655, true }, - { 49673, true }, - { 49691, true }, - { 49709, true }, - { 49725, true }, - { 49742, true }, - { 49771, true }, - { 49784, true }, - { 49795, true }, - { 49813, true }, - { 49831, true }, - { 49854, true }, - { 49871, false }, - { 49886, true }, + { 49505, true }, + { 49528, true }, + { 49547, true }, + { 49558, true }, + { 49570, true }, + { 49584, true }, + { 49596, true }, + { 49614, true }, + { 49630, true }, + { 49648, true }, + { 49666, true }, + { 49684, true }, + { 49700, true }, + { 49717, true }, + { 49746, true }, + { 49759, true }, + { 49770, true }, + { 49788, true }, + { 49806, true }, + { 49829, true }, + { 49846, false }, + { 49861, true }, + { 49873, true }, + { 49885, true }, { 49898, true }, - { 49910, true }, - { 49923, true }, - { 49932, true }, - { 49947, true }, - { 49955, true }, - { 49968, true }, - { 49987, true }, - { 50001, true }, - { 50013, true }, - { 50020, true }, - { 50032, true }, - { 50046, false }, - { 50063, true }, - { 50074, true }, - { 50087, true }, - { 50100, true }, - { 50117, true }, - { 50136, false }, - { 50149, true }, - { 50167, true }, - { 50193, true }, - { 50207, true }, - { 50224, true }, - { 50243, true }, + { 49907, true }, + { 49922, true }, + { 49930, true }, + { 49943, true }, + { 49962, true }, + { 49976, true }, + { 49988, true }, + { 49995, true }, + { 50007, true }, + { 50021, false }, + { 50038, true }, + { 50049, true }, + { 50062, true }, + { 50075, true }, + { 50092, true }, + { 50111, false }, + { 50124, true }, + { 50142, true }, + { 50168, true }, + { 50182, true }, + { 50199, true }, + { 50218, true }, + { 50233, true }, + { 50247, true }, { 50258, true }, - { 50272, true }, - { 50283, true }, - { 50298, true }, - { 50312, true }, - { 50329, true }, - { 50342, true }, - { 50355, true }, - { 50373, true }, - { 50392, true }, - { 50408, true }, - { 50427, true }, - { 50446, true }, - { 50466, true }, - { 50482, true }, - { 50498, true }, - { 50512, true }, - { 50522, true }, - { 50530, true }, - { 50556, true }, - { 50573, true }, - { 50594, true }, - { 50612, true }, - { 50643, true }, - { 50662, true }, + { 50273, true }, + { 50287, true }, + { 50304, true }, + { 50317, true }, + { 50330, true }, + { 50348, true }, + { 50367, true }, + { 50383, true }, + { 50402, true }, + { 50421, true }, + { 50441, true }, + { 50457, true }, + { 50473, true }, + { 50487, true }, + { 50497, true }, + { 50505, true }, + { 50531, true }, + { 50548, true }, + { 50569, true }, + { 50587, true }, + { 50618, true }, + { 50637, true }, + { 50653, true }, + { 50664, true }, { 50678, true }, - { 50689, true }, - { 50703, true }, - { 50722, true }, - { 50734, true }, - { 50750, true }, - { 50771, false }, - { 50790, true }, - { 50804, true }, - { 50813, true }, - { 50830, true }, - { 50844, true }, - { 50853, true }, - { 50868, true }, + { 50697, true }, + { 50709, true }, + { 50725, true }, + { 50746, false }, + { 50765, true }, + { 50779, true }, + { 50788, true }, + { 50805, true }, + { 50819, true }, + { 50828, true }, + { 50843, true }, + { 50858, true }, + { 50875, true }, { 50883, true }, - { 50900, true }, - { 50908, true }, - { 50919, true }, - { 50937, true }, - { 50958, true }, - { 50979, true }, - { 50990, true }, - { 50999, true }, - { 51018, true }, - { 51031, true }, - { 51046, true }, - { 51068, true }, - { 51082, false }, - { 51096, true }, - { 51112, true }, - { 51124, true }, - { 51141, true }, - { 51153, true }, - { 51168, true }, - { 51180, true }, - { 51203, true }, - { 51215, true }, - { 51238, true }, - { 51257, true }, - { 51265, true }, - { 51281, true }, + { 50894, true }, + { 50912, true }, + { 50933, true }, + { 50954, true }, + { 50965, true }, + { 50974, true }, + { 50993, true }, + { 51006, true }, + { 51021, true }, + { 51043, true }, + { 51057, false }, + { 51071, true }, + { 51087, true }, + { 51099, true }, + { 51116, true }, + { 51128, true }, + { 51143, true }, + { 51155, true }, + { 51178, true }, + { 51190, true }, + { 51213, true }, + { 51232, true }, + { 51240, true }, + { 51256, true }, + { 51271, true }, { 51296, true }, - { 51321, true }, - { 51331, true }, - { 51341, true }, - { 51348, true }, - { 51365, true }, - { 51379, true }, - { 51400, true }, - { 51409, true }, + { 51306, true }, + { 51316, true }, + { 51323, true }, + { 51340, true }, + { 51354, true }, + { 51375, true }, + { 51384, true }, + { 51392, true }, + { 51406, false }, { 51417, true }, - { 51431, false }, - { 51442, true }, - { 51458, false }, - { 51468, false }, - { 51484, true }, - { 51497, true }, - { 51511, true }, - { 51526, true }, - { 51542, true }, - { 51564, true }, - { 51582, true }, - { 51594, true }, - { 51608, true }, - { 51622, true }, + { 51433, false }, + { 51443, false }, + { 51459, true }, + { 51472, true }, + { 51486, true }, + { 51501, true }, + { 51517, true }, + { 51539, true }, + { 51557, true }, + { 51569, true }, + { 51583, true }, + { 51597, true }, + { 51612, true }, { 51637, true }, - { 51652, true }, - { 51677, true }, - { 51697, true }, + { 51657, true }, + { 51673, true }, + { 51686, true }, + { 51700, true }, { 51713, true }, - { 51726, true }, - { 51740, true }, - { 51753, true }, - { 51783, true }, - { 51795, true }, - { 51810, true }, - { 51820, true }, + { 51743, true }, + { 51755, true }, + { 51770, true }, + { 51780, true }, + { 51796, true }, + { 51804, false }, + { 51816, true }, + { 51827, true }, { 51836, true }, - { 51844, false }, - { 51856, true }, - { 51867, true }, - { 51876, true }, - { 51884, true }, - { 51894, true }, - { 51909, true }, - { 51926, true }, - { 51942, true }, - { 51958, true }, - { 51971, true }, - { 51987, true }, - { 52000, true }, - { 52007, true }, - { 52024, true }, - { 52033, true }, - { 52041, true }, - { 52055, true }, - { 52063, false }, - { 52074, true }, + { 51844, true }, + { 51854, true }, + { 51869, true }, + { 51886, true }, + { 51902, true }, + { 51918, true }, + { 51931, true }, + { 51947, true }, + { 51960, true }, + { 51967, true }, + { 51984, true }, + { 51993, true }, + { 52001, true }, + { 52015, true }, + { 52023, false }, + { 52034, true }, + { 52043, true }, + { 52056, true }, + { 52064, true }, + { 52073, true }, { 52083, true }, - { 52096, true }, - { 52104, true }, - { 52113, true }, + { 52092, true }, + { 52100, true }, + { 52115, true }, { 52123, true }, - { 52132, true }, - { 52140, true }, - { 52155, true }, - { 52163, true }, - { 52183, true }, - { 52206, true }, - { 52219, true }, - { 52233, true }, - { 52252, true }, - { 52271, true }, - { 52285, true }, - { 52294, true }, - { 52314, true }, - { 52337, true }, - { 52347, true }, - { 52357, true }, - { 52375, true }, - { 52395, true }, + { 52143, true }, + { 52166, true }, + { 52179, true }, + { 52193, true }, + { 52212, true }, + { 52231, true }, + { 52245, true }, + { 52254, true }, + { 52274, true }, + { 52297, true }, + { 52307, true }, + { 52317, true }, + { 52335, true }, + { 52355, true }, + { 52368, true }, + { 52382, true }, + { 52398, true }, { 52408, true }, - { 52422, true }, - { 52438, true }, - { 52448, true }, - { 52459, true }, + { 52419, true }, + { 52429, true }, + { 52446, true }, + { 52462, true }, { 52469, true }, - { 52486, true }, - { 52502, true }, - { 52509, true }, - { 52528, true }, + { 52488, true }, + { 52501, true }, + { 52512, true }, + { 52519, true }, + { 52530, true }, { 52541, true }, - { 52552, true }, + { 52549, true }, { 52559, true }, - { 52570, true }, - { 52581, true }, - { 52589, true }, - { 52599, true }, - { 52613, true }, - { 52633, true }, - { 52649, true }, + { 52573, true }, + { 52593, true }, + { 52609, true }, + { 52625, true }, + { 52646, true }, { 52665, true }, - { 52686, true }, - { 52705, true }, - { 52727, true }, - { 52739, true }, - { 52750, false }, - { 52772, true }, - { 52791, true }, - { 52807, true }, - { 52825, true }, - { 52840, true }, - { 52857, true }, - { 52876, true }, - { 52888, true }, - { 52903, true }, - { 52923, true }, - { 52940, true }, + { 52687, true }, + { 52699, true }, + { 52710, false }, + { 52732, true }, + { 52751, true }, + { 52767, true }, + { 52785, true }, + { 52800, true }, + { 52817, true }, + { 52836, true }, + { 52848, true }, + { 52863, true }, + { 52883, true }, + { 52900, true }, + { 52910, true }, + { 52919, true }, + { 52931, true }, + { 52941, true }, { 52950, true }, { 52959, true }, - { 52971, true }, - { 52981, true }, - { 52990, true }, - { 52999, true }, - { 53008, true }, - { 53017, true }, - { 53027, true }, - { 53037, true }, - { 53046, true }, - { 53055, true }, - { 53065, true }, - { 53083, true }, - { 53099, true }, - { 53107, true }, - { 53114, true }, - { 53127, true }, - { 53144, true }, + { 52968, true }, + { 52977, true }, + { 52987, true }, + { 52997, true }, + { 53006, true }, + { 53015, true }, + { 53025, true }, + { 53043, true }, + { 53059, true }, + { 53067, true }, + { 53074, true }, + { 53087, true }, + { 53104, true }, + { 53118, true }, + { 53125, true }, + { 53135, true }, + { 53146, true }, { 53158, true }, - { 53165, true }, { 53175, true }, - { 53186, true }, - { 53198, true }, - { 53215, true }, - { 53232, true }, - { 53252, true }, - { 53271, false }, - { 53285, true }, - { 53303, true }, - { 53316, true }, - { 53333, true }, - { 53347, true }, - { 53361, true }, - { 53378, true }, - { 53404, true }, - { 53418, true }, - { 53433, true }, + { 53192, true }, + { 53212, true }, + { 53231, false }, + { 53245, true }, + { 53263, true }, + { 53276, true }, + { 53293, true }, + { 53307, true }, + { 53321, true }, + { 53338, true }, + { 53364, true }, + { 53379, true }, + { 53393, true }, + { 53408, true }, + { 53423, true }, + { 53434, true }, { 53447, true }, - { 53462, true }, - { 53477, true }, - { 53488, true }, - { 53501, true }, - { 53511, true }, - { 53522, true }, - { 53541, true }, - { 53556, true }, - { 53571, true }, - { 53598, true }, - { 53608, true }, - { 53620, true }, - { 53631, true }, - { 53645, true }, + { 53457, true }, + { 53468, true }, + { 53487, true }, + { 53502, true }, + { 53517, true }, + { 53544, true }, + { 53554, true }, + { 53566, true }, + { 53577, true }, + { 53591, true }, + { 53599, true }, + { 53610, true }, + { 53619, true }, + { 53627, true }, + { 53638, true }, { 53653, true }, - { 53664, true }, - { 53673, true }, - { 53681, true }, - { 53692, true }, - { 53707, true }, - { 53734, true }, - { 53744, true }, - { 53755, true }, - { 53766, true }, + { 53680, true }, + { 53690, true }, + { 53701, true }, + { 53712, true }, + { 53722, true }, + { 53736, true }, + { 53750, true }, + { 53761, true }, + { 53768, false }, { 53776, true }, - { 53790, true }, - { 53804, true }, - { 53815, true }, - { 53822, false }, + { 53784, true }, + { 53800, true }, + { 53814, true }, { 53830, true }, - { 53838, true }, - { 53854, true }, - { 53868, true }, - { 53884, true }, - { 53898, true }, - { 53905, true }, - { 53914, true }, - { 53921, true }, - { 53933, true }, - { 53940, true }, - { 53947, true }, - { 53953, true }, - { 53969, true }, - { 53981, true }, - { 53995, true }, + { 53844, true }, + { 53851, true }, + { 53860, true }, + { 53867, true }, + { 53879, true }, + { 53886, true }, + { 53893, true }, + { 53899, true }, + { 53915, true }, + { 53927, true }, + { 53941, true }, + { 53968, true }, + { 54000, true }, { 54022, true }, - { 54054, true }, - { 54076, true }, - { 54087, true }, - { 54098, true }, - { 54109, true }, - { 54120, true }, - { 54136, true }, - { 54153, true }, - { 54166, true }, - { 54192, false }, - { 54215, true }, - { 54231, true }, - { 54241, true }, - { 54254, true }, - { 54273, true }, - { 54286, true }, - { 54297, true }, - { 54312, true }, - { 54330, true }, - { 54342, true }, - { 54356, true }, - { 54368, true }, - { 54382, true }, - { 54400, true }, - { 54413, true }, - { 54432, true }, - { 54442, true }, - { 54453, true }, - { 54466, true }, - { 54483, true }, - { 54501, true }, - { 54517, true }, - { 54548, true }, - { 54557, true }, - { 54575, true }, - { 54589, true }, + { 54033, true }, + { 54044, true }, + { 54055, true }, + { 54066, true }, + { 54082, true }, + { 54099, true }, + { 54112, true }, + { 54138, false }, + { 54161, true }, + { 54177, true }, + { 54187, true }, + { 54200, true }, + { 54219, true }, + { 54232, true }, + { 54243, true }, + { 54258, true }, + { 54276, true }, + { 54288, true }, + { 54302, true }, + { 54314, true }, + { 54328, true }, + { 54346, true }, + { 54359, true }, + { 54378, true }, + { 54388, true }, + { 54399, true }, + { 54412, true }, + { 54429, true }, + { 54447, true }, + { 54463, true }, + { 54494, true }, + { 54503, true }, + { 54521, true }, + { 54535, true }, + { 54554, true }, + { 54572, true }, + { 54587, true }, { 54608, true }, - { 54626, true }, - { 54641, true }, - { 54662, true }, - { 54683, true }, - { 54699, true }, - { 54715, true }, - { 54734, true }, - { 54749, false }, - { 54770, false }, - { 54790, true }, - { 54810, true }, - { 54830, true }, - { 54846, true }, + { 54629, true }, + { 54645, true }, + { 54661, true }, + { 54680, true }, + { 54695, true }, + { 54716, true }, + { 54736, true }, + { 54756, true }, + { 54776, true }, + { 54792, true }, + { 54809, true }, + { 54827, true }, + { 54847, true }, { 54863, true }, - { 54881, true }, - { 54901, true }, - { 54917, true }, - { 54928, false }, - { 54938, true }, - { 54947, true }, - { 54959, true }, - { 54968, true }, - { 54986, true }, - { 55000, true }, - { 55018, false }, - { 55030, true }, - { 55043, true }, - { 55058, true }, - { 55073, true }, - { 55088, true }, - { 55096, true }, - { 55114, true }, - { 55148, true }, - { 55159, true }, - { 55172, false }, - { 55186, true }, - { 55204, true }, - { 55215, true }, - { 55233, true }, - { 55244, true }, - { 55259, true }, - { 55270, true }, - { 55284, true }, - { 55300, true }, - { 55320, true }, - { 55337, true }, - { 55349, true }, - { 55378, true }, - { 55411, true }, - { 55423, true }, - { 55435, true }, - { 55452, true }, - { 55467, true }, - { 55479, true }, - { 55491, true }, - { 55506, false }, - { 55518, true }, - { 55527, true }, - { 55539, true }, - { 55551, true }, - { 55568, true }, - { 55583, false }, - { 55597, true }, - { 55607, true }, - { 55627, true }, - { 55645, true }, - { 55658, false }, - { 55672, true }, - { 55683, true }, - { 55696, true }, - { 55705, true }, - { 55715, false }, - { 55731, true }, - { 55743, true }, - { 55758, true }, - { 55772, true }, - { 55786, true }, - { 55800, true }, - { 55814, true }, - { 55834, true }, - { 55855, true }, - { 55873, true }, - { 55884, true }, - { 55904, true }, - { 55917, true }, - { 55930, true }, + { 54874, false }, + { 54884, true }, + { 54893, true }, + { 54905, true }, + { 54914, true }, + { 54932, true }, + { 54946, true }, + { 54964, false }, + { 54976, true }, + { 54989, true }, + { 55004, true }, + { 55019, true }, + { 55034, true }, + { 55042, true }, + { 55060, true }, + { 55094, true }, + { 55105, true }, + { 55118, false }, + { 55132, true }, + { 55150, true }, + { 55161, true }, + { 55179, true }, + { 55190, true }, + { 55205, true }, + { 55216, true }, + { 55230, true }, + { 55245, true }, + { 55261, true }, + { 55281, true }, + { 55298, true }, + { 55310, true }, + { 55339, true }, + { 55372, true }, + { 55384, true }, + { 55396, true }, + { 55413, true }, + { 55425, true }, + { 55437, true }, + { 55452, false }, + { 55464, true }, + { 55473, true }, + { 55485, true }, + { 55497, true }, + { 55514, true }, + { 55529, false }, + { 55543, true }, + { 55553, true }, + { 55573, true }, + { 55591, true }, + { 55604, false }, + { 55618, true }, + { 55629, true }, + { 55642, true }, + { 55651, true }, + { 55661, false }, + { 55677, true }, + { 55689, true }, + { 55704, true }, + { 55718, true }, + { 55732, true }, + { 55746, true }, + { 55760, true }, + { 55780, true }, + { 55801, true }, + { 55819, true }, + { 55830, true }, + { 55850, true }, + { 55863, true }, + { 55876, true }, + { 55903, true }, + { 55914, true }, + { 55931, true }, { 55957, true }, - { 55968, true }, - { 55985, true }, - { 56011, true }, - { 56031, true }, - { 56045, true }, - { 56062, false }, - { 56076, true }, - { 56090, false }, + { 55977, true }, + { 55991, true }, + { 56008, false }, + { 56022, true }, + { 56036, false }, + { 56053, true }, + { 56078, true }, + { 56094, true }, { 56107, true }, - { 56132, true }, - { 56148, true }, - { 56161, true }, - { 56174, true }, - { 56190, true }, - { 56217, true }, - { 56236, true }, - { 56255, true }, - { 56266, true }, - { 56281, true }, - { 56293, true }, - { 56308, true }, - { 56323, true }, - { 56338, true }, - { 56360, true }, - { 56378, true }, - { 56394, true }, - { 56411, true }, - { 56431, true }, - { 56445, true }, - { 56461, true }, - { 56479, true }, - { 56498, true }, - { 56511, true }, - { 56528, true }, - { 56541, true }, - { 56555, true }, - { 56570, true }, - { 56586, true }, + { 56120, true }, + { 56136, true }, + { 56163, true }, + { 56182, true }, + { 56201, true }, + { 56212, true }, + { 56227, true }, + { 56239, true }, + { 56254, true }, + { 56269, true }, + { 56284, true }, + { 56306, true }, + { 56324, true }, + { 56340, true }, + { 56357, true }, + { 56377, true }, + { 56391, true }, + { 56407, true }, + { 56425, true }, + { 56444, true }, + { 56457, true }, + { 56474, true }, + { 56487, true }, + { 56501, true }, + { 56516, true }, + { 56532, true }, + { 56551, true }, + { 56572, true }, + { 56589, true }, { 56605, true }, - { 56626, true }, - { 56643, true }, - { 56659, true }, - { 56676, true }, - { 56688, true }, - { 56701, true }, - { 56712, true }, - { 56738, true }, - { 56758, false }, - { 56769, true }, + { 56622, true }, + { 56634, true }, + { 56647, true }, + { 56658, true }, + { 56684, true }, + { 56704, false }, + { 56715, true }, + { 56733, true }, + { 56747, true }, + { 56759, true }, + { 56770, true }, + { 56778, true }, { 56787, true }, - { 56801, true }, - { 56813, true }, - { 56824, true }, - { 56832, true }, - { 56841, true }, - { 56858, true }, - { 56869, true }, - { 56881, true }, + { 56804, true }, + { 56815, true }, + { 56827, true }, + { 56835, true }, + { 56845, true }, + { 56856, true }, + { 56877, true }, { 56889, true }, - { 56899, true }, - { 56910, true }, - { 56931, true }, - { 56943, true }, - { 56954, true }, - { 56962, true }, - { 56969, true }, - { 56977, true }, - { 56988, true }, - { 56999, true }, - { 57009, true }, - { 57020, true }, - { 57036, true }, + { 56900, true }, + { 56908, true }, + { 56915, true }, + { 56923, true }, + { 56934, true }, + { 56945, true }, + { 56955, true }, + { 56966, true }, + { 56982, true }, + { 56995, true }, + { 57010, true }, + { 57027, true }, { 57049, true }, - { 57064, true }, - { 57081, true }, - { 57103, true }, - { 57124, true }, - { 57132, true }, - { 57145, true }, - { 57155, true }, - { 57169, true }, - { 57180, false }, - { 57200, true }, - { 57215, true }, - { 57228, true }, - { 57241, true }, - { 57253, true }, - { 57265, true }, - { 57286, true }, - { 57300, true }, - { 57314, true }, - { 57331, true }, - { 57346, true }, - { 57360, true }, - { 57374, true }, - { 57388, true }, - { 57402, true }, - { 57416, true }, - { 57431, true }, - { 57443, true }, - { 57457, true }, + { 57070, true }, + { 57078, true }, + { 57091, true }, + { 57101, true }, + { 57115, true }, + { 57126, false }, + { 57146, true }, + { 57161, true }, + { 57174, true }, + { 57187, true }, + { 57199, true }, + { 57211, true }, + { 57232, true }, + { 57246, true }, + { 57260, true }, + { 57277, true }, + { 57292, true }, + { 57306, true }, + { 57320, true }, + { 57334, true }, + { 57348, true }, + { 57362, true }, + { 57377, true }, + { 57389, true }, + { 57403, true }, + { 57421, true }, + { 57436, true }, + { 57451, true }, + { 57463, true }, { 57475, true }, - { 57490, true }, - { 57505, true }, - { 57517, true }, - { 57529, true }, - { 57541, true }, - { 57551, true }, - { 57564, true }, - { 57577, true }, - { 57598, true }, - { 57613, true }, - { 57630, true }, - { 57643, true }, - { 57655, true }, - { 57668, true }, + { 57487, true }, + { 57497, true }, + { 57510, true }, + { 57523, true }, + { 57544, true }, + { 57559, true }, + { 57576, true }, + { 57589, true }, + { 57601, true }, + { 57614, true }, + { 57629, true }, + { 57646, true }, + { 57663, true }, + { 57671, true }, { 57683, true }, - { 57700, true }, - { 57717, true }, - { 57725, true }, - { 57737, true }, - { 57746, true }, - { 57766, true }, - { 57777, true }, - { 57792, true }, - { 57808, true }, - { 57815, true }, - { 57822, true }, - { 57845, true }, - { 57859, true }, - { 57874, true }, - { 57889, true }, - { 57904, true }, - { 57915, true }, - { 57925, true }, - { 57934, true }, - { 57946, true }, - { 57957, true }, - { 57968, true }, - { 57981, true }, - { 58002, true }, - { 58012, true }, - { 58028, true }, - { 58043, true }, - { 58059, true }, - { 58076, true }, - { 58092, true }, - { 58109, true }, - { 58123, true }, + { 57692, true }, + { 57712, true }, + { 57723, true }, + { 57738, true }, + { 57754, true }, + { 57761, true }, + { 57768, true }, + { 57791, true }, + { 57805, true }, + { 57820, true }, + { 57835, true }, + { 57850, true }, + { 57861, true }, + { 57871, true }, + { 57880, true }, + { 57892, true }, + { 57903, true }, + { 57914, true }, + { 57927, true }, + { 57948, true }, + { 57958, true }, + { 57974, true }, + { 57989, true }, + { 58005, true }, + { 58022, true }, + { 58038, true }, + { 58055, true }, + { 58069, true }, + { 58084, true }, + { 58100, true }, + { 58115, true }, + { 58125, true }, { 58138, true }, - { 58154, true }, - { 58169, true }, - { 58179, true }, - { 58192, true }, + { 58150, true }, + { 58178, true }, + { 58190, true }, { 58204, true }, - { 58232, true }, - { 58244, true }, - { 58258, true }, - { 58272, true }, - { 58283, true }, - { 58299, true }, - { 58310, true }, - { 58323, true }, - { 58334, true }, - { 58356, true }, - { 58376, true }, - { 58397, true }, - { 58412, true }, - { 58426, true }, - { 58441, true }, + { 58218, true }, + { 58229, true }, + { 58245, true }, + { 58256, true }, + { 58269, true }, + { 58280, true }, + { 58302, true }, + { 58322, true }, + { 58343, true }, + { 58358, true }, + { 58372, true }, + { 58387, true }, + { 58401, true }, + { 58413, true }, + { 58424, true }, + { 58443, true }, { 58455, true }, - { 58467, true }, - { 58478, true }, - { 58497, true }, - { 58509, true }, - { 58526, true }, - { 58539, true }, - { 58553, true }, - { 58566, true }, - { 58583, true }, - { 58596, true }, - { 58608, true }, - { 58621, true }, - { 58633, true }, - { 58646, true }, - { 58659, true }, - { 58670, true }, - { 58688, true }, - { 58706, true }, - { 58718, true }, - { 58733, true }, - { 58748, true }, - { 58762, true }, - { 58778, true }, - { 58792, true }, - { 58800, true }, - { 58829, true }, - { 58848, true }, - { 58861, true }, - { 58886, true }, - { 58903, true }, - { 58924, true }, - { 58936, true }, - { 58947, true }, - { 58960, true }, - { 58977, true }, - { 58989, true }, - { 59013, true }, - { 59046, true }, + { 58472, true }, + { 58485, true }, + { 58499, true }, + { 58512, true }, + { 58529, true }, + { 58542, true }, + { 58554, true }, + { 58567, true }, + { 58579, true }, + { 58592, true }, + { 58605, true }, + { 58616, true }, + { 58634, true }, + { 58652, true }, + { 58664, true }, + { 58679, true }, + { 58694, true }, + { 58708, true }, + { 58724, true }, + { 58738, true }, + { 58746, true }, + { 58775, true }, + { 58794, true }, + { 58807, true }, + { 58832, true }, + { 58849, true }, + { 58870, true }, + { 58882, true }, + { 58893, true }, + { 58906, true }, + { 58923, true }, + { 58935, true }, + { 58959, true }, + { 58992, true }, + { 59004, true }, + { 59026, true }, + { 59043, true }, { 59058, true }, - { 59080, true }, - { 59097, true }, - { 59112, true }, - { 59126, true }, - { 59152, true }, + { 59072, true }, + { 59098, true }, + { 59117, true }, + { 59130, true }, + { 59140, true }, + { 59150, true }, { 59171, true }, - { 59184, true }, - { 59194, true }, - { 59204, true }, - { 59225, true }, + { 59180, true }, + { 59198, true }, + { 59216, true }, { 59234, true }, - { 59252, true }, - { 59270, true }, - { 59288, true }, - { 59305, true }, - { 59327, true }, - { 59344, true }, - { 59356, true }, - { 59373, true }, - { 59400, true }, - { 59425, true }, - { 59440, true }, - { 59460, true }, - { 59475, true }, - { 59490, true }, - { 59503, true }, - { 59524, true }, - { 59549, true }, - { 59565, true }, - { 59589, true }, - { 59602, true }, + { 59251, true }, + { 59273, true }, + { 59290, true }, + { 59302, true }, + { 59319, true }, + { 59346, true }, + { 59371, true }, + { 59386, true }, + { 59406, true }, + { 59421, true }, + { 59436, true }, + { 59449, true }, + { 59470, true }, + { 59495, true }, + { 59511, true }, + { 59535, true }, + { 59548, true }, + { 59577, true }, + { 59587, true }, + { 59598, false }, + { 59612, true }, { 59631, true }, - { 59641, true }, - { 59652, false }, - { 59666, true }, - { 59680, true }, - { 59699, true }, - { 59713, true }, - { 59728, false }, - { 59743, true }, - { 59760, true }, - { 59769, true }, - { 59779, true }, - { 59817, true }, - { 59832, true }, - { 59843, true }, - { 59855, true }, + { 59645, true }, + { 59660, false }, + { 59675, true }, + { 59692, true }, + { 59701, true }, + { 59711, true }, + { 59749, true }, + { 59764, true }, + { 59775, true }, + { 59787, true }, + { 59805, true }, + { 59816, true }, + { 59833, true }, + { 59841, true }, + { 59850, true }, + { 59863, true }, { 59873, true }, - { 59884, true }, - { 59901, true }, - { 59909, true }, - { 59918, true }, - { 59931, true }, - { 59941, true }, - { 59955, true }, - { 59964, false }, - { 59989, true }, - { 60007, false }, - { 60031, true }, - { 60045, true }, + { 59887, true }, + { 59896, false }, + { 59921, true }, + { 59939, false }, + { 59963, true }, + { 59977, true }, + { 59996, true }, + { 60023, true }, + { 60035, true }, + { 60047, true }, + { 60055, true }, { 60064, true }, - { 60091, true }, - { 60103, true }, - { 60115, true }, - { 60123, true }, - { 60132, true }, - { 60146, true }, - { 60163, true }, - { 60179, true }, - { 60194, false }, - { 60206, true }, - { 60218, true }, + { 60078, true }, + { 60095, true }, + { 60111, true }, + { 60126, false }, + { 60138, true }, + { 60150, true }, + { 60167, true }, + { 60177, true }, + { 60189, true }, + { 60201, true }, + { 60211, true }, + { 60222, true }, { 60235, true }, - { 60245, true }, - { 60257, true }, - { 60269, true }, - { 60279, true }, - { 60290, true }, - { 60303, true }, - { 60317, true }, - { 60334, true }, - { 60352, false }, - { 60372, true }, - { 60384, true }, + { 60249, true }, + { 60266, true }, + { 60284, false }, + { 60304, true }, + { 60316, true }, + { 60328, true }, + { 60337, true }, + { 60348, true }, + { 60360, true }, + { 60373, true }, + { 60383, true }, { 60396, true }, - { 60405, true }, - { 60417, true }, - { 60430, true }, - { 60440, true }, + { 60418, true }, + { 60432, true }, + { 60441, true }, { 60453, true }, - { 60475, true }, - { 60489, true }, - { 60498, true }, - { 60510, true }, - { 60517, true }, - { 60530, true }, + { 60460, true }, + { 60473, true }, + { 60485, true }, + { 60500, true }, + { 60509, true }, + { 60518, true }, + { 60528, true }, { 60542, true }, - { 60557, true }, - { 60566, true }, - { 60575, true }, - { 60585, true }, - { 60599, true }, - { 60616, true }, - { 60627, true }, - { 60641, true }, - { 60650, true }, - { 60659, true }, - { 60674, true }, - { 60686, true }, - { 60702, true }, - { 60718, true }, - { 60735, true }, - { 60752, true }, - { 60762, true }, - { 60784, true }, - { 60793, true }, - { 60805, true }, - { 60828, true }, - { 60842, true }, - { 60856, true }, - { 60871, true }, - { 60904, true }, - { 60932, true }, - { 60957, true }, - { 60966, true }, - { 60982, true }, - { 60994, true }, - { 61005, true }, - { 61016, true }, - { 61041, true }, - { 61056, true }, - { 61078, true }, - { 61094, true }, - { 61125, true }, + { 60559, true }, + { 60570, true }, + { 60584, true }, + { 60593, true }, + { 60602, true }, + { 60617, true }, + { 60629, true }, + { 60645, true }, + { 60661, true }, + { 60678, true }, + { 60695, true }, + { 60705, true }, + { 60727, true }, + { 60736, true }, + { 60748, true }, + { 60771, true }, + { 60785, true }, + { 60799, true }, + { 60814, true }, + { 60847, true }, + { 60875, true }, + { 60900, true }, + { 60909, true }, + { 60925, true }, + { 60937, true }, + { 60948, true }, + { 60959, true }, + { 60984, true }, + { 60999, true }, + { 61021, true }, + { 61037, true }, + { 61068, true }, + { 61079, true }, + { 61091, true }, + { 61107, true }, + { 61121, true }, { 61136, true }, - { 61148, true }, - { 61164, true }, - { 61178, true }, - { 61193, true }, - { 61202, true }, + { 61145, true }, + { 61163, true }, + { 61177, true }, + { 61192, true }, + { 61210, true }, { 61220, true }, - { 61234, true }, - { 61249, true }, - { 61267, true }, - { 61277, true }, - { 61290, true }, - { 61300, true }, - { 61323, true }, - { 61335, true }, - { 61350, true }, - { 61365, true }, - { 61379, true }, - { 61393, true }, - { 61406, true }, - { 61418, true }, - { 61432, true }, - { 61443, true }, - { 61455, true }, - { 61467, true }, - { 61478, true }, - { 61490, true }, - { 61506, true }, - { 61519, true }, - { 61531, false }, - { 61548, true }, - { 61568, true }, - { 61585, true }, - { 61609, true }, - { 61627, true }, - { 61643, true }, - { 61659, true }, - { 61674, true }, - { 61689, true }, - { 61712, true }, - { 61738, true }, - { 61758, true }, - { 61773, true }, - { 61793, true }, - { 61815, false }, - { 61833, true }, - { 61852, true }, - { 61869, true }, + { 61233, true }, + { 61243, true }, + { 61266, true }, + { 61278, true }, + { 61293, true }, + { 61308, true }, + { 61322, true }, + { 61336, true }, + { 61349, true }, + { 61361, true }, + { 61375, true }, + { 61386, true }, + { 61398, true }, + { 61410, true }, + { 61421, true }, + { 61433, true }, + { 61449, true }, + { 61462, true }, + { 61474, false }, + { 61491, true }, + { 61511, true }, + { 61528, true }, + { 61552, true }, + { 61570, true }, + { 61586, true }, + { 61602, true }, + { 61617, true }, + { 61632, true }, + { 61655, true }, + { 61681, true }, + { 61701, true }, + { 61716, true }, + { 61736, true }, + { 61758, false }, + { 61776, true }, + { 61795, true }, + { 61812, true }, + { 61831, true }, + { 61844, true }, + { 61861, true }, + { 61871, false }, { 61888, true }, - { 61901, true }, - { 61918, true }, - { 61928, false }, - { 61945, true }, - { 61964, true }, - { 61972, true }, - { 61989, true }, - { 62003, true }, - { 62020, true }, - { 62028, true }, - { 62039, true }, - { 62051, true }, - { 62062, true }, - { 62072, true }, - { 62083, true }, - { 62093, true }, - { 62103, true }, - { 62116, true }, - { 62130, true }, - { 62141, true }, - { 62154, true }, - { 62173, false }, - { 62181, true }, - { 62192, true }, - { 62203, true }, - { 62216, true }, - { 62229, true }, - { 62248, true }, - { 62269, true }, - { 62285, true }, - { 62309, true }, - { 62321, true }, + { 61907, true }, + { 61915, true }, + { 61932, true }, + { 61946, true }, + { 61963, true }, + { 61971, true }, + { 61982, true }, + { 61994, true }, + { 62005, true }, + { 62015, true }, + { 62026, true }, + { 62036, true }, + { 62046, true }, + { 62059, true }, + { 62073, true }, + { 62084, true }, + { 62097, true }, + { 62116, false }, + { 62124, true }, + { 62135, true }, + { 62146, true }, + { 62159, true }, + { 62172, true }, + { 62191, true }, + { 62212, true }, + { 62228, true }, + { 62252, true }, + { 62264, true }, + { 62278, true }, + { 62299, true }, + { 62313, true }, + { 62324, true }, { 62335, true }, - { 62356, true }, - { 62370, true }, - { 62381, true }, + { 62349, true }, + { 62361, true }, + { 62376, true }, { 62392, true }, - { 62406, true }, + { 62404, true }, { 62418, true }, { 62433, true }, - { 62449, true }, - { 62461, true }, - { 62475, true }, - { 62490, true }, - { 62508, true }, - { 62523, true }, - { 62537, true }, - { 62559, true }, - { 62576, true }, - { 62591, true }, - { 62607, true }, - { 62621, true }, - { 62642, true }, - { 62658, true }, - { 62677, true }, - { 62696, false }, - { 62716, true }, - { 62746, true }, - { 62772, true }, - { 62789, true }, + { 62451, true }, + { 62466, true }, + { 62480, true }, + { 62502, true }, + { 62519, true }, + { 62534, true }, + { 62550, true }, + { 62564, true }, + { 62585, true }, + { 62601, true }, + { 62620, true }, + { 62639, false }, + { 62659, true }, + { 62689, true }, + { 62715, true }, + { 62732, true }, + { 62754, true }, + { 62774, true }, + { 62788, true }, { 62811, true }, - { 62831, true }, - { 62845, true }, - { 62868, true }, - { 62887, true }, - { 62909, true }, - { 62927, true }, - { 62945, true }, - { 62960, true }, + { 62830, true }, + { 62852, true }, + { 62870, true }, + { 62888, true }, + { 62903, true }, + { 62914, true }, + { 62925, true }, + { 62935, true }, + { 62952, true }, { 62971, true }, - { 62982, true }, - { 62992, true }, - { 63009, true }, + { 62981, true }, + { 62999, true }, + { 63018, true }, { 63028, true }, - { 63038, true }, - { 63056, true }, - { 63075, true }, - { 63085, true }, - { 63103, true }, - { 63112, false }, - { 63123, false }, - { 63143, true }, + { 63046, true }, + { 63055, false }, + { 63066, false }, + { 63086, true }, + { 63094, true }, + { 63109, true }, + { 63123, true }, + { 63136, true }, + { 63144, true }, { 63151, true }, - { 63166, true }, - { 63180, true }, - { 63193, true }, - { 63201, true }, - { 63208, true }, - { 63217, true }, - { 63230, true }, - { 63239, false }, - { 63254, true }, - { 63263, false }, - { 63272, true }, - { 63289, true }, - { 63298, true }, - { 63305, true }, - { 63313, true }, - { 63325, true }, - { 63334, true }, - { 63344, true }, - { 63361, true }, + { 63160, true }, + { 63173, true }, + { 63182, false }, + { 63197, true }, + { 63206, false }, + { 63215, true }, + { 63232, true }, + { 63241, true }, + { 63248, true }, + { 63256, true }, + { 63268, true }, + { 63277, true }, + { 63287, true }, + { 63304, true }, + { 63312, true }, + { 63320, true }, + { 63327, true }, + { 63338, true }, + { 63351, true }, + { 63358, true }, { 63369, true }, - { 63377, true }, - { 63384, true }, - { 63395, true }, - { 63408, true }, - { 63415, true }, + { 63379, true }, + { 63394, true }, + { 63411, true }, { 63426, true }, - { 63436, true }, + { 63439, true }, { 63451, true }, - { 63468, true }, - { 63483, true }, - { 63496, true }, - { 63508, true }, - { 63523, true }, - { 63534, true }, - { 63544, true }, - { 63552, true }, - { 63561, true }, - { 63569, true }, - { 63583, true }, - { 63595, true }, - { 63610, true }, - { 63617, true }, - { 63627, true }, - { 63644, true }, - { 63662, true }, - { 63679, true }, - { 63689, true }, - { 63703, true }, - { 63716, true }, - { 63732, true }, - { 63748, true }, - { 63767, true }, - { 63781, true }, - { 63797, true }, - { 63810, true }, + { 63466, true }, + { 63477, true }, + { 63487, true }, + { 63495, true }, + { 63504, true }, + { 63512, true }, + { 63526, true }, + { 63538, true }, + { 63553, true }, + { 63560, true }, + { 63570, true }, + { 63587, true }, + { 63605, true }, + { 63622, true }, + { 63632, true }, + { 63646, true }, + { 63659, true }, + { 63675, true }, + { 63691, true }, + { 63710, true }, + { 63724, true }, + { 63740, true }, + { 63753, true }, + { 63768, true }, + { 63779, true }, + { 63791, true }, + { 63816, false }, { 63825, true }, - { 63836, true }, - { 63848, true }, - { 63873, false }, - { 63882, true }, - { 63902, true }, + { 63845, true }, + { 63854, true }, + { 63876, true }, + { 63886, true }, + { 63899, true }, { 63911, true }, - { 63933, true }, - { 63943, true }, - { 63956, true }, - { 63968, true }, - { 63977, true }, - { 63992, true }, + { 63920, true }, + { 63935, true }, + { 63949, true }, + { 63961, true }, + { 63983, true }, + { 63994, true }, { 64006, true }, - { 64018, true }, - { 64040, true }, - { 64051, true }, - { 64063, true }, - { 64071, true }, - { 64082, true }, + { 64014, true }, + { 64025, true }, + { 64039, true }, + { 64059, true }, + { 64073, true }, { 64096, true }, - { 64116, true }, - { 64130, true }, - { 64153, true }, - { 64169, true }, - { 64177, true }, - { 64191, true }, - { 64206, true }, - { 64235, true }, - { 64254, false }, - { 64271, true }, - { 64285, true }, - { 64304, true }, - { 64320, true }, - { 64335, true }, - { 64346, true }, - { 64357, true }, - { 64369, true }, - { 64390, true }, - { 64407, true }, - { 64425, true }, - { 64446, true }, - { 64461, true }, - { 64479, true }, - { 64495, true }, - { 64510, true }, - { 64538, true }, - { 64548, true }, - { 64558, true }, - { 64577, false }, - { 64589, true }, - { 64603, true }, - { 64616, true }, - { 64635, true }, - { 64651, true }, - { 64665, true }, - { 64680, true }, - { 64703, true }, - { 64716, true }, - { 64733, true }, - { 64748, true }, + { 64112, true }, + { 64120, true }, + { 64134, true }, + { 64149, true }, + { 64178, true }, + { 64197, false }, + { 64214, true }, + { 64228, true }, + { 64247, true }, + { 64263, true }, + { 64278, true }, + { 64289, true }, + { 64300, true }, + { 64312, true }, + { 64333, true }, + { 64350, true }, + { 64368, true }, + { 64389, true }, + { 64404, true }, + { 64422, true }, + { 64438, true }, + { 64453, true }, + { 64481, true }, + { 64491, true }, + { 64501, true }, + { 64520, false }, + { 64532, true }, + { 64546, true }, + { 64559, true }, + { 64578, true }, + { 64594, true }, + { 64608, true }, + { 64623, true }, + { 64646, true }, + { 64659, true }, + { 64676, true }, + { 64691, true }, + { 64712, true }, + { 64727, true }, + { 64743, true }, + { 64756, true }, { 64769, true }, - { 64784, true }, - { 64800, true }, - { 64813, true }, - { 64826, true }, - { 64838, true }, + { 64781, true }, + { 64806, true }, + { 64820, true }, + { 64831, true }, + { 64850, true }, { 64863, true }, - { 64877, true }, - { 64888, true }, - { 64907, true }, - { 64920, true }, - { 64937, true }, - { 64954, true }, - { 64965, true }, - { 64979, true }, - { 64988, true }, - { 64995, true }, - { 65004, true }, - { 65023, true }, - { 65038, true }, - { 65049, true }, - { 65073, true }, - { 65084, true }, - { 65094, true }, - { 65107, true }, - { 65119, true }, - { 65130, true }, - { 65141, true }, - { 65153, true }, - { 65169, true }, - { 65190, true }, - { 65204, true }, - { 65219, true }, - { 65231, true }, - { 65248, true }, + { 64880, true }, + { 64897, true }, + { 64908, true }, + { 64922, true }, + { 64931, true }, + { 64938, true }, + { 64947, true }, + { 64962, true }, + { 64973, true }, + { 64997, true }, + { 65008, true }, + { 65018, true }, + { 65031, true }, + { 65043, true }, + { 65054, true }, + { 65065, true }, + { 65077, true }, + { 65093, true }, + { 65114, true }, + { 65128, true }, + { 65143, true }, + { 65155, true }, + { 65172, true }, + { 65187, true }, + { 65199, true }, + { 65209, true }, + { 65225, true }, + { 65246, true }, { 65263, true }, - { 65275, true }, - { 65285, true }, - { 65301, true }, - { 65322, true }, - { 65339, true }, - { 65368, true }, - { 65382, true }, - { 65393, true }, - { 65402, false }, - { 65425, false }, - { 65439, true }, - { 65448, true }, - { 65460, true }, - { 65473, true }, - { 65485, true }, - { 65499, true }, - { 65517, true }, - { 65532, true }, - { 65548, true }, - { 65560, true }, - { 65577, true }, - { 65594, true }, - { 65611, true }, - { 65622, true }, - { 65640, true }, - { 65659, true }, - { 65673, true }, - { 65692, true }, - { 65711, true }, - { 65725, true }, - { 65736, true }, - { 65746, true }, + { 65292, true }, + { 65306, true }, + { 65317, true }, + { 65326, false }, + { 65349, false }, + { 65363, true }, + { 65372, true }, + { 65384, true }, + { 65397, true }, + { 65409, true }, + { 65423, true }, + { 65441, true }, + { 65456, true }, + { 65472, true }, + { 65484, true }, + { 65501, true }, + { 65518, true }, + { 65535, true }, + { 65546, true }, + { 65564, true }, + { 65583, true }, + { 65597, true }, + { 65616, true }, + { 65635, true }, + { 65649, true }, + { 65660, true }, + { 65670, true }, + { 65683, true }, + { 65699, true }, + { 65713, true }, + { 65733, true }, + { 65742, true }, { 65759, true }, - { 65775, true }, - { 65789, true }, - { 65809, true }, + { 65779, true }, + { 65799, true }, { 65818, true }, - { 65835, true }, - { 65855, true }, - { 65875, true }, - { 65894, true }, - { 65913, true }, - { 65936, false }, - { 65954, true }, - { 65983, true }, - { 65999, true }, - { 66015, true }, - { 66025, true }, - { 66041, true }, - { 66056, true }, - { 66070, true }, - { 66079, true }, - { 66094, true }, - { 66106, true }, - { 66124, true }, - { 66132, true }, - { 66147, true }, - { 66160, true }, - { 66172, true }, - { 66187, true }, - { 66203, false }, - { 66213, true }, - { 66230, true }, - { 66243, true }, - { 66261, true }, - { 66275, true }, - { 66297, true }, - { 66319, true }, - { 66337, true }, - { 66348, true }, - { 66367, true }, - { 66376, true }, - { 66397, false }, - { 66410, true }, - { 66431, true }, - { 66443, true }, - { 66456, true }, - { 66471, true }, - { 66488, true }, - { 66500, true }, - { 66517, true }, - { 66526, true }, + { 65837, true }, + { 65860, false }, + { 65878, true }, + { 65907, true }, + { 65923, true }, + { 65939, true }, + { 65955, true }, + { 65970, true }, + { 65984, true }, + { 65993, true }, + { 66008, true }, + { 66020, true }, + { 66038, true }, + { 66046, true }, + { 66061, true }, + { 66074, true }, + { 66086, true }, + { 66101, true }, + { 66117, false }, + { 66127, true }, + { 66144, true }, + { 66157, true }, + { 66175, true }, + { 66189, true }, + { 66211, true }, + { 66233, true }, + { 66251, true }, + { 66262, true }, + { 66281, true }, + { 66290, true }, + { 66311, true }, + { 66332, true }, + { 66344, true }, + { 66357, true }, + { 66372, true }, + { 66389, true }, + { 66401, true }, + { 66418, true }, + { 66427, true }, + { 66442, true }, + { 66472, true }, + { 66510, true }, { 66541, true }, - { 66571, true }, - { 66609, true }, - { 66640, true }, - { 66672, true }, - { 66700, true }, - { 66729, true }, - { 66763, true }, - { 66801, true }, - { 66831, true }, - { 66861, true }, - { 66896, true }, - { 66925, true }, + { 66573, true }, + { 66601, true }, + { 66630, true }, + { 66664, true }, + { 66702, true }, + { 66732, true }, + { 66762, true }, + { 66797, true }, + { 66826, true }, + { 66862, true }, + { 66874, true }, + { 66888, true }, + { 66904, true }, + { 66914, true }, + { 66924, true }, + { 66939, true }, { 66961, true }, - { 66973, true }, - { 66987, true }, - { 67003, true }, - { 67013, true }, - { 67023, true }, - { 67038, true }, - { 67060, true }, - { 67069, true }, - { 67083, true }, - { 67093, true }, + { 66970, true }, + { 66984, true }, + { 66994, true }, + { 67014, true }, + { 67031, true }, + { 67042, true }, + { 67058, true }, + { 67076, true }, + { 67084, true }, + { 67098, true }, { 67113, true }, - { 67130, true }, - { 67141, true }, - { 67157, true }, + { 67127, true }, + { 67135, true }, + { 67144, true }, + { 67152, true }, { 67175, true }, - { 67183, true }, - { 67197, true }, - { 67212, true }, - { 67226, true }, - { 67234, true }, - { 67243, true }, - { 67251, true }, - { 67274, true }, - { 67290, true }, - { 67301, true }, - { 67316, true }, - { 67329, true }, - { 67347, true }, - { 67359, true }, - { 67375, false }, - { 67388, true }, - { 67399, true }, - { 67414, true }, - { 67431, true }, - { 67442, true }, - { 67451, true }, - { 67460, true }, - { 67476, true }, - { 67486, false }, + { 67191, true }, + { 67202, true }, + { 67217, true }, + { 67230, true }, + { 67248, true }, + { 67260, true }, + { 67276, false }, + { 67289, true }, + { 67300, true }, + { 67315, true }, + { 67332, true }, + { 67343, true }, + { 67352, true }, + { 67361, true }, + { 67377, true }, + { 67387, false }, + { 67406, true }, + { 67420, true }, + { 67438, true }, + { 67446, true }, + { 67455, true }, + { 67470, true }, + { 67480, true }, + { 67490, true }, { 67505, true }, - { 67519, true }, - { 67537, true }, + { 67515, true }, + { 67536, true }, { 67545, true }, { 67554, true }, - { 67569, true }, - { 67579, true }, - { 67589, true }, + { 67565, true }, + { 67581, true }, + { 67591, true }, { 67604, true }, - { 67614, true }, - { 67635, true }, - { 67644, true }, - { 67653, true }, - { 67664, true }, - { 67680, true }, - { 67690, true }, - { 67703, true }, - { 67721, true }, - { 67741, true }, - { 67761, true }, - { 67774, true }, - { 67785, true }, - { 67803, true }, - { 67813, true }, - { 67822, true }, - { 67831, true }, - { 67839, false }, - { 67846, true }, - { 67856, true }, - { 67868, true }, - { 67878, true }, - { 67893, true }, - { 67900, true }, - { 67913, false }, - { 67928, true }, - { 67948, true }, - { 67968, true }, - { 67987, true }, + { 67622, true }, + { 67642, true }, + { 67662, true }, + { 67675, true }, + { 67686, true }, + { 67704, true }, + { 67714, true }, + { 67723, true }, + { 67732, true }, + { 67740, false }, + { 67747, true }, + { 67757, true }, + { 67769, true }, + { 67779, true }, + { 67794, true }, + { 67801, true }, + { 67814, false }, + { 67829, true }, + { 67849, true }, + { 67869, true }, + { 67888, true }, + { 67905, true }, + { 67916, true }, + { 67926, true }, + { 67941, true }, + { 67951, true }, + { 67961, true }, + { 67977, true }, + { 67994, true }, { 68004, true }, - { 68015, true }, - { 68025, true }, - { 68040, true }, - { 68050, true }, - { 68060, true }, - { 68076, true }, - { 68093, true }, - { 68103, true }, - { 68117, true }, - { 68134, true }, + { 68018, true }, + { 68035, true }, + { 68056, true }, + { 68065, true }, + { 68081, true }, + { 68101, true }, + { 68114, true }, + { 68124, true }, + { 68136, true }, + { 68145, true }, { 68155, true }, - { 68164, true }, + { 68169, true }, { 68180, true }, - { 68200, true }, - { 68213, true }, - { 68223, true }, - { 68235, true }, - { 68244, true }, - { 68254, true }, - { 68268, true }, - { 68279, true }, - { 68287, true }, - { 68294, true }, - { 68313, true }, - { 68327, true }, - { 68352, true }, - { 68370, true }, - { 68388, true }, - { 68402, true }, - { 68411, true }, - { 68424, true }, - { 68441, true }, - { 68454, true }, - { 68471, true }, - { 68488, true }, - { 68506, true }, - { 68521, true }, - { 68550, true }, - { 68568, false }, - { 68581, true }, - { 68597, true }, - { 68613, true }, - { 68626, true }, - { 68639, true }, - { 68650, true }, - { 68663, true }, - { 68673, false }, - { 68691, true }, - { 68704, true }, + { 68188, true }, + { 68195, true }, + { 68214, true }, + { 68228, true }, + { 68253, true }, + { 68271, true }, + { 68289, true }, + { 68303, true }, + { 68312, true }, + { 68325, true }, + { 68342, true }, + { 68355, true }, + { 68372, true }, + { 68389, true }, + { 68407, true }, + { 68422, true }, + { 68451, true }, + { 68469, false }, + { 68482, true }, + { 68498, true }, + { 68514, true }, + { 68527, true }, + { 68540, true }, + { 68551, true }, + { 68564, true }, + { 68574, false }, + { 68592, true }, + { 68605, true }, + { 68622, true }, + { 68635, true }, + { 68651, true }, + { 68670, true }, + { 68685, true }, + { 68692, true }, { 68721, true }, - { 68734, true }, - { 68750, true }, - { 68769, true }, - { 68784, true }, + { 68743, true }, + { 68764, true }, { 68791, true }, - { 68820, true }, - { 68842, true }, - { 68863, true }, - { 68890, true }, - { 68910, true }, - { 68918, true }, - { 68929, true }, - { 68949, true }, - { 68968, true }, - { 68983, true }, - { 69002, true }, - { 69016, true }, + { 68811, true }, + { 68819, true }, + { 68830, true }, + { 68850, true }, + { 68869, true }, + { 68884, true }, + { 68903, true }, + { 68919, true }, + { 68933, true }, + { 68944, true }, + { 68955, true }, + { 68966, true }, + { 68978, true }, + { 68996, true }, + { 69012, false }, { 69027, true }, - { 69038, true }, - { 69049, true }, - { 69061, true }, - { 69079, true }, - { 69095, false }, - { 69110, true }, - { 69131, true }, - { 69143, true }, + { 69048, true }, + { 69060, true }, + { 69072, true }, + { 69089, true }, + { 69104, true }, + { 69123, true }, + { 69137, true }, { 69155, true }, - { 69172, true }, - { 69187, true }, - { 69206, true }, - { 69220, true }, - { 69238, true }, - { 69247, true }, - { 69257, true }, - { 69268, true }, - { 69284, true }, - { 69298, true }, - { 69316, true }, - { 69329, true }, - { 69343, true }, - { 69356, true }, - { 69370, true }, - { 69384, true }, - { 69393, true }, - { 69404, true }, - { 69428, true }, - { 69449, true }, - { 69461, true }, - { 69472, false }, - { 69485, true }, - { 69491, true }, - { 69500, true }, - { 69514, true }, - { 69526, true }, - { 69536, true }, - { 69552, true }, - { 69562, true }, - { 69575, true }, - { 69588, true }, + { 69164, true }, + { 69174, true }, + { 69185, true }, + { 69201, true }, + { 69215, true }, + { 69233, true }, + { 69246, true }, + { 69260, true }, + { 69273, true }, + { 69287, true }, + { 69301, true }, + { 69310, true }, + { 69321, true }, + { 69345, true }, + { 69366, true }, + { 69378, true }, + { 69389, false }, + { 69402, true }, + { 69408, true }, + { 69417, true }, + { 69431, true }, + { 69443, true }, + { 69453, true }, + { 69469, true }, + { 69479, true }, + { 69492, true }, + { 69505, true }, + { 69517, true }, + { 69529, true }, + { 69545, true }, + { 69556, true }, + { 69568, true }, + { 69583, true }, { 69600, true }, - { 69612, true }, - { 69628, true }, - { 69639, true }, - { 69651, true }, - { 69666, true }, + { 69611, true }, + { 69623, true }, + { 69639, false }, + { 69654, true }, + { 69664, true }, { 69683, true }, - { 69694, true }, - { 69706, true }, - { 69722, false }, - { 69737, true }, - { 69747, true }, - { 69766, true }, - { 69782, true }, - { 69794, true }, - { 69805, true }, - { 69822, true }, - { 69841, true }, - { 69863, true }, - { 69886, true }, - { 69903, true }, - { 69919, true }, - { 69932, true }, - { 69941, false }, - { 69950, true }, - { 69961, true }, - { 69978, true }, - { 69994, true }, - { 70008, true }, - { 70026, false }, - { 70034, true }, - { 70043, true }, - { 70056, true }, - { 70073, true }, - { 70083, true }, - { 70095, true }, - { 70143, true }, - { 70187, true }, - { 70225, true }, - { 70264, true }, - { 70299, true }, - { 70339, true }, - { 70383, true }, - { 70419, true }, - { 70460, true }, + { 69699, true }, + { 69711, true }, + { 69722, true }, + { 69739, true }, + { 69758, true }, + { 69780, true }, + { 69803, true }, + { 69820, true }, + { 69836, true }, + { 69849, true }, + { 69858, false }, + { 69867, true }, + { 69878, true }, + { 69895, true }, + { 69911, true }, + { 69925, true }, + { 69943, false }, + { 69951, true }, + { 69960, true }, + { 69973, true }, + { 69990, true }, + { 70000, true }, + { 70012, true }, + { 70060, true }, + { 70104, true }, + { 70142, true }, + { 70181, true }, + { 70216, true }, + { 70256, true }, + { 70300, true }, + { 70336, true }, + { 70377, true }, + { 70414, true }, + { 70458, true }, + { 70485, true }, { 70497, true }, - { 70541, true }, - { 70568, true }, - { 70580, true }, - { 70589, true }, - { 70597, false }, - { 70607, true }, - { 70613, true }, - { 70621, true }, + { 70506, true }, + { 70514, false }, + { 70524, true }, + { 70530, true }, + { 70538, true }, + { 70550, true }, + { 70559, true }, + { 70572, true }, + { 70594, true }, + { 70601, true }, + { 70612, true }, + { 70624, true }, { 70633, true }, - { 70642, true }, - { 70655, true }, - { 70677, true }, - { 70684, true }, - { 70695, true }, - { 70707, true }, - { 70716, true }, - { 70731, true }, - { 70745, true }, - { 70755, true }, - { 70764, true }, - { 70775, true }, - { 70787, true }, - { 70800, true }, - { 70816, true }, - { 70825, true }, - { 70834, true }, - { 70855, true }, - { 70866, true }, - { 70880, true }, - { 70897, true }, - { 70914, true }, - { 70926, true }, - { 70936, true }, - { 70959, true }, - { 70973, true }, - { 70995, true }, - { 71010, true }, - { 71025, true }, - { 71051, true }, - { 71062, true }, - { 71073, true }, - { 71089, true }, - { 71098, true }, - { 71109, true }, - { 71138, true }, - { 71154, true }, - { 71182, true }, - { 71198, true }, - { 71210, false }, - { 71228, false }, - { 71236, false }, - { 71247, true }, - { 71257, true }, - { 71278, true }, - { 71296, true }, - { 71306, true }, - { 71316, true }, - { 71331, true }, - { 71345, true }, - { 71358, true }, - { 71368, true }, - { 71383, true }, - { 71398, true }, - { 71409, true }, - { 71421, true }, - { 71433, true }, + { 70648, true }, + { 70662, true }, + { 70672, true }, + { 70681, true }, + { 70692, true }, + { 70704, true }, + { 70717, true }, + { 70733, true }, + { 70742, true }, + { 70751, true }, + { 70772, true }, + { 70783, true }, + { 70797, true }, + { 70814, true }, + { 70831, true }, + { 70843, true }, + { 70853, true }, + { 70876, true }, + { 70890, true }, + { 70912, true }, + { 70927, true }, + { 70942, true }, + { 70968, true }, + { 70979, true }, + { 70990, true }, + { 71006, true }, + { 71015, true }, + { 71026, true }, + { 71055, true }, + { 71071, true }, + { 71099, true }, + { 71115, true }, + { 71127, false }, + { 71145, false }, + { 71153, false }, + { 71164, true }, + { 71174, true }, + { 71195, true }, + { 71213, true }, + { 71223, true }, + { 71233, true }, + { 71248, true }, + { 71262, true }, + { 71275, true }, + { 71285, true }, + { 71300, true }, + { 71315, true }, + { 71326, true }, + { 71338, true }, + { 71350, true }, + { 71359, true }, + { 71368, false }, + { 71380, true }, + { 71396, true }, + { 71407, true }, + { 71423, true }, { 71442, true }, - { 71451, false }, - { 71463, true }, - { 71479, true }, - { 71490, true }, - { 71506, true }, + { 71458, true }, + { 71473, true }, + { 71494, true }, { 71525, true }, - { 71541, true }, - { 71556, true }, - { 71577, true }, + { 71549, true }, + { 71568, true }, + { 71588, true }, { 71608, true }, - { 71632, true }, - { 71651, true }, - { 71671, true }, - { 71691, true }, - { 71709, true }, - { 71726, true }, - { 71745, true }, - { 71769, true }, - { 71788, true }, - { 71806, true }, - { 71823, true }, - { 71845, true }, - { 71865, true }, - { 71885, true }, - { 71902, true }, - { 71924, true }, - { 71940, true }, - { 71957, true }, - { 71972, true }, - { 71988, true }, - { 72003, true }, + { 71626, true }, + { 71643, true }, + { 71662, true }, + { 71686, true }, + { 71705, true }, + { 71723, true }, + { 71740, true }, + { 71762, true }, + { 71782, true }, + { 71802, true }, + { 71819, true }, + { 71841, true }, + { 71857, true }, + { 71874, true }, + { 71889, true }, + { 71905, true }, + { 71920, true }, + { 71939, true }, + { 71961, true }, + { 71983, true }, + { 72005, true }, { 72022, true }, - { 72044, true }, - { 72066, true }, - { 72088, true }, - { 72105, true }, - { 72120, true }, - { 72139, true }, - { 72152, true }, - { 72165, true }, - { 72180, true }, - { 72195, true }, + { 72037, true }, + { 72056, true }, + { 72069, true }, + { 72082, true }, + { 72097, true }, + { 72112, true }, + { 72123, true }, + { 72133, true }, + { 72146, true }, + { 72162, true }, + { 72174, true }, + { 72187, false }, + { 72197, false }, { 72206, true }, - { 72216, true }, - { 72229, true }, - { 72245, true }, - { 72257, true }, - { 72270, false }, - { 72280, false }, - { 72289, true }, - { 72311, true }, - { 72331, true }, - { 72352, true }, - { 72367, true }, - { 72378, true }, - { 72399, true }, - { 72415, true }, - { 72437, true }, - { 72461, false }, - { 72478, true }, - { 72491, true }, - { 72505, true }, - { 72521, true }, - { 72534, true }, - { 72547, true }, - { 72560, true }, - { 72579, true }, - { 72590, true }, - { 72599, true }, - { 72608, true }, - { 72618, true }, - { 72628, true }, - { 72638, true }, + { 72228, true }, + { 72248, true }, + { 72269, true }, + { 72284, true }, + { 72295, true }, + { 72316, true }, + { 72332, true }, + { 72354, true }, + { 72378, false }, + { 72395, true }, + { 72408, true }, + { 72422, true }, + { 72438, true }, + { 72451, true }, + { 72464, true }, + { 72477, true }, + { 72496, true }, + { 72507, true }, + { 72516, true }, + { 72525, true }, + { 72535, true }, + { 72548, true }, + { 72558, true }, + { 72568, true }, + { 72577, true }, + { 72593, true }, + { 72609, true }, + { 72636, true }, { 72647, true }, - { 72663, true }, - { 72679, true }, - { 72706, true }, - { 72717, true }, - { 72734, true }, - { 72747, true }, - { 72761, true }, - { 72778, true }, - { 72793, true }, - { 72816, true }, - { 72826, true }, - { 72836, true }, - { 72851, true }, - { 72861, true }, - { 72880, true }, - { 72900, true }, - { 72914, true }, - { 72939, true }, - { 72963, true }, + { 72664, true }, + { 72677, true }, + { 72691, true }, + { 72708, true }, + { 72723, true }, + { 72746, true }, + { 72756, true }, + { 72766, true }, + { 72781, true }, + { 72791, true }, + { 72810, true }, + { 72830, true }, + { 72844, true }, + { 72869, true }, + { 72893, true }, + { 72902, true }, + { 72919, true }, + { 72940, true }, + { 72960, true }, { 72972, true }, - { 72989, true }, - { 73010, true }, - { 73030, true }, - { 73042, true }, - { 73055, true }, - { 73069, true }, - { 73086, true }, - { 73103, false }, - { 73116, true }, - { 73133, true }, + { 72985, true }, + { 72999, true }, + { 73016, true }, + { 73033, false }, + { 73046, true }, + { 73063, true }, + { 73072, true }, + { 73083, true }, + { 73101, true }, + { 73117, true }, + { 73131, true }, { 73142, true }, - { 73153, true }, - { 73171, true }, - { 73187, true }, - { 73201, true }, - { 73212, true }, - { 73224, true }, - { 73238, true }, - { 73255, true }, + { 73154, true }, + { 73168, true }, + { 73185, true }, + { 73194, true }, + { 73208, false }, + { 73236, true }, + { 73245, true }, + { 73254, true }, { 73264, true }, - { 73278, false }, - { 73306, true }, - { 73315, true }, - { 73324, true }, - { 73334, true }, - { 73350, true }, - { 73360, true }, - { 73373, true }, - { 73387, false }, - { 73401, false }, - { 73416, true }, - { 73440, true }, + { 73280, true }, + { 73290, true }, + { 73303, true }, + { 73317, false }, + { 73331, false }, + { 73346, true }, + { 73370, true }, + { 73391, true }, + { 73413, true }, + { 73423, true }, + { 73435, true }, { 73461, true }, - { 73483, true }, - { 73493, true }, - { 73505, true }, - { 73531, true }, - { 73545, true }, - { 73564, true }, - { 73581, true }, - { 73594, true }, - { 73606, true }, - { 73619, true }, - { 73631, true }, - { 73643, false }, - { 73667, true }, - { 73680, true }, - { 73699, true }, - { 73723, true }, - { 73739, true }, - { 73749, true }, + { 73475, true }, + { 73494, true }, + { 73511, true }, + { 73524, true }, + { 73536, true }, + { 73549, true }, + { 73561, true }, + { 73573, false }, + { 73597, true }, + { 73610, true }, + { 73629, true }, + { 73653, true }, + { 73669, true }, + { 73679, true }, + { 73695, true }, + { 73711, true }, + { 73730, true }, + { 73747, true }, { 73765, true }, - { 73781, true }, - { 73800, true }, - { 73817, true }, - { 73835, true }, - { 73852, true }, - { 73869, false }, - { 73895, true }, - { 73912, true }, - { 73927, true }, - { 73938, true }, - { 73950, true }, - { 73970, true }, - { 73986, true }, - { 74004, true }, - { 74022, true }, - { 74032, true }, + { 73782, true }, + { 73799, false }, + { 73825, true }, + { 73842, true }, + { 73857, true }, + { 73868, true }, + { 73880, true }, + { 73900, true }, + { 73916, true }, + { 73934, true }, + { 73952, true }, + { 73962, true }, + { 73974, true }, + { 73989, true }, + { 74007, true }, + { 74025, true }, { 74044, true }, - { 74059, true }, - { 74077, true }, - { 74095, true }, - { 74114, true }, + { 74054, true }, + { 74068, true }, + { 74078, true }, + { 74089, true }, + { 74108, true }, { 74124, true }, - { 74138, true }, - { 74148, true }, - { 74159, true }, - { 74178, true }, - { 74194, true }, - { 74213, true }, - { 74223, true }, - { 74235, true }, - { 74246, true }, - { 74256, true }, - { 74272, true }, - { 74285, true }, - { 74309, true }, - { 74332, true }, + { 74143, true }, + { 74153, true }, + { 74165, true }, + { 74176, true }, + { 74186, true }, + { 74202, true }, + { 74215, true }, + { 74239, true }, + { 74262, true }, + { 74286, true }, + { 74301, true }, + { 74321, true }, + { 74334, false }, + { 74346, true }, { 74356, true }, - { 74371, true }, - { 74391, true }, - { 74404, false }, - { 74416, true }, - { 74426, true }, - { 74439, true }, - { 74454, true }, - { 74474, true }, - { 74484, true }, - { 74494, false }, - { 74511, true }, - { 74519, true }, - { 74535, true }, - { 74550, true }, - { 74566, true }, + { 74369, true }, + { 74384, true }, + { 74404, true }, + { 74414, true }, + { 74424, false }, + { 74441, true }, + { 74449, true }, + { 74465, true }, + { 74480, true }, + { 74496, true }, + { 74512, true }, + { 74526, true }, + { 74542, true }, + { 74556, true }, + { 74570, true }, { 74582, true }, - { 74596, true }, - { 74612, true }, - { 74626, true }, - { 74640, true }, - { 74652, true }, - { 74672, true }, + { 74602, true }, + { 74618, true }, + { 74635, false }, + { 74645, true }, + { 74658, true }, + { 74677, true }, { 74688, true }, - { 74705, true }, + { 74701, true }, { 74715, true }, { 74728, true }, - { 74747, true }, - { 74758, true }, - { 74771, true }, - { 74785, true }, - { 74798, true }, - { 74806, true }, - { 74816, true }, - { 74830, false }, - { 74844, false }, - { 74870, true }, - { 74882, true }, - { 74898, true }, + { 74736, true }, + { 74746, true }, + { 74760, false }, + { 74774, false }, + { 74800, true }, + { 74812, true }, + { 74828, true }, + { 74839, true }, + { 74860, true }, + { 74884, true }, { 74909, true }, - { 74930, true }, - { 74954, true }, - { 74979, true }, - { 74991, true }, - { 75004, true }, - { 75017, true }, - { 75029, true }, - { 75048, true }, - { 75063, true }, - { 75076, true }, - { 75089, true }, - { 75109, true }, - { 75124, true }, - { 75140, true }, - { 75151, true }, - { 75169, true }, - { 75178, true }, - { 75189, true }, - { 75200, true }, - { 75211, true }, - { 75222, true }, - { 75232, true }, - { 75246, true }, - { 75258, true }, - { 75268, true }, - { 75277, true }, - { 75291, true }, - { 75301, true }, - { 75313, true }, - { 75322, true }, - { 75333, false }, - { 75346, true }, - { 75360, true }, - { 75382, true }, - { 75389, true }, - { 75402, true }, - { 75414, true }, - { 75426, true }, - { 75438, true }, - { 75450, true }, - { 75462, true }, - { 75474, true }, - { 75486, true }, - { 75498, true }, - { 75514, true }, - { 75529, true }, - { 75548, true }, - { 75565, true }, - { 75587, true }, - { 75600, false }, - { 75620, true }, - { 75638, true }, - { 75648, true }, - { 75661, true }, - { 75670, true }, - { 75682, true }, - { 75695, true }, - { 75710, true }, + { 74921, true }, + { 74934, true }, + { 74947, true }, + { 74959, true }, + { 74978, true }, + { 74993, true }, + { 75006, true }, + { 75019, true }, + { 75039, true }, + { 75054, true }, + { 75070, true }, + { 75081, true }, + { 75099, true }, + { 75108, true }, + { 75119, true }, + { 75130, true }, + { 75141, true }, + { 75152, true }, + { 75162, true }, + { 75176, true }, + { 75188, true }, + { 75198, true }, + { 75207, true }, + { 75221, true }, + { 75231, true }, + { 75243, true }, + { 75252, true }, + { 75263, false }, + { 75276, true }, + { 75290, true }, + { 75312, true }, + { 75319, true }, + { 75332, true }, + { 75344, true }, + { 75356, true }, + { 75368, true }, + { 75380, true }, + { 75392, true }, + { 75404, true }, + { 75416, true }, + { 75428, true }, + { 75444, true }, + { 75459, true }, + { 75478, true }, + { 75495, true }, + { 75517, true }, + { 75530, false }, + { 75550, true }, + { 75568, true }, + { 75578, true }, + { 75591, true }, + { 75600, true }, + { 75612, true }, + { 75625, true }, + { 75640, true }, + { 75659, true }, + { 75673, true }, + { 75684, true }, + { 75708, false }, { 75729, true }, - { 75743, true }, - { 75754, true }, - { 75778, false }, + { 75741, true }, + { 75751, true }, + { 75760, true }, + { 75775, true }, + { 75788, true }, { 75799, true }, - { 75811, true }, - { 75821, true }, - { 75830, true }, + { 75810, true }, + { 75823, true }, + { 75836, true }, { 75845, true }, - { 75858, true }, - { 75869, true }, - { 75880, true }, - { 75893, true }, - { 75906, true }, - { 75915, true }, - { 75927, true }, - { 75936, true }, - { 75945, true }, - { 75959, true }, - { 75973, true }, - { 75991, true }, + { 75857, true }, + { 75866, true }, + { 75875, true }, + { 75889, true }, + { 75903, true }, + { 75925, true }, + { 75945, false }, + { 75970, true }, + { 75983, true }, + { 75992, true }, { 76013, true }, - { 76033, false }, - { 76058, true }, + { 76034, true }, + { 76044, true }, + { 76059, true }, { 76071, true }, - { 76080, true }, - { 76101, true }, - { 76122, true }, - { 76132, true }, - { 76147, true }, - { 76159, true }, - { 76171, true }, - { 76196, true }, - { 76212, true }, - { 76223, true }, - { 76236, true }, - { 76251, true }, - { 76265, true }, - { 76274, true }, - { 76292, true }, - { 76326, true }, - { 76336, true }, - { 76354, true }, - { 76365, true }, - { 76391, false }, - { 76406, true }, - { 76416, true }, - { 76425, true }, - { 76437, true }, - { 76447, true }, + { 76083, true }, + { 76108, true }, + { 76124, true }, + { 76135, true }, + { 76148, true }, + { 76163, true }, + { 76177, true }, + { 76186, true }, + { 76204, true }, + { 76238, true }, + { 76248, true }, + { 76266, true }, + { 76277, true }, + { 76303, false }, + { 76318, true }, + { 76328, true }, + { 76337, true }, + { 76349, true }, + { 76359, true }, + { 76368, true }, + { 76382, false }, + { 76393, true }, + { 76401, true }, + { 76409, true }, + { 76420, true }, + { 76429, true }, + { 76444, true }, { 76456, true }, - { 76470, false }, - { 76481, true }, - { 76489, true }, - { 76497, true }, - { 76508, true }, - { 76517, true }, - { 76532, true }, - { 76544, true }, - { 76558, true }, - { 76572, true }, - { 76592, true }, + { 76470, true }, + { 76484, true }, + { 76504, true }, + { 76516, true }, + { 76534, true }, + { 76550, true }, + { 76564, true }, + { 76581, true }, + { 76594, true }, { 76604, true }, - { 76622, true }, - { 76638, true }, - { 76652, true }, + { 76618, true }, + { 76630, true }, + { 76642, true }, + { 76656, true }, { 76669, true }, { 76682, true }, - { 76692, true }, + { 76695, true }, { 76706, true }, - { 76718, true }, - { 76730, true }, + { 76716, true }, + { 76728, true }, + { 76735, true }, { 76744, true }, - { 76757, true }, - { 76770, true }, - { 76783, true }, - { 76794, true }, - { 76804, true }, - { 76816, true }, - { 76823, true }, + { 76768, true }, + { 76787, true }, + { 76801, true }, + { 76815, true }, + { 76824, true }, { 76832, true }, - { 76856, true }, - { 76875, true }, - { 76889, true }, - { 76903, true }, - { 76912, true }, - { 76920, true }, - { 76933, true }, - { 76949, true }, - { 76972, true }, - { 76981, true }, - { 76996, true }, - { 77010, true }, - { 77024, true }, - { 77038, true }, - { 77053, true }, - { 77067, true }, - { 77081, true }, + { 76845, true }, + { 76861, true }, + { 76884, true }, + { 76893, true }, + { 76908, true }, + { 76922, true }, + { 76936, true }, + { 76950, true }, + { 76965, true }, + { 76979, true }, + { 76993, true }, + { 77007, true }, + { 77022, true }, + { 77036, true }, + { 77050, true }, + { 77064, true }, + { 77078, true }, { 77095, true }, - { 77110, true }, - { 77124, true }, - { 77138, true }, - { 77152, true }, - { 77166, true }, - { 77183, true }, - { 77203, true }, - { 77224, true }, - { 77256, true }, - { 77268, true }, - { 77278, true }, + { 77115, true }, + { 77136, true }, + { 77168, true }, + { 77180, true }, + { 77190, true }, + { 77202, true }, + { 77217, true }, + { 77239, true }, + { 77258, true }, + { 77272, true }, { 77290, true }, - { 77305, true }, - { 77327, true }, - { 77346, true }, - { 77360, true }, - { 77378, true }, - { 77389, true }, - { 77407, true }, - { 77414, true }, - { 77424, true }, - { 77436, true }, - { 77451, true }, - { 77468, true }, - { 77486, true }, - { 77505, true }, - { 77515, true }, - { 77535, true }, - { 77548, true }, - { 77558, true }, - { 77572, false }, - { 77589, true }, - { 77602, true }, - { 77615, true }, - { 77628, true }, - { 77638, true }, - { 77654, true }, - { 77680, true }, - { 77692, true }, - { 77704, true }, - { 77717, false }, - { 77732, true }, - { 77745, true }, - { 77759, true }, - { 77776, true }, - { 77788, true }, - { 77807, true }, - { 77814, true }, - { 77826, true }, - { 77838, true }, - { 77850, true }, - { 77859, true }, - { 77870, true }, - { 77884, true }, - { 77897, true }, - { 77922, true }, - { 77945, false }, - { 77955, true }, - { 77966, true }, - { 77979, true }, - { 77993, true }, - { 78005, true }, - { 78016, true }, - { 78027, true }, + { 77301, true }, + { 77319, true }, + { 77326, true }, + { 77336, true }, + { 77348, true }, + { 77363, true }, + { 77380, true }, + { 77398, true }, + { 77417, true }, + { 77427, true }, + { 77447, true }, + { 77460, true }, + { 77470, true }, + { 77484, false }, + { 77501, true }, + { 77514, true }, + { 77527, true }, + { 77540, true }, + { 77550, true }, + { 77566, true }, + { 77592, true }, + { 77604, true }, + { 77616, true }, + { 77629, false }, + { 77644, true }, + { 77657, true }, + { 77671, true }, + { 77688, true }, + { 77700, true }, + { 77719, true }, + { 77726, true }, + { 77738, true }, + { 77750, true }, + { 77762, true }, + { 77771, true }, + { 77782, true }, + { 77796, true }, + { 77809, true }, + { 77834, true }, + { 77857, false }, + { 77867, true }, + { 77878, true }, + { 77891, true }, + { 77905, true }, + { 77917, true }, + { 77928, true }, + { 77939, true }, + { 77948, true }, + { 77958, true }, + { 77967, true }, + { 77978, true }, + { 77998, true }, + { 78018, true }, { 78036, true }, - { 78046, true }, { 78055, true }, - { 78066, true }, - { 78086, true }, - { 78106, true }, - { 78124, true }, - { 78143, true }, - { 78166, true }, - { 78184, true }, - { 78201, true }, - { 78213, true }, - { 78227, true }, - { 78250, true }, - { 78260, true }, - { 78275, true }, - { 78289, true }, - { 78305, true }, - { 78318, true }, - { 78341, true }, - { 78353, true }, - { 78367, true }, - { 78374, true }, - { 78387, true }, - { 78400, true }, - { 78420, true }, - { 78438, true }, - { 78460, true }, - { 78473, true }, - { 78493, true }, - { 78508, true }, - { 78519, true }, - { 78533, true }, - { 78546, true }, - { 78559, true }, - { 78578, true }, + { 78073, true }, + { 78090, true }, + { 78102, true }, + { 78116, true }, + { 78139, true }, + { 78149, true }, + { 78164, true }, + { 78178, true }, + { 78194, true }, + { 78207, true }, + { 78230, true }, + { 78242, true }, + { 78256, true }, + { 78263, true }, + { 78276, true }, + { 78296, true }, + { 78314, true }, + { 78336, true }, + { 78349, true }, + { 78369, true }, + { 78384, true }, + { 78395, true }, + { 78409, true }, + { 78422, true }, + { 78435, true }, + { 78454, true }, + { 78469, true }, + { 78489, true }, + { 78505, true }, + { 78524, true }, + { 78543, true }, + { 78558, true }, + { 78570, true }, + { 78577, true }, { 78593, true }, - { 78613, true }, - { 78629, true }, + { 78620, true }, { 78648, true }, - { 78667, true }, - { 78682, true }, - { 78694, true }, - { 78701, true }, - { 78717, true }, - { 78744, true }, - { 78772, true }, - { 78796, true }, - { 78815, true }, - { 78832, true }, - { 78855, true }, - { 78876, true }, + { 78672, true }, + { 78691, true }, + { 78708, true }, + { 78731, true }, + { 78752, true }, + { 78771, true }, + { 78789, true }, + { 78807, true }, + { 78825, true }, + { 78837, true }, + { 78846, true }, + { 78869, true }, + { 78883, true }, { 78895, true }, - { 78913, true }, - { 78931, true }, - { 78949, true }, - { 78961, true }, - { 78970, true }, - { 78993, true }, - { 79007, true }, - { 79019, true }, - { 79032, true }, - { 79042, true }, - { 79053, false }, - { 79063, true }, - { 79083, true }, - { 79096, true }, - { 79111, true }, - { 79120, true }, - { 79132, true }, - { 79148, true }, - { 79158, true }, - { 79165, true }, - { 79182, true }, - { 79195, true }, - { 79204, true }, + { 78908, true }, + { 78918, true }, + { 78929, false }, + { 78939, true }, + { 78959, true }, + { 78972, true }, + { 78987, true }, + { 78996, true }, + { 79008, true }, + { 79024, true }, + { 79034, true }, + { 79041, true }, + { 79058, true }, + { 79071, true }, + { 79080, true }, + { 79087, true }, + { 79100, true }, + { 79113, true }, + { 79122, true }, + { 79135, true }, + { 79153, true }, + { 79168, true }, + { 79184, true }, + { 79200, true }, { 79211, true }, - { 79224, true }, - { 79237, true }, - { 79246, true }, + { 79225, true }, + { 79242, true }, { 79259, true }, - { 79277, true }, - { 79292, true }, - { 79308, true }, - { 79324, true }, - { 79335, true }, - { 79349, true }, - { 79366, true }, - { 79383, true }, - { 79393, true }, - { 79420, true }, - { 79455, true }, - { 79481, true }, - { 79493, false }, - { 79506, true }, - { 79527, true }, - { 79540, true }, - { 79559, true }, + { 79269, true }, + { 79296, true }, + { 79331, true }, + { 79357, true }, + { 79369, false }, + { 79382, true }, + { 79403, true }, + { 79416, true }, + { 79435, true }, + { 79460, true }, + { 79482, true }, + { 79503, true }, + { 79518, true }, + { 79538, false }, + { 79548, true }, + { 79567, true }, { 79584, true }, - { 79606, true }, - { 79627, true }, - { 79642, true }, - { 79662, false }, - { 79672, true }, - { 79691, true }, - { 79708, true }, - { 79725, true }, - { 79735, true }, - { 79745, true }, - { 79758, true }, - { 79769, true }, - { 79784, true }, - { 79797, true }, - { 79812, true }, - { 79825, true }, - { 79838, true }, - { 79852, true }, - { 79875, true }, - { 79886, true }, - { 79901, true }, - { 79913, true }, - { 79926, true }, - { 79940, true }, - { 79959, true }, - { 79983, true }, - { 80005, true }, - { 80026, true }, - { 80051, true }, - { 80074, true }, - { 80094, true }, - { 80105, true }, - { 80117, true }, - { 80137, true }, - { 80154, true }, - { 80171, true }, - { 80192, true }, - { 80215, true }, - { 80231, true }, - { 80251, true }, - { 80260, true }, - { 80275, true }, - { 80285, true }, + { 79601, true }, + { 79611, true }, + { 79621, true }, + { 79634, true }, + { 79645, true }, + { 79660, true }, + { 79673, true }, + { 79688, true }, + { 79701, true }, + { 79714, true }, + { 79728, true }, + { 79751, true }, + { 79762, true }, + { 79777, true }, + { 79789, true }, + { 79802, true }, + { 79816, true }, + { 79835, true }, + { 79859, true }, + { 79881, true }, + { 79902, true }, + { 79927, true }, + { 79950, true }, + { 79970, true }, + { 79981, true }, + { 79993, true }, + { 80013, true }, + { 80030, true }, + { 80047, true }, + { 80068, true }, + { 80091, true }, + { 80107, true }, + { 80127, true }, + { 80136, true }, + { 80151, true }, + { 80161, true }, + { 80178, true }, + { 80189, true }, + { 80208, true }, + { 80218, true }, + { 80228, true }, + { 80236, true }, + { 80262, true }, + { 80276, true }, + { 80289, true }, { 80302, true }, - { 80313, true }, - { 80332, true }, - { 80342, true }, - { 80352, true }, - { 80360, true }, - { 80386, true }, - { 80400, true }, - { 80413, true }, - { 80426, true }, - { 80435, true }, - { 80442, true }, - { 80449, false }, - { 80465, true }, - { 80474, true }, - { 80491, true }, - { 80506, true }, - { 80520, true }, - { 80532, true }, - { 80544, true }, - { 80567, true }, - { 80581, true }, - { 80596, true }, - { 80612, true }, - { 80624, true }, - { 80639, true }, + { 80311, true }, + { 80318, true }, + { 80325, false }, + { 80341, true }, + { 80350, true }, + { 80367, true }, + { 80382, true }, + { 80396, true }, + { 80408, true }, + { 80420, true }, + { 80443, true }, + { 80457, true }, + { 80472, true }, + { 80488, true }, + { 80500, true }, + { 80515, true }, + { 80531, true }, + { 80548, true }, + { 80566, true }, + { 80587, true }, + { 80604, true }, + { 80621, true }, + { 80638, true }, { 80655, true }, { 80672, true }, - { 80690, true }, - { 80711, true }, - { 80728, true }, - { 80745, true }, - { 80762, true }, - { 80779, true }, - { 80796, true }, - { 80813, true }, - { 80830, true }, - { 80847, true }, - { 80863, true }, - { 80877, true }, - { 80902, true }, - { 80913, true }, - { 80929, true }, - { 80945, true }, - { 80961, true }, - { 80980, true }, - { 81002, false }, - { 81015, true }, - { 81035, true }, - { 81044, false }, - { 81060, true }, - { 81074, true }, - { 81087, true }, - { 81097, true }, - { 81108, true }, - { 81122, true }, - { 81138, true }, - { 81150, true }, - { 81164, true }, - { 81179, true }, - { 81189, true }, - { 81199, false }, - { 81209, true }, - { 81218, true }, - { 81226, true }, - { 81236, true }, - { 81249, true }, - { 81268, true }, - { 81277, true }, - { 81287, true }, - { 81310, true }, - { 81326, false }, - { 81346, true }, - { 81369, true }, - { 81383, true }, - { 81395, true }, - { 81404, true }, - { 81421, true }, - { 81440, true }, - { 81457, false }, + { 80689, true }, + { 80706, true }, + { 80723, true }, + { 80739, true }, + { 80753, true }, + { 80778, true }, + { 80789, true }, + { 80805, true }, + { 80821, true }, + { 80837, true }, + { 80856, true }, + { 80878, false }, + { 80891, true }, + { 80911, true }, + { 80920, false }, + { 80936, true }, + { 80950, true }, + { 80963, true }, + { 80973, true }, + { 80984, true }, + { 80998, true }, + { 81014, true }, + { 81026, true }, + { 81040, true }, + { 81055, true }, + { 81065, true }, + { 81075, false }, + { 81085, true }, + { 81094, true }, + { 81102, true }, + { 81112, true }, + { 81125, true }, + { 81144, true }, + { 81153, true }, + { 81163, true }, + { 81186, true }, + { 81202, false }, + { 81222, true }, + { 81245, true }, + { 81259, true }, + { 81271, true }, + { 81280, true }, + { 81297, true }, + { 81316, true }, + { 81333, false }, + { 81345, true }, + { 81356, false }, + { 81368, true }, + { 81379, true }, + { 81393, true }, + { 81408, true }, + { 81426, true }, + { 81436, true }, + { 81444, true }, + { 81455, true }, { 81469, true }, - { 81480, false }, - { 81492, true }, - { 81503, true }, - { 81517, true }, - { 81532, true }, - { 81550, true }, - { 81560, true }, - { 81568, true }, + { 81483, true }, + { 81496, false }, + { 81509, true }, + { 81521, true }, + { 81536, true }, + { 81565, true }, { 81579, true }, { 81593, true }, - { 81607, true }, - { 81620, false }, - { 81633, true }, - { 81645, true }, + { 81608, true }, + { 81620, true }, + { 81634, true }, + { 81648, true }, { 81660, true }, - { 81689, true }, - { 81703, true }, - { 81717, true }, - { 81732, true }, - { 81744, true }, - { 81758, true }, - { 81772, true }, - { 81784, true }, - { 81798, true }, - { 81812, true }, - { 81824, true }, - { 81834, true }, - { 81850, true }, - { 81866, true }, - { 81885, true }, - { 81904, false }, - { 81933, true }, - { 81947, true }, - { 81961, true }, - { 81979, true }, - { 82000, true }, - { 82015, true }, + { 81674, true }, + { 81688, true }, + { 81700, true }, + { 81710, true }, + { 81726, true }, + { 81742, true }, + { 81761, true }, + { 81780, false }, + { 81809, true }, + { 81823, true }, + { 81837, true }, + { 81855, true }, + { 81876, true }, + { 81891, true }, + { 81904, true }, + { 81922, true }, + { 81942, true }, + { 81954, true }, + { 81966, true }, + { 81981, true }, + { 82004, true }, { 82028, true }, - { 82046, true }, - { 82066, true }, - { 82078, true }, - { 82090, true }, - { 82105, true }, - { 82128, true }, - { 82152, true }, - { 82176, true }, - { 82200, true }, - { 82210, true }, - { 82224, true }, - { 82246, true }, - { 82278, true }, - { 82289, true }, - { 82297, true }, - { 82306, true }, - { 82316, true }, - { 82328, true }, + { 82052, true }, + { 82076, true }, + { 82086, true }, + { 82100, true }, + { 82122, true }, + { 82154, true }, + { 82165, true }, + { 82173, true }, + { 82182, true }, + { 82192, true }, + { 82204, true }, + { 82219, true }, + { 82233, false }, + { 82253, true }, + { 82266, true }, + { 82277, true }, + { 82286, true }, + { 82293, true }, + { 82304, true }, + { 82313, true }, + { 82326, true }, { 82343, true }, - { 82357, false }, - { 82377, true }, - { 82390, true }, - { 82401, true }, - { 82419, true }, - { 82428, true }, - { 82435, true }, - { 82446, true }, - { 82455, true }, - { 82468, true }, - { 82485, true }, - { 82499, true }, - { 82517, true }, - { 82540, true }, - { 82555, false }, - { 82566, false }, - { 82578, false }, - { 82589, true }, - { 82605, true }, - { 82618, true }, - { 82631, true }, - { 82657, false }, - { 82673, true }, - { 82683, true }, - { 82691, true }, - { 82700, true }, - { 82712, true }, - { 82724, true }, - { 82736, false }, - { 82748, true }, - { 82761, true }, - { 82775, true }, - { 82787, true }, - { 82799, true }, - { 82816, true }, - { 82828, true }, - { 82848, true }, - { 82859, true }, - { 82875, true }, - { 82887, true }, - { 82904, true }, - { 82924, true }, - { 82933, true }, - { 82946, true }, - { 82965, true }, - { 82978, true }, - { 82996, true }, - { 83009, true }, - { 83033, true }, - { 83047, true }, - { 83064, true }, - { 83079, true }, - { 83091, true }, - { 83103, true }, + { 82357, true }, + { 82375, true }, + { 82398, true }, + { 82413, false }, + { 82424, false }, + { 82436, false }, + { 82447, true }, + { 82463, true }, + { 82476, true }, + { 82489, true }, + { 82515, false }, + { 82531, true }, + { 82541, true }, + { 82549, true }, + { 82558, true }, + { 82570, true }, + { 82582, true }, + { 82594, false }, + { 82606, true }, + { 82619, true }, + { 82633, true }, + { 82645, true }, + { 82657, true }, + { 82674, true }, + { 82686, true }, + { 82706, true }, + { 82717, true }, + { 82733, true }, + { 82745, true }, + { 82762, true }, + { 82782, true }, + { 82791, true }, + { 82804, true }, + { 82823, true }, + { 82836, true }, + { 82854, true }, + { 82867, true }, + { 82891, true }, + { 82905, true }, + { 82922, true }, + { 82937, true }, + { 82949, true }, + { 82961, true }, + { 82976, true }, + { 82993, true }, + { 83001, true }, + { 83013, true }, + { 83032, true }, + { 83049, true }, + { 83066, true }, + { 83081, true }, + { 83093, true }, { 83118, true }, - { 83135, true }, - { 83143, true }, - { 83155, true }, - { 83174, true }, - { 83191, true }, - { 83208, true }, - { 83223, true }, - { 83235, true }, - { 83260, true }, - { 83275, false }, - { 83288, false }, - { 83300, true }, - { 83320, true }, - { 83332, true }, - { 83345, true }, - { 83357, true }, - { 83371, true }, - { 83389, true }, - { 83401, true }, - { 83425, true }, - { 83438, true }, - { 83457, true }, - { 83469, true }, - { 83481, true }, - { 83505, true }, - { 83526, true }, - { 83540, true }, - { 83554, true }, - { 83567, false }, - { 83583, true }, - { 83607, true }, - { 83619, true }, - { 83632, true }, - { 83665, true }, - { 83697, true }, - { 83715, true }, - { 83724, true }, - { 83734, true }, - { 83745, true }, - { 83757, true }, - { 83767, true }, - { 83778, true }, - { 83790, true }, - { 83799, true }, - { 83820, true }, - { 83829, true }, - { 83850, true }, - { 83871, true }, - { 83881, true }, - { 83895, true }, - { 83907, true }, - { 83923, true }, - { 83945, true }, - { 83963, true }, - { 83982, true }, - { 84001, true }, - { 84011, false }, - { 84025, true }, - { 84039, true }, - { 84052, true }, - { 84073, true }, - { 84086, true }, - { 84095, true }, - { 84108, true }, - { 84116, false }, - { 84133, true }, - { 84147, true }, - { 84163, true }, - { 84182, true }, - { 84201, true }, - { 84211, true }, + { 83133, false }, + { 83146, false }, + { 83158, true }, + { 83178, true }, + { 83190, true }, + { 83203, true }, + { 83215, true }, + { 83229, true }, + { 83247, true }, + { 83259, true }, + { 83283, true }, + { 83296, true }, + { 83315, true }, + { 83327, true }, + { 83339, true }, + { 83363, true }, + { 83384, true }, + { 83398, true }, + { 83412, true }, + { 83425, false }, + { 83441, true }, + { 83465, true }, + { 83477, true }, + { 83490, true }, + { 83523, true }, + { 83555, true }, + { 83573, true }, + { 83582, true }, + { 83592, true }, + { 83603, true }, + { 83615, true }, + { 83625, true }, + { 83636, true }, + { 83648, true }, + { 83657, true }, + { 83678, true }, + { 83687, true }, + { 83708, true }, + { 83729, true }, + { 83739, true }, + { 83753, true }, + { 83765, true }, + { 83781, true }, + { 83803, true }, + { 83821, true }, + { 83840, true }, + { 83859, true }, + { 83869, false }, + { 83883, true }, + { 83897, true }, + { 83910, true }, + { 83931, true }, + { 83944, true }, + { 83953, true }, + { 83966, true }, + { 83974, false }, + { 83991, true }, + { 84005, true }, + { 84021, true }, + { 84040, true }, + { 84059, true }, + { 84069, true }, + { 84083, true }, + { 84091, true }, + { 84105, true }, + { 84124, false }, + { 84142, true }, + { 84151, true }, + { 84164, true }, + { 84177, true }, + { 84192, true }, + { 84212, false }, { 84225, true }, - { 84233, true }, - { 84247, true }, - { 84266, false }, - { 84284, true }, - { 84293, true }, - { 84306, true }, + { 84242, true }, + { 84255, true }, + { 84268, true }, + { 84292, true }, { 84319, true }, - { 84334, true }, - { 84354, false }, - { 84367, true }, - { 84384, true }, - { 84397, true }, - { 84410, true }, - { 84434, true }, - { 84461, true }, - { 84471, true }, - { 84484, false }, - { 84498, true }, + { 84329, true }, + { 84342, false }, + { 84356, true }, + { 84368, true }, + { 84381, true }, + { 84395, true }, + { 84407, true }, + { 84422, true }, + { 84440, true }, + { 84453, true }, + { 84476, true }, + { 84499, false }, { 84510, true }, - { 84523, true }, - { 84537, true }, - { 84552, true }, - { 84570, true }, - { 84583, true }, - { 84606, true }, - { 84629, false }, - { 84640, true }, - { 84658, true }, - { 84674, true }, - { 84692, true }, - { 84712, true }, - { 84734, true }, - { 84750, true }, - { 84767, true }, - { 84784, true }, - { 84801, true }, - { 84819, true }, - { 84833, true }, - { 84846, true }, - { 84863, true }, - { 84878, true }, - { 84892, true }, - { 84903, true }, - { 84919, true }, - { 84928, true }, - { 84947, true }, - { 84962, true }, - { 84970, true }, - { 84979, true }, - { 84990, true }, - { 85005, true }, - { 85020, true }, - { 85037, false }, - { 85048, true }, - { 85064, true }, - { 85078, true }, - { 85090, true }, - { 85104, true }, - { 85112, true }, - { 85132, true }, + { 84528, true }, + { 84544, true }, + { 84562, true }, + { 84582, true }, + { 84604, true }, + { 84620, true }, + { 84637, true }, + { 84654, true }, + { 84671, true }, + { 84689, true }, + { 84703, true }, + { 84716, true }, + { 84733, true }, + { 84748, true }, + { 84762, true }, + { 84773, true }, + { 84789, true }, + { 84798, true }, + { 84817, true }, + { 84832, true }, + { 84840, true }, + { 84849, true }, + { 84860, true }, + { 84875, true }, + { 84890, true }, + { 84907, false }, + { 84918, true }, + { 84934, true }, + { 84948, true }, + { 84960, true }, + { 84974, true }, + { 84982, true }, + { 85002, true }, + { 85023, true }, + { 85033, true }, + { 85042, true }, + { 85058, true }, + { 85068, true }, + { 85074, true }, + { 85086, true }, + { 85094, true }, + { 85116, true }, + { 85130, true }, + { 85138, true }, { 85153, true }, - { 85163, true }, - { 85172, true }, - { 85188, true }, - { 85198, true }, - { 85204, true }, - { 85216, true }, + { 85164, true }, + { 85177, true }, + { 85193, true }, + { 85211, false }, { 85224, true }, - { 85246, true }, - { 85260, true }, - { 85268, true }, - { 85283, true }, - { 85294, true }, - { 85307, true }, - { 85323, true }, - { 85341, false }, - { 85354, true }, - { 85368, true }, - { 85377, true }, - { 85388, true }, - { 85408, true }, - { 85420, true }, + { 85238, true }, + { 85247, true }, + { 85258, true }, + { 85278, true }, + { 85290, true }, + { 85302, true }, + { 85321, true }, + { 85340, true }, + { 85348, true }, + { 85365, true }, + { 85384, true }, + { 85393, true }, + { 85402, true }, + { 85421, true }, { 85432, true }, - { 85451, true }, - { 85470, true }, - { 85478, true }, - { 85495, true }, - { 85514, true }, - { 85523, true }, - { 85532, true }, - { 85551, true }, - { 85562, true }, - { 85578, true }, - { 85585, true }, - { 85597, true }, - { 85618, true }, - { 85635, true }, - { 85648, true }, - { 85658, true }, + { 85448, true }, + { 85455, true }, + { 85467, true }, + { 85488, true }, + { 85505, true }, + { 85518, true }, + { 85528, true }, + { 85541, true }, + { 85552, true }, + { 85577, true }, + { 85592, true }, + { 85611, true }, + { 85638, true }, + { 85657, false }, { 85671, true }, { 85682, true }, - { 85707, true }, - { 85722, true }, - { 85741, true }, - { 85768, true }, - { 85787, false }, - { 85801, true }, - { 85812, true }, - { 85827, true }, - { 85839, true }, - { 85850, true }, - { 85865, true }, - { 85874, true }, - { 85890, true }, - { 85904, true }, - { 85918, true }, + { 85697, true }, + { 85709, true }, + { 85720, true }, + { 85735, true }, + { 85744, true }, + { 85760, true }, + { 85774, true }, + { 85788, true }, + { 85805, true }, + { 85816, true }, + { 85832, true }, + { 85852, true }, + { 85861, true }, + { 85872, true }, + { 85892, false }, + { 85916, true }, + { 85927, false }, { 85935, true }, - { 85946, true }, - { 85962, true }, - { 85982, true }, - { 85991, true }, - { 86002, true }, - { 86022, false }, - { 86046, true }, - { 86057, false }, - { 86065, true }, - { 86083, true }, - { 86107, true }, + { 85953, true }, + { 85977, true }, + { 85995, true }, + { 86017, true }, + { 86039, true }, + { 86064, true }, + { 86080, true }, + { 86092, true }, + { 86104, true }, { 86125, true }, - { 86147, true }, + { 86139, true }, + { 86152, false }, { 86169, true }, - { 86194, true }, - { 86210, true }, - { 86222, true }, - { 86234, true }, - { 86255, true }, - { 86269, true }, - { 86282, false }, - { 86299, true }, - { 86308, true }, - { 86330, true }, - { 86350, true }, - { 86377, true }, - { 86396, true }, - { 86408, true }, - { 86428, true }, - { 86436, true }, + { 86178, true }, + { 86200, true }, + { 86220, true }, + { 86247, true }, + { 86266, true }, + { 86278, true }, + { 86298, true }, + { 86306, true }, + { 86315, true }, + { 86332, true }, + { 86347, true }, + { 86362, true }, + { 86391, true }, + { 86413, true }, + { 86431, true }, { 86445, true }, - { 86462, true }, - { 86477, true }, - { 86492, true }, - { 86521, true }, + { 86458, true }, + { 86473, true }, + { 86486, true }, + { 86496, true }, + { 86512, true }, + { 86525, true }, { 86543, true }, - { 86561, true }, - { 86575, true }, - { 86588, true }, - { 86603, true }, - { 86616, true }, - { 86626, true }, - { 86642, true }, - { 86655, true }, - { 86673, true }, - { 86691, false }, - { 86699, true }, - { 86712, true }, - { 86719, false }, - { 86739, true }, - { 86748, true }, + { 86561, false }, + { 86569, true }, + { 86582, true }, + { 86589, false }, + { 86609, true }, + { 86618, true }, + { 86633, true }, + { 86651, true }, + { 86663, true }, + { 86672, false }, + { 86682, true }, + { 86690, true }, + { 86711, true }, + { 86725, true }, + { 86742, true }, + { 86753, true }, { 86763, true }, - { 86781, true }, - { 86793, true }, - { 86802, false }, - { 86812, true }, - { 86820, true }, - { 86841, true }, + { 86780, true }, + { 86802, true }, + { 86823, true }, + { 86838, true }, { 86855, true }, - { 86872, true }, - { 86883, true }, - { 86893, true }, - { 86910, true }, - { 86932, true }, - { 86953, true }, - { 86968, true }, - { 86985, true }, - { 86995, true }, - { 87010, true }, - { 87026, true }, - { 87037, true }, - { 87049, true }, - { 87068, true }, - { 87090, true }, - { 87105, true }, - { 87125, true }, - { 87141, true }, - { 87157, true }, - { 87167, true }, - { 87179, true }, - { 87187, true }, - { 87206, false }, - { 87225, true }, - { 87238, true }, - { 87255, true }, - { 87267, true }, - { 87281, true }, - { 87301, true }, - { 87315, true }, - { 87327, true }, + { 86865, true }, + { 86880, true }, + { 86896, true }, + { 86907, true }, + { 86919, true }, + { 86938, true }, + { 86960, true }, + { 86973, true }, + { 86984, true }, + { 86999, true }, + { 87019, true }, + { 87035, true }, + { 87051, true }, + { 87061, true }, + { 87073, true }, + { 87081, true }, + { 87100, false }, + { 87119, true }, + { 87132, true }, + { 87149, true }, + { 87161, true }, + { 87175, true }, + { 87195, true }, + { 87209, true }, + { 87221, true }, + { 87234, true }, + { 87248, true }, + { 87273, true }, + { 87288, true }, + { 87302, true }, + { 87324, true }, { 87340, true }, - { 87354, true }, - { 87379, true }, - { 87394, true }, - { 87408, true }, + { 87359, true }, + { 87372, true }, + { 87389, true }, + { 87407, true }, + { 87420, true }, { 87430, true }, - { 87446, true }, - { 87465, true }, - { 87478, true }, - { 87495, true }, - { 87513, true }, - { 87526, true }, - { 87536, true }, - { 87551, true }, - { 87561, true }, - { 87580, true }, - { 87593, true }, - { 87618, true }, - { 87633, true }, - { 87651, true }, - { 87664, true }, - { 87676, true }, - { 87687, true }, - { 87701, true }, - { 87714, true }, - { 87732, true }, - { 87751, true }, - { 87765, true }, - { 87781, true }, - { 87800, true }, - { 87812, true }, - { 87825, true }, - { 87837, true }, - { 87853, true }, - { 87866, true }, - { 87882, true }, - { 87893, true }, - { 87908, true }, - { 87923, true }, - { 87937, true }, - { 87955, true }, - { 87975, true }, - { 87994, true }, - { 88007, true }, - { 88031, true }, - { 88041, true }, - { 88054, true }, + { 87445, true }, + { 87455, true }, + { 87474, true }, + { 87487, true }, + { 87512, true }, + { 87527, true }, + { 87545, true }, + { 87558, true }, + { 87570, true }, + { 87581, true }, + { 87595, true }, + { 87608, true }, + { 87626, true }, + { 87645, true }, + { 87659, true }, + { 87675, true }, + { 87694, true }, + { 87706, true }, + { 87719, true }, + { 87731, true }, + { 87747, true }, + { 87760, true }, + { 87776, true }, + { 87787, true }, + { 87802, true }, + { 87817, true }, + { 87831, true }, + { 87849, true }, + { 87869, true }, + { 87888, true }, + { 87901, true }, + { 87925, true }, + { 87935, true }, + { 87948, true }, + { 87960, true }, + { 87970, true }, + { 87982, true }, + { 87998, true }, + { 88006, true }, + { 88014, true }, + { 88029, true }, + { 88042, true }, + { 88053, true }, { 88066, true }, - { 88076, true }, - { 88088, true }, + { 88077, true }, + { 88093, true }, { 88104, true }, - { 88112, true }, - { 88120, true }, - { 88135, true }, - { 88148, true }, - { 88159, true }, - { 88172, true }, - { 88183, true }, - { 88199, true }, - { 88210, true }, - { 88222, true }, - { 88232, true }, - { 88249, true }, - { 88267, false }, - { 88280, true }, - { 88295, true }, - { 88312, true }, - { 88330, true }, - { 88344, false }, - { 88362, true }, - { 88378, true }, - { 88394, true }, + { 88116, true }, + { 88126, true }, + { 88143, true }, + { 88161, false }, + { 88174, true }, + { 88189, true }, + { 88206, true }, + { 88224, true }, + { 88238, false }, + { 88256, true }, + { 88272, true }, + { 88288, true }, + { 88297, true }, + { 88306, true }, + { 88321, true }, + { 88331, true }, + { 88346, true }, + { 88360, true }, + { 88372, true }, + { 88389, true }, { 88403, true }, - { 88412, true }, - { 88427, true }, - { 88437, true }, - { 88452, true }, - { 88466, true }, - { 88478, true }, - { 88495, true }, - { 88509, true }, - { 88517, true }, - { 88525, true }, - { 88534, true }, - { 88546, true }, - { 88557, true }, - { 88566, false }, - { 88574, true }, - { 88600, true }, - { 88613, true }, - { 88626, true }, - { 88634, true }, - { 88648, true }, - { 88659, true }, - { 88669, true }, - { 88686, true }, - { 88698, true }, - { 88713, true }, - { 88722, true }, - { 88733, true }, - { 88744, true }, - { 88755, true }, - { 88770, true }, - { 88783, true }, - { 88795, true }, - { 88808, true }, - { 88816, true }, - { 88830, true }, - { 88845, true }, - { 88856, false }, - { 88870, true }, - { 88891, true }, - { 88902, true }, - { 88916, true }, - { 88934, true }, - { 88945, true }, - { 88958, true }, - { 88977, true }, - { 88991, true }, - { 89007, true }, - { 89020, true }, - { 89035, true }, - { 89048, true }, - { 89062, false }, + { 88411, true }, + { 88419, true }, + { 88428, true }, + { 88440, true }, + { 88451, true }, + { 88460, false }, + { 88468, true }, + { 88494, true }, + { 88507, true }, + { 88520, true }, + { 88528, true }, + { 88542, true }, + { 88553, true }, + { 88563, true }, + { 88580, true }, + { 88592, true }, + { 88607, true }, + { 88616, true }, + { 88627, true }, + { 88638, true }, + { 88649, true }, + { 88664, true }, + { 88677, true }, + { 88689, true }, + { 88702, true }, + { 88710, true }, + { 88724, true }, + { 88739, true }, + { 88750, false }, + { 88764, true }, + { 88785, true }, + { 88796, true }, + { 88810, true }, + { 88828, true }, + { 88839, true }, + { 88852, true }, + { 88871, true }, + { 88885, true }, + { 88901, true }, + { 88914, true }, + { 88929, true }, + { 88942, true }, + { 88956, false }, + { 88972, true }, + { 88983, true }, + { 89002, true }, + { 89015, true }, + { 89038, true }, + { 89047, true }, + { 89058, true }, + { 89069, true }, { 89078, true }, - { 89089, true }, - { 89108, true }, - { 89121, true }, - { 89144, true }, - { 89153, true }, - { 89164, true }, - { 89175, true }, - { 89184, true }, - { 89202, true }, + { 89096, true }, + { 89113, true }, + { 89131, true }, + { 89150, true }, + { 89160, true }, + { 89173, true }, + { 89182, true }, + { 89199, true }, { 89219, true }, - { 89237, true }, - { 89256, true }, - { 89266, true }, - { 89279, true }, - { 89288, true }, - { 89305, true }, - { 89325, true }, - { 89339, true }, - { 89347, true }, - { 89357, true }, - { 89365, true }, - { 89375, true }, + { 89233, true }, + { 89241, true }, + { 89251, true }, + { 89259, true }, + { 89269, true }, + { 89277, true }, + { 89284, true }, + { 89297, true }, + { 89308, true }, + { 89322, true }, + { 89336, true }, + { 89350, true }, + { 89360, true }, + { 89370, true }, { 89383, true }, - { 89390, true }, - { 89403, true }, - { 89414, true }, - { 89428, true }, - { 89442, true }, - { 89456, true }, + { 89393, true }, + { 89405, true }, + { 89412, true }, + { 89435, true }, + { 89444, true }, + { 89459, true }, { 89466, true }, - { 89476, true }, - { 89489, true }, - { 89499, true }, - { 89511, true }, - { 89518, true }, - { 89541, true }, + { 89482, true }, + { 89488, true }, + { 89500, true }, + { 89510, true }, + { 89521, true }, + { 89531, true }, + { 89538, true }, { 89550, true }, - { 89565, true }, - { 89572, true }, - { 89588, true }, - { 89594, true }, - { 89606, true }, + { 89559, true }, + { 89568, true }, + { 89582, true }, + { 89600, true }, { 89616, true }, - { 89627, true }, - { 89637, true }, - { 89644, true }, - { 89656, true }, - { 89665, true }, + { 89638, true }, + { 89651, true }, + { 89660, true }, { 89674, true }, - { 89688, true }, - { 89706, true }, + { 89687, true }, + { 89699, true }, + { 89709, true }, { 89722, true }, - { 89744, true }, - { 89757, true }, - { 89766, true }, - { 89780, true }, - { 89793, true }, - { 89805, true }, - { 89815, true }, - { 89828, true }, - { 89837, true }, - { 89859, true }, - { 89882, true }, - { 89897, true }, - { 89912, true }, - { 89930, true }, - { 89940, true }, - { 89959, true }, - { 89978, true }, - { 89996, true }, - { 90016, true }, - { 90026, true }, - { 90037, true }, - { 90055, true }, - { 90067, true }, + { 89731, true }, + { 89753, true }, + { 89776, true }, + { 89791, true }, + { 89806, true }, + { 89824, true }, + { 89834, true }, + { 89853, true }, + { 89872, true }, + { 89890, true }, + { 89910, true }, + { 89920, true }, + { 89931, true }, + { 89949, true }, + { 89961, true }, + { 89972, true }, + { 89988, true }, + { 90005, true }, + { 90020, true }, + { 90036, true }, + { 90052, true }, + { 90061, true }, { 90078, true }, - { 90094, true }, - { 90111, true }, - { 90126, true }, - { 90142, true }, - { 90158, true }, - { 90167, true }, - { 90184, true }, - { 90196, true }, - { 90213, true }, - { 90231, true }, - { 90243, true }, - { 90260, true }, - { 90274, true }, - { 90283, true }, - { 90297, true }, - { 90312, true }, - { 90323, true }, - { 90338, true }, - { 90353, true }, - { 90368, true }, - { 90386, true }, - { 90399, true }, - { 90411, true }, - { 90428, true }, - { 90449, true }, - { 90473, true }, - { 90495, true }, - { 90507, true }, - { 90520, true }, - { 90535, true }, - { 90552, true }, - { 90568, true }, + { 90090, true }, + { 90107, true }, + { 90125, true }, + { 90137, true }, + { 90154, true }, + { 90168, true }, + { 90177, true }, + { 90191, true }, + { 90206, true }, + { 90217, true }, + { 90232, true }, + { 90247, true }, + { 90262, true }, + { 90280, true }, + { 90293, true }, + { 90305, true }, + { 90322, true }, + { 90343, true }, + { 90367, true }, + { 90389, true }, + { 90401, true }, + { 90414, true }, + { 90429, true }, + { 90446, true }, + { 90462, true }, + { 90476, true }, + { 90489, true }, + { 90509, true }, + { 90527, true }, + { 90548, true }, + { 90561, false }, { 90582, true }, - { 90595, true }, - { 90615, true }, - { 90633, true }, - { 90654, true }, - { 90667, false }, - { 90688, true }, - { 90706, true }, - { 90729, true }, - { 90745, true }, - { 90758, true }, - { 90773, true }, - { 90790, true }, - { 90804, true }, - { 90825, true }, - { 90836, true }, + { 90600, true }, + { 90623, true }, + { 90639, true }, + { 90652, true }, + { 90667, true }, + { 90684, true }, + { 90698, true }, + { 90719, true }, + { 90730, true }, + { 90755, true }, + { 90771, true }, + { 90788, true }, + { 90805, true }, + { 90817, false }, + { 90834, true }, + { 90848, true }, { 90861, true }, - { 90877, true }, - { 90894, true }, - { 90911, true }, - { 90923, false }, - { 90940, true }, - { 90954, true }, - { 90967, true }, - { 90982, true }, - { 90994, false }, - { 91005, true }, - { 91021, true }, - { 91037, true }, - { 91049, true }, - { 91065, true }, - { 91079, true }, - { 91092, true }, - { 91102, true }, - { 91121, true }, - { 91130, true }, - { 91137, true }, - { 91148, true }, - { 91157, true }, - { 91174, true }, - { 91186, true }, - { 91195, true }, - { 91206, true }, - { 91219, true }, - { 91231, true }, - { 91238, true }, - { 91253, true }, - { 91268, true }, - { 91275, false }, - { 91282, false }, - { 91291, true }, - { 91327, true }, - { 91339, true }, - { 91351, true }, - { 91362, true }, - { 91383, true }, - { 91409, true }, - { 91419, true }, - { 91428, true }, - { 91437, true }, - { 91444, true }, - { 91456, false }, - { 91468, false }, - { 91476, true }, - { 91488, true }, - { 91501, true }, - { 91515, false }, - { 91530, true }, - { 91544, true }, - { 91557, true }, - { 91569, true }, - { 91581, true }, - { 91592, true }, - { 91606, true }, - { 91626, true }, - { 91637, true }, - { 91647, true }, - { 91655, true }, - { 91668, true }, - { 91680, true }, - { 91691, true }, - { 91703, true }, - { 91720, true }, - { 91730, true }, - { 91740, false }, - { 91758, true }, - { 91776, true }, - { 91798, true }, - { 91820, true }, - { 91831, true }, - { 91846, true }, - { 91862, true }, - { 91873, true }, - { 91889, true }, - { 91913, true }, - { 91936, true }, - { 91954, true }, - { 91965, true }, - { 91986, true }, - { 92004, true }, - { 92017, true }, - { 92044, true }, - { 92064, true }, - { 92076, true }, - { 92094, true }, - { 92108, true }, - { 92124, true }, - { 92140, true }, - { 92154, true }, - { 92167, true }, + { 90876, true }, + { 90888, false }, + { 90899, true }, + { 90915, true }, + { 90931, true }, + { 90943, true }, + { 90959, true }, + { 90973, true }, + { 90986, true }, + { 90996, true }, + { 91015, true }, + { 91024, true }, + { 91031, true }, + { 91042, true }, + { 91051, true }, + { 91068, true }, + { 91080, true }, + { 91089, true }, + { 91100, true }, + { 91113, true }, + { 91125, true }, + { 91132, true }, + { 91147, true }, + { 91162, true }, + { 91169, false }, + { 91176, false }, + { 91185, true }, + { 91221, true }, + { 91233, true }, + { 91245, true }, + { 91256, true }, + { 91277, true }, + { 91303, true }, + { 91313, true }, + { 91322, true }, + { 91331, true }, + { 91338, true }, + { 91350, false }, + { 91362, false }, + { 91370, true }, + { 91382, true }, + { 91395, true }, + { 91409, false }, + { 91424, true }, + { 91438, true }, + { 91451, true }, + { 91463, true }, + { 91475, true }, + { 91486, true }, + { 91500, true }, + { 91520, true }, + { 91531, true }, + { 91541, true }, + { 91549, true }, + { 91562, true }, + { 91574, true }, + { 91585, true }, + { 91597, true }, + { 91614, true }, + { 91624, true }, + { 91634, false }, + { 91652, true }, + { 91670, true }, + { 91692, true }, + { 91714, true }, + { 91725, true }, + { 91740, true }, + { 91756, true }, + { 91767, true }, + { 91783, true }, + { 91807, true }, + { 91830, true }, + { 91848, true }, + { 91859, true }, + { 91880, true }, + { 91898, true }, + { 91911, true }, + { 91938, true }, + { 91958, true }, + { 91970, true }, + { 91988, true }, + { 92002, true }, + { 92018, true }, + { 92034, true }, + { 92048, true }, + { 92061, true }, + { 92075, true }, + { 92089, true }, + { 92113, true }, + { 92141, false }, + { 92152, true }, + { 92163, true }, { 92181, true }, - { 92195, true }, - { 92219, true }, - { 92247, false }, - { 92258, true }, - { 92269, true }, - { 92287, true }, - { 92305, true }, - { 92326, true }, - { 92347, true }, - { 92368, true }, - { 92382, true }, - { 92395, true }, - { 92417, true }, - { 92428, true }, - { 92447, true }, - { 92465, true }, - { 92475, true }, - { 92493, true }, - { 92512, true }, - { 92530, true }, - { 92551, true }, - { 92572, true }, - { 92592, true }, - { 92602, true }, - { 92624, true }, - { 92640, true }, - { 92661, true }, - { 92677, true }, - { 92688, true }, - { 92699, true }, - { 92709, true }, - { 92719, true }, - { 92736, true }, - { 92750, false }, - { 92763, true }, - { 92775, true }, - { 92786, true }, - { 92803, true }, - { 92813, true }, - { 92827, true }, - { 92846, true }, - { 92864, true }, - { 92884, true }, - { 92895, true }, + { 92199, true }, + { 92220, true }, + { 92241, true }, + { 92262, true }, + { 92276, true }, + { 92289, true }, + { 92311, true }, + { 92322, true }, + { 92341, true }, + { 92359, true }, + { 92369, true }, + { 92387, true }, + { 92406, true }, + { 92424, true }, + { 92445, true }, + { 92466, true }, + { 92486, true }, + { 92496, true }, + { 92518, true }, + { 92534, true }, + { 92555, true }, + { 92571, true }, + { 92582, true }, + { 92593, true }, + { 92603, true }, + { 92613, true }, + { 92630, true }, + { 92644, false }, + { 92657, true }, + { 92669, true }, + { 92680, true }, + { 92697, true }, + { 92707, true }, + { 92721, true }, + { 92740, true }, + { 92758, true }, + { 92778, true }, + { 92789, true }, + { 92802, true }, + { 92818, true }, + { 92831, true }, + { 92841, true }, + { 92856, true }, + { 92870, true }, + { 92882, true }, + { 92896, true }, { 92908, true }, - { 92924, true }, - { 92937, true }, - { 92947, true }, - { 92962, true }, - { 92976, true }, + { 92926, true }, + { 92941, true }, + { 92954, true }, + { 92971, true }, { 92988, true }, { 93002, true }, - { 93014, true }, - { 93032, true }, - { 93047, true }, - { 93060, true }, - { 93077, true }, - { 93094, true }, - { 93108, true }, - { 93121, true }, - { 93135, true }, - { 93147, true }, - { 93156, true }, - { 93175, true }, - { 93186, false }, - { 93197, true }, + { 93015, true }, + { 93029, true }, + { 93041, true }, + { 93050, true }, + { 93069, true }, + { 93080, false }, + { 93091, true }, + { 93101, true }, + { 93112, true }, + { 93126, true }, + { 93136, true }, + { 93153, true }, + { 93162, true }, + { 93176, true }, + { 93184, true }, + { 93191, true }, + { 93198, true }, { 93207, true }, - { 93218, true }, - { 93232, true }, - { 93242, true }, - { 93259, true }, - { 93268, true }, - { 93282, true }, - { 93290, true }, - { 93297, true }, - { 93304, true }, - { 93313, true }, - { 93332, true }, + { 93226, true }, + { 93241, true }, + { 93254, true }, + { 93275, true }, + { 93295, true }, + { 93314, true }, + { 93331, true }, { 93347, true }, - { 93360, true }, - { 93381, true }, - { 93401, true }, - { 93420, true }, - { 93437, true }, - { 93453, true }, - { 93473, true }, - { 93483, true }, - { 93502, true }, - { 93523, true }, - { 93540, true }, - { 93553, true }, - { 93566, true }, - { 93580, true }, - { 93590, true }, - { 93605, true }, - { 93617, true }, - { 93633, false }, - { 93647, false }, - { 93660, false }, - { 93667, true }, + { 93367, true }, + { 93377, true }, + { 93396, true }, + { 93417, true }, + { 93434, true }, + { 93447, true }, + { 93460, true }, + { 93474, true }, + { 93484, true }, + { 93499, true }, + { 93511, true }, + { 93527, false }, + { 93541, false }, + { 93554, false }, + { 93561, true }, + { 93569, true }, + { 93581, true }, + { 93591, true }, + { 93606, true }, + { 93619, true }, + { 93634, true }, + { 93656, true }, { 93675, true }, { 93687, true }, - { 93697, true }, - { 93712, true }, - { 93727, true }, - { 93749, true }, - { 93768, true }, - { 93780, true }, - { 93792, true }, - { 93803, true }, - { 93818, true }, - { 93834, true }, + { 93699, true }, + { 93710, true }, + { 93725, true }, + { 93741, true }, + { 93759, true }, + { 93777, true }, + { 93785, true }, + { 93805, true }, + { 93819, true }, + { 93829, true }, + { 93839, true }, { 93852, true }, + { 93859, true }, { 93870, true }, - { 93878, true }, - { 93898, true }, - { 93912, true }, - { 93922, true }, - { 93932, true }, - { 93945, true }, - { 93952, true }, - { 93963, true }, - { 93972, true }, - { 93984, false }, - { 94004, false }, - { 94020, true }, - { 94031, true }, - { 94046, true }, - { 94059, true }, + { 93879, true }, + { 93891, false }, + { 93911, false }, + { 93927, true }, + { 93938, true }, + { 93953, true }, + { 93966, true }, + { 93979, true }, + { 93991, true }, + { 94004, true }, + { 94021, false }, + { 94032, false }, + { 94042, true }, + { 94057, true }, { 94072, true }, - { 94084, true }, - { 94097, true }, - { 94114, false }, - { 94125, false }, - { 94135, true }, - { 94150, true }, - { 94165, true }, - { 94181, true }, - { 94200, true }, - { 94214, true }, - { 94231, true }, - { 94257, true }, - { 94270, true }, - { 94285, true }, - { 94300, true }, - { 94315, true }, - { 94329, true }, - { 94348, true }, - { 94365, true }, - { 94381, true }, - { 94402, true }, - { 94419, true }, + { 94088, true }, + { 94107, true }, + { 94121, true }, + { 94138, true }, + { 94164, true }, + { 94177, true }, + { 94192, true }, + { 94207, true }, + { 94222, true }, + { 94236, true }, + { 94255, true }, + { 94272, true }, + { 94288, true }, + { 94309, true }, + { 94326, true }, + { 94360, true }, + { 94384, true }, + { 94413, true }, + { 94437, true }, { 94453, true }, - { 94477, true }, - { 94506, true }, - { 94530, true }, - { 94546, true }, - { 94571, true }, - { 94583, true }, - { 94597, true }, - { 94615, true }, - { 94624, true }, - { 94644, false }, - { 94654, true }, - { 94666, true }, - { 94681, true }, - { 94689, true }, - { 94698, true }, - { 94706, true }, - { 94720, true }, - { 94728, true }, - { 94744, true }, - { 94766, true }, - { 94778, true }, - { 94790, true }, - { 94801, true }, - { 94811, true }, - { 94821, false }, - { 94833, true }, - { 94849, true }, - { 94865, true }, - { 94879, true }, - { 94895, true }, - { 94907, true }, - { 94922, true }, - { 94936, true }, - { 94947, true }, - { 94962, true }, - { 94980, true }, - { 94995, true }, - { 95006, false }, - { 95018, true }, - { 95032, true }, - { 95043, true }, - { 95054, true }, - { 95065, true }, - { 95075, true }, - { 95092, true }, - { 95109, true }, - { 95127, true }, - { 95137, true }, - { 95160, true }, - { 95174, true }, + { 94478, true }, + { 94490, true }, + { 94504, true }, + { 94522, true }, + { 94531, true }, + { 94551, false }, + { 94561, true }, + { 94573, true }, + { 94588, true }, + { 94596, true }, + { 94605, true }, + { 94613, true }, + { 94627, true }, + { 94635, true }, + { 94651, true }, + { 94673, true }, + { 94685, true }, + { 94697, true }, + { 94708, true }, + { 94718, true }, + { 94728, false }, + { 94740, true }, + { 94756, true }, + { 94772, true }, + { 94786, true }, + { 94802, true }, + { 94814, true }, + { 94829, true }, + { 94843, true }, + { 94854, true }, + { 94869, true }, + { 94887, true }, + { 94902, true }, + { 94913, false }, + { 94925, true }, + { 94939, true }, + { 94950, true }, + { 94961, true }, + { 94972, true }, + { 94982, true }, + { 94999, true }, + { 95016, true }, + { 95034, true }, + { 95044, true }, + { 95067, true }, + { 95081, true }, + { 95097, true }, + { 95110, true }, + { 95129, true }, + { 95142, true }, + { 95159, true }, + { 95177, false }, { 95190, true }, - { 95203, true }, - { 95222, true }, + { 95211, true }, + { 95225, true }, { 95235, true }, - { 95252, true }, - { 95270, false }, - { 95283, true }, - { 95304, true }, - { 95318, true }, - { 95328, true }, - { 95339, true }, - { 95346, false }, - { 95355, true }, - { 95371, true }, - { 95387, true }, - { 95394, true }, - { 95415, true }, - { 95425, false }, - { 95440, true }, - { 95455, true }, + { 95246, true }, + { 95253, false }, + { 95262, true }, + { 95278, true }, + { 95294, true }, + { 95301, true }, + { 95322, true }, + { 95332, false }, + { 95347, true }, + { 95362, true }, + { 95379, true }, + { 95389, true }, + { 95408, true }, + { 95423, true }, + { 95432, true }, + { 95441, true }, + { 95453, true }, { 95472, true }, - { 95482, true }, - { 95501, true }, - { 95516, true }, - { 95525, true }, - { 95534, true }, - { 95546, true }, - { 95565, true }, - { 95583, true }, - { 95593, true }, - { 95603, true }, - { 95616, true }, - { 95624, true }, - { 95635, true }, - { 95650, true }, - { 95661, true }, - { 95677, true }, - { 95690, true }, - { 95700, true }, - { 95719, true }, - { 95735, true }, - { 95757, true }, - { 95769, true }, - { 95782, false }, - { 95796, true }, + { 95490, true }, + { 95500, true }, + { 95510, true }, + { 95523, true }, + { 95531, true }, + { 95542, true }, + { 95557, true }, + { 95568, true }, + { 95584, true }, + { 95597, true }, + { 95607, true }, + { 95626, true }, + { 95642, true }, + { 95664, true }, + { 95676, true }, + { 95689, false }, + { 95703, true }, + { 95718, true }, + { 95732, true }, + { 95747, true }, + { 95763, true }, + { 95775, true }, + { 95786, false }, + { 95799, true }, { 95811, true }, - { 95825, true }, - { 95840, true }, - { 95856, true }, - { 95868, true }, - { 95879, false }, - { 95892, true }, - { 95904, true }, - { 95914, true }, - { 95931, true }, - { 95944, true }, + { 95821, true }, + { 95838, true }, + { 95851, true }, + { 95870, true }, + { 95886, true }, + { 95898, false }, + { 95908, true }, + { 95924, true }, + { 95935, true }, + { 95955, false }, { 95963, true }, - { 95979, true }, - { 95991, false }, - { 96001, true }, - { 96017, true }, - { 96028, true }, - { 96048, false }, - { 96056, true }, - { 96068, true }, - { 96079, true }, - { 96091, true }, - { 96110, false }, - { 96130, true }, - { 96139, true }, - { 96150, true }, - { 96181, true }, - { 96195, true }, + { 95975, true }, + { 95986, true }, + { 95998, true }, + { 96017, false }, + { 96037, true }, + { 96046, true }, + { 96057, true }, + { 96088, true }, + { 96102, true }, + { 96116, true }, + { 96136, true }, + { 96155, true }, + { 96169, true }, + { 96193, true }, { 96209, true }, - { 96229, true }, - { 96248, true }, - { 96262, true }, - { 96286, true }, - { 96302, true }, - { 96317, true }, - { 96331, true }, - { 96345, true }, - { 96353, true }, - { 96366, true }, - { 96377, true }, - { 96389, true }, + { 96224, true }, + { 96238, true }, + { 96252, true }, + { 96260, true }, + { 96273, true }, + { 96284, true }, + { 96296, true }, + { 96308, true }, + { 96324, true }, + { 96335, true }, + { 96350, true }, + { 96360, true }, + { 96385, true }, { 96401, true }, { 96417, true }, - { 96428, true }, - { 96443, true }, - { 96453, true }, - { 96478, true }, - { 96494, true }, - { 96510, true }, - { 96532, true }, - { 96548, true }, - { 96567, true }, - { 96591, true }, - { 96607, true }, - { 96623, true }, - { 96633, true }, - { 96645, true }, - { 96662, true }, - { 96680, true }, - { 96692, true }, - { 96706, true }, - { 96721, true }, - { 96741, true }, - { 96761, true }, - { 96781, true }, - { 96802, false }, - { 96818, true }, - { 96836, true }, - { 96851, true }, - { 96867, true }, - { 96882, true }, - { 96894, true }, - { 96913, false }, - { 96921, true }, - { 96935, true }, - { 96952, true }, - { 96966, true }, - { 96980, true }, - { 96992, true }, - { 97006, true }, - { 97019, true }, - { 97037, true }, - { 97051, true }, - { 97067, true }, - { 97087, true }, - { 97118, true }, - { 97149, true }, - { 97171, true }, - { 97189, true }, - { 97203, true }, - { 97225, true }, - { 97240, true }, - { 97259, true }, - { 97269, true }, - { 97284, true }, - { 97299, true }, - { 97314, true }, - { 97331, true }, - { 97344, true }, - { 97359, true }, - { 97372, true }, - { 97385, true }, - { 97395, true }, - { 97418, true }, + { 96439, true }, + { 96455, true }, + { 96474, true }, + { 96498, true }, + { 96514, true }, + { 96530, true }, + { 96540, true }, + { 96552, true }, + { 96569, true }, + { 96587, true }, + { 96599, true }, + { 96613, true }, + { 96628, true }, + { 96648, true }, + { 96668, true }, + { 96688, true }, + { 96709, false }, + { 96725, true }, + { 96743, true }, + { 96758, true }, + { 96774, true }, + { 96789, true }, + { 96801, true }, + { 96820, false }, + { 96828, true }, + { 96842, true }, + { 96859, true }, + { 96873, true }, + { 96887, true }, + { 96899, true }, + { 96913, true }, + { 96926, true }, + { 96944, true }, + { 96958, true }, + { 96974, true }, + { 96994, true }, + { 97025, true }, + { 97056, true }, + { 97078, true }, + { 97096, true }, + { 97110, true }, + { 97132, true }, + { 97147, true }, + { 97166, true }, + { 97176, true }, + { 97191, true }, + { 97206, true }, + { 97221, true }, + { 97238, true }, + { 97251, true }, + { 97266, true }, + { 97279, true }, + { 97292, true }, + { 97302, true }, + { 97325, true }, + { 97336, true }, + { 97347, true }, + { 97364, true }, + { 97381, true }, + { 97396, true }, + { 97403, true }, + { 97416, true }, { 97429, true }, - { 97440, true }, - { 97457, true }, - { 97474, true }, - { 97489, true }, - { 97496, true }, - { 97509, true }, - { 97522, true }, + { 97439, true }, + { 97456, true }, + { 97466, true }, + { 97476, true }, + { 97485, true }, + { 97495, true }, + { 97514, true }, { 97532, true }, - { 97549, true }, - { 97559, true }, - { 97569, true }, - { 97578, true }, - { 97588, true }, - { 97607, true }, - { 97625, true }, - { 97646, true }, - { 97666, true }, - { 97679, true }, - { 97696, true }, + { 97553, true }, + { 97573, true }, + { 97586, true }, + { 97603, true }, + { 97616, true }, + { 97638, true }, + { 97650, true }, + { 97660, true }, + { 97673, true }, + { 97695, true }, { 97709, true }, { 97731, true }, - { 97743, true }, - { 97753, true }, - { 97766, true }, - { 97788, true }, - { 97802, true }, - { 97824, true }, - { 97841, true }, - { 97855, true }, - { 97863, true }, - { 97875, true }, - { 97888, true }, + { 97748, true }, + { 97762, true }, + { 97770, true }, + { 97782, true }, + { 97795, true }, + { 97810, true }, + { 97829, true }, + { 97839, true }, + { 97850, true }, + { 97862, true }, + { 97883, true }, + { 97894, true }, { 97903, true }, - { 97922, true }, - { 97932, true }, - { 97943, true }, - { 97955, true }, - { 97976, true }, - { 97987, true }, - { 97996, true }, - { 98006, true }, - { 98026, true }, - { 98043, true }, - { 98062, true }, - { 98084, true }, + { 97913, true }, + { 97933, true }, + { 97950, true }, + { 97969, true }, + { 97991, true }, + { 98003, true }, + { 98021, true }, + { 98034, true }, + { 98045, true }, + { 98060, true }, + { 98073, true }, { 98096, true }, - { 98114, true }, - { 98127, true }, - { 98138, true }, - { 98153, true }, - { 98166, true }, - { 98189, true }, - { 98203, true }, - { 98213, true }, - { 98227, true }, + { 98110, true }, + { 98120, true }, + { 98134, true }, + { 98150, true }, + { 98165, true }, + { 98177, true }, + { 98187, true }, + { 98195, true }, + { 98211, true }, + { 98229, true }, { 98243, true }, - { 98258, true }, + { 98251, true }, + { 98259, true }, { 98270, true }, - { 98280, true }, - { 98288, true }, - { 98304, true }, - { 98322, true }, - { 98336, true }, - { 98344, true }, - { 98352, true }, - { 98363, true }, - { 98377, true }, - { 98389, true }, - { 98401, true }, - { 98414, true }, - { 98424, true }, - { 98435, false }, - { 98451, true }, - { 98464, true }, - { 98479, true }, + { 98284, true }, + { 98296, true }, + { 98308, true }, + { 98321, true }, + { 98331, true }, + { 98342, false }, + { 98358, true }, + { 98371, true }, + { 98386, true }, + { 98397, true }, + { 98413, true }, + { 98431, true }, + { 98448, true }, + { 98469, true }, + { 98481, true }, { 98490, true }, - { 98506, true }, - { 98524, true }, - { 98541, true }, - { 98562, true }, - { 98574, true }, - { 98583, true }, - { 98596, false }, - { 98614, true }, - { 98622, true }, - { 98633, true }, - { 98645, true }, - { 98655, false }, - { 98673, true }, - { 98691, true }, - { 98710, true }, - { 98729, true }, - { 98760, true }, - { 98774, true }, - { 98794, false }, - { 98814, false }, - { 98826, true }, - { 98839, true }, - { 98858, true }, - { 98872, true }, - { 98884, true }, - { 98897, true }, - { 98912, true }, - { 98926, true }, - { 98936, true }, - { 98946, true }, - { 98956, true }, - { 98968, true }, - { 98983, true }, + { 98503, false }, + { 98521, true }, + { 98529, true }, + { 98540, true }, + { 98552, true }, + { 98562, false }, + { 98580, true }, + { 98598, true }, + { 98617, true }, + { 98636, true }, + { 98667, true }, + { 98681, true }, + { 98701, false }, + { 98721, false }, + { 98733, true }, + { 98746, true }, + { 98765, true }, + { 98779, true }, + { 98791, true }, + { 98804, true }, + { 98819, true }, + { 98833, true }, + { 98843, true }, + { 98853, true }, + { 98863, true }, + { 98875, true }, + { 98890, true }, + { 98905, true }, + { 98914, true }, + { 98922, true }, + { 98935, true }, + { 98943, true }, + { 98953, true }, + { 98963, true }, + { 98990, true }, { 98998, true }, - { 99007, true }, { 99015, true }, - { 99028, true }, - { 99036, true }, - { 99046, true }, - { 99056, true }, - { 99083, true }, - { 99091, true }, - { 99108, true }, - { 99120, true }, - { 99137, true }, - { 99158, true }, - { 99173, true }, - { 99187, true }, - { 99197, true }, - { 99205, true }, - { 99214, true }, - { 99223, true }, - { 99240, true }, - { 99252, true }, - { 99260, true }, - { 99278, true }, + { 99027, true }, + { 99044, true }, + { 99065, true }, + { 99080, true }, + { 99094, true }, + { 99104, true }, + { 99112, true }, + { 99121, true }, + { 99130, true }, + { 99147, true }, + { 99159, true }, + { 99167, true }, + { 99185, true }, + { 99206, true }, + { 99225, true }, + { 99239, true }, + { 99251, true }, + { 99269, true }, + { 99281, true }, + { 99292, true }, { 99299, true }, - { 99318, true }, - { 99332, true }, - { 99344, true }, - { 99362, true }, - { 99374, true }, + { 99311, true }, + { 99320, true }, + { 99329, true }, + { 99345, true }, + { 99352, true }, + { 99360, true }, + { 99374, false }, { 99385, true }, - { 99392, true }, - { 99404, true }, - { 99413, true }, - { 99422, true }, - { 99438, true }, - { 99445, true }, - { 99453, true }, + { 99396, true }, + { 99411, true }, + { 99421, true }, + { 99434, true }, + { 99446, true }, + { 99457, true }, { 99467, false }, - { 99478, true }, - { 99489, true }, - { 99504, true }, - { 99514, true }, - { 99527, true }, - { 99539, true }, - { 99550, true }, - { 99560, false }, - { 99570, true }, - { 99584, true }, - { 99598, true }, - { 99618, true }, - { 99633, true }, + { 99477, true }, + { 99491, true }, + { 99505, true }, + { 99525, true }, + { 99540, true }, + { 99551, true }, + { 99564, true }, + { 99576, true }, + { 99589, true }, + { 99616, true }, + { 99630, true }, { 99644, true }, - { 99657, true }, - { 99669, true }, - { 99682, true }, - { 99709, true }, - { 99723, true }, - { 99737, true }, - { 99754, true }, - { 99774, true }, - { 99789, true }, - { 99799, true }, - { 99812, true }, - { 99829, true }, - { 99842, true }, - { 99852, true }, - { 99879, true }, - { 99889, true }, + { 99661, true }, + { 99681, true }, + { 99696, true }, + { 99706, true }, + { 99719, true }, + { 99736, true }, + { 99749, true }, + { 99759, true }, + { 99786, true }, + { 99796, true }, + { 99806, true }, + { 99819, true }, + { 99828, true }, + { 99835, true }, + { 99851, true }, + { 99863, true }, + { 99874, true }, + { 99885, true }, { 99899, true }, - { 99908, true }, - { 99915, true }, - { 99931, true }, - { 99943, true }, - { 99954, true }, - { 99965, true }, - { 99979, true }, - { 99990, true }, - { 100000, true }, - { 100021, true }, + { 99910, true }, + { 99920, true }, + { 99941, true }, + { 99951, true }, + { 99962, true }, + { 99982, true }, + { 99994, true }, + { 100017, true }, { 100031, true }, - { 100042, true }, - { 100062, true }, - { 100074, true }, - { 100097, true }, - { 100111, true }, - { 100130, true }, - { 100147, true }, - { 100155, true }, - { 100183, true }, + { 100050, true }, + { 100067, true }, + { 100075, true }, + { 100103, true }, + { 100114, true }, + { 100125, true }, + { 100143, true }, + { 100153, true }, + { 100162, true }, + { 100178, true }, { 100194, true }, - { 100205, true }, - { 100223, true }, - { 100233, true }, - { 100242, true }, - { 100258, true }, - { 100274, true }, - { 100283, true }, - { 100301, true }, - { 100333, true }, - { 100352, true }, - { 100372, true }, - { 100393, true }, - { 100410, true }, - { 100424, true }, - { 100444, true }, - { 100456, true }, - { 100477, true }, - { 100491, true }, - { 100510, true }, - { 100528, true }, - { 100539, true }, + { 100203, true }, + { 100221, true }, + { 100253, true }, + { 100272, true }, + { 100292, true }, + { 100313, true }, + { 100330, true }, + { 100344, true }, + { 100364, true }, + { 100376, true }, + { 100397, true }, + { 100411, true }, + { 100430, true }, + { 100448, true }, + { 100459, true }, + { 100467, true }, + { 100476, true }, + { 100488, true }, + { 100502, true }, + { 100514, true }, + { 100527, true }, + { 100536, true }, { 100547, true }, - { 100556, true }, - { 100568, true }, - { 100582, true }, - { 100594, true }, + { 100559, true }, + { 100569, true }, + { 100592, false }, { 100607, true }, - { 100616, true }, - { 100627, true }, - { 100639, true }, - { 100649, true }, - { 100672, false }, + { 100622, true }, + { 100641, true }, + { 100659, true }, + { 100673, true }, { 100687, true }, - { 100702, true }, - { 100721, true }, - { 100739, true }, - { 100753, true }, - { 100767, true }, - { 100777, true }, - { 100790, true }, - { 100803, true }, - { 100818, true }, - { 100830, true }, - { 100844, true }, - { 100860, true }, - { 100875, true }, - { 100884, true }, - { 100900, true }, - { 100918, true }, - { 100929, true }, - { 100956, true }, - { 100971, true }, - { 100984, true }, - { 101000, true }, - { 101017, false }, + { 100697, true }, + { 100710, true }, + { 100723, true }, + { 100738, true }, + { 100750, true }, + { 100764, true }, + { 100780, true }, + { 100795, true }, + { 100804, true }, + { 100820, true }, + { 100838, true }, + { 100849, true }, + { 100876, true }, + { 100891, true }, + { 100904, true }, + { 100920, true }, + { 100937, false }, + { 100954, true }, + { 100976, true }, + { 100998, true }, + { 101020, true }, { 101034, true }, - { 101056, true }, - { 101078, true }, - { 101100, true }, - { 101114, true }, - { 101126, true }, - { 101140, true }, - { 101151, true }, + { 101046, true }, + { 101060, true }, + { 101071, true }, + { 101086, true }, + { 101099, true }, + { 101108, true }, + { 101124, true }, + { 101141, true }, + { 101152, true }, { 101166, true }, { 101179, true }, - { 101188, true }, - { 101204, true }, - { 101221, true }, - { 101232, true }, - { 101246, true }, - { 101259, true }, - { 101273, true }, - { 101287, true }, - { 101299, true }, - { 101311, true }, - { 101324, true }, - { 101337, true }, - { 101347, true }, + { 101193, true }, + { 101207, true }, + { 101219, true }, + { 101231, true }, + { 101244, true }, + { 101257, true }, + { 101267, true }, + { 101281, false }, + { 101293, true }, + { 101306, true }, + { 101328, true }, + { 101350, true }, { 101361, false }, - { 101373, true }, - { 101386, true }, - { 101408, true }, - { 101430, true }, - { 101441, false }, - { 101456, true }, - { 101467, false }, - { 101487, true }, - { 101507, true }, - { 101524, true }, - { 101543, true }, - { 101561, true }, - { 101580, true }, - { 101601, true }, - { 101626, true }, - { 101638, true }, - { 101657, true }, - { 101672, true }, - { 101692, false }, - { 101700, true }, - { 101712, true }, - { 101730, true }, - { 101747, true }, - { 101759, true }, - { 101773, true }, - { 101783, true }, - { 101796, true }, - { 101814, true }, - { 101821, true }, - { 101835, true }, - { 101842, true }, - { 101849, true }, - { 101861, true }, - { 101872, true }, - { 101885, true }, - { 101899, true }, - { 101916, true }, - { 101930, true }, - { 101946, true }, - { 101957, true }, - { 101964, true }, - { 101977, true }, + { 101376, true }, + { 101387, false }, + { 101407, true }, + { 101427, true }, + { 101444, true }, + { 101463, true }, + { 101481, true }, + { 101500, true }, + { 101512, true }, + { 101533, true }, + { 101558, true }, + { 101570, true }, + { 101589, true }, + { 101604, true }, + { 101624, false }, + { 101632, true }, + { 101644, true }, + { 101662, true }, + { 101679, true }, + { 101691, true }, + { 101705, true }, + { 101715, true }, + { 101728, true }, + { 101746, true }, + { 101753, true }, + { 101767, true }, + { 101774, true }, + { 101781, true }, + { 101793, true }, + { 101804, true }, + { 101817, true }, + { 101831, true }, + { 101848, true }, + { 101862, true }, + { 101878, true }, + { 101889, true }, + { 101896, true }, + { 101909, true }, + { 101922, true }, + { 101931, true }, + { 101945, true }, + { 101959, true }, + { 101975, false }, { 101990, true }, - { 101999, true }, - { 102013, true }, - { 102027, true }, - { 102043, false }, - { 102058, true }, - { 102086, true }, - { 102101, true }, - { 102122, true }, - { 102136, true }, - { 102150, true }, - { 102171, true }, - { 102187, true }, - { 102202, true }, - { 102214, true }, - { 102224, true }, - { 102235, true }, - { 102245, true }, - { 102258, true }, - { 102268, true }, - { 102281, true }, - { 102301, true }, + { 102018, true }, + { 102033, true }, + { 102054, true }, + { 102068, true }, + { 102082, true }, + { 102103, true }, + { 102119, true }, + { 102134, true }, + { 102146, true }, + { 102156, true }, + { 102167, true }, + { 102177, true }, + { 102190, true }, + { 102200, true }, + { 102213, true }, + { 102233, true }, + { 102252, true }, + { 102271, true }, + { 102291, true }, + { 102309, true }, { 102320, true }, - { 102339, true }, - { 102359, true }, - { 102377, true }, - { 102388, true }, - { 102405, true }, - { 102417, true }, - { 102429, true }, - { 102454, true }, - { 102465, true }, - { 102480, true }, - { 102498, true }, - { 102510, true }, - { 102525, true }, - { 102551, true }, - { 102562, true }, - { 102573, true }, - { 102584, true }, - { 102596, true }, + { 102337, true }, + { 102349, true }, + { 102361, true }, + { 102386, true }, + { 102397, true }, + { 102412, true }, + { 102430, true }, + { 102442, true }, + { 102457, true }, + { 102483, true }, + { 102494, true }, + { 102505, true }, + { 102516, true }, + { 102528, true }, + { 102539, true }, + { 102549, true }, + { 102563, true }, + { 102576, true }, + { 102585, true }, + { 102594, true }, { 102607, true }, - { 102617, true }, - { 102631, true }, - { 102644, true }, - { 102653, true }, - { 102662, true }, - { 102675, true }, + { 102614, false }, + { 102622, true }, + { 102630, true }, + { 102643, true }, + { 102654, true }, + { 102668, true }, { 102682, false }, - { 102690, true }, - { 102698, true }, - { 102711, true }, - { 102722, true }, - { 102736, true }, - { 102750, false }, - { 102762, true }, - { 102776, true }, - { 102800, true }, + { 102694, true }, + { 102708, true }, + { 102732, true }, + { 102747, true }, + { 102760, true }, + { 102774, true }, + { 102792, true }, + { 102807, true }, { 102815, true }, - { 102828, true }, - { 102842, true }, - { 102860, true }, - { 102875, true }, - { 102883, true }, - { 102900, true }, - { 102925, true }, - { 102945, true }, - { 102969, true }, - { 102981, true }, + { 102832, true }, + { 102857, true }, + { 102877, true }, + { 102901, true }, + { 102913, true }, + { 102924, true }, + { 102937, true }, + { 102953, true }, + { 102967, true }, + { 102976, true }, { 102992, true }, - { 103005, true }, - { 103021, true }, - { 103035, true }, - { 103044, true }, - { 103060, true }, - { 103078, true }, - { 103093, true }, - { 103113, true }, - { 103126, true }, + { 103010, true }, + { 103025, true }, + { 103045, true }, + { 103058, true }, + { 103074, true }, + { 103088, true }, + { 103104, true }, + { 103124, true }, { 103142, true }, - { 103156, true }, - { 103172, true }, - { 103192, true }, - { 103210, true }, - { 103229, true }, - { 103246, true }, - { 103257, true }, - { 103273, true }, - { 103283, true }, - { 103312, true }, - { 103332, true }, - { 103349, true }, - { 103366, true }, - { 103382, true }, - { 103391, true }, - { 103404, true }, - { 103416, false }, - { 103430, true }, - { 103447, true }, - { 103464, true }, - { 103497, true }, - { 103517, true }, - { 103529, true }, - { 103543, true }, + { 103161, true }, + { 103178, true }, + { 103189, true }, + { 103205, true }, + { 103215, true }, + { 103244, true }, + { 103264, true }, + { 103281, true }, + { 103298, true }, + { 103314, true }, + { 103323, true }, + { 103336, true }, + { 103348, false }, + { 103362, true }, + { 103379, true }, + { 103396, true }, + { 103429, true }, + { 103449, true }, + { 103461, true }, + { 103475, true }, + { 103488, true }, + { 103501, true }, + { 103516, true }, + { 103527, true }, + { 103544, true }, { 103556, true }, - { 103569, true }, - { 103584, true }, - { 103595, true }, - { 103612, true }, - { 103624, true }, - { 103636, true }, - { 103648, true }, - { 103657, true }, + { 103568, true }, + { 103580, true }, + { 103589, true }, + { 103601, true }, + { 103618, true }, + { 103632, true }, + { 103653, true }, { 103669, true }, - { 103686, true }, - { 103700, true }, - { 103721, true }, + { 103684, true }, + { 103698, true }, + { 103716, true }, { 103737, true }, - { 103752, true }, - { 103766, true }, - { 103784, true }, - { 103805, true }, - { 103819, true }, - { 103833, true }, - { 103844, true }, - { 103855, true }, - { 103871, true }, - { 103883, true }, - { 103894, true }, - { 103908, true }, - { 103917, true }, - { 103926, true }, - { 103941, true }, - { 103950, true }, - { 103963, true }, - { 103971, true }, - { 103982, true }, - { 103993, true }, - { 104007, true }, - { 104022, true }, - { 104036, true }, - { 104046, true }, - { 104057, true }, - { 104067, true }, - { 104077, true }, + { 103751, true }, + { 103765, true }, + { 103776, true }, + { 103787, true }, + { 103803, true }, + { 103815, true }, + { 103826, true }, + { 103840, true }, + { 103849, true }, + { 103858, true }, + { 103873, true }, + { 103882, true }, + { 103895, true }, + { 103903, true }, + { 103914, true }, + { 103925, true }, + { 103939, true }, + { 103954, true }, + { 103968, true }, + { 103978, true }, + { 103989, true }, + { 103999, true }, + { 104009, true }, + { 104017, true }, + { 104026, true }, + { 104038, true }, + { 104047, true }, + { 104070, true }, { 104085, true }, - { 104094, true }, - { 104106, true }, - { 104115, true }, - { 104138, true }, - { 104153, true }, - { 104169, true }, - { 104184, true }, - { 104192, true }, - { 104202, true }, - { 104214, true }, - { 104226, true }, - { 104241, true }, - { 104254, true }, - { 104278, true }, - { 104288, false }, - { 104297, false }, - { 104306, false }, - { 104315, true }, - { 104332, true }, - { 104347, true }, - { 104366, true }, - { 104389, true }, - { 104404, true }, - { 104423, true }, - { 104433, true }, - { 104448, true }, - { 104462, true }, - { 104477, true }, - { 104496, true }, - { 104509, true }, - { 104525, true }, - { 104542, true }, - { 104558, true }, - { 104573, true }, + { 104101, true }, + { 104116, true }, + { 104124, true }, + { 104134, true }, + { 104146, true }, + { 104158, true }, + { 104173, true }, + { 104186, true }, + { 104210, true }, + { 104220, false }, + { 104229, false }, + { 104238, false }, + { 104247, true }, + { 104264, true }, + { 104279, true }, + { 104298, true }, + { 104321, true }, + { 104336, true }, + { 104355, true }, + { 104365, true }, + { 104380, true }, + { 104394, true }, + { 104409, true }, + { 104428, true }, + { 104441, true }, + { 104457, true }, + { 104474, true }, + { 104490, true }, + { 104505, true }, + { 104515, true }, + { 104531, true }, + { 104549, true }, + { 104568, true }, { 104583, true }, - { 104599, true }, - { 104617, true }, - { 104636, true }, - { 104651, true }, + { 104602, true }, + { 104613, true }, + { 104631, true }, + { 104645, true }, + { 104662, true }, { 104670, true }, - { 104681, true }, - { 104699, true }, - { 104713, true }, - { 104730, true }, - { 104738, true }, - { 104752, true }, - { 104766, true }, - { 104780, true }, - { 104797, false }, - { 104817, true }, + { 104684, true }, + { 104698, true }, + { 104712, true }, + { 104729, false }, + { 104749, true }, + { 104762, true }, + { 104774, true }, + { 104789, true }, + { 104807, true }, + { 104818, true }, { 104830, true }, - { 104842, true }, - { 104857, true }, - { 104875, true }, + { 104840, true }, + { 104850, true }, + { 104864, true }, + { 104873, true }, { 104886, true }, - { 104898, true }, - { 104908, true }, - { 104918, true }, - { 104932, true }, - { 104941, true }, - { 104954, true }, - { 104970, true }, - { 104985, true }, - { 105010, true }, - { 105036, true }, - { 105051, true }, - { 105063, true }, - { 105088, true }, - { 105095, true }, - { 105117, true }, - { 105132, true }, + { 104902, true }, + { 104917, true }, + { 104942, true }, + { 104968, true }, + { 104983, true }, + { 104995, true }, + { 105020, true }, + { 105027, true }, + { 105049, true }, + { 105064, true }, + { 105072, true }, + { 105080, true }, + { 105091, true }, + { 105107, true }, + { 105123, true }, { 105140, true }, - { 105148, true }, - { 105159, true }, - { 105175, true }, - { 105191, true }, - { 105208, true }, - { 105222, true }, - { 105236, true }, - { 105252, true }, - { 105279, true }, - { 105293, true }, - { 105302, true }, - { 105315, true }, - { 105327, true }, - { 105343, true }, - { 105366, true }, - { 105386, true }, - { 105405, true }, - { 105427, false }, - { 105438, true }, - { 105455, true }, - { 105469, true }, - { 105489, true }, - { 105514, true }, - { 105530, true }, - { 105542, true }, - { 105554, true }, - { 105576, true }, - { 105591, true }, - { 105606, true }, - { 105623, true }, - { 105638, true }, - { 105655, true }, - { 105670, true }, + { 105154, true }, + { 105168, true }, + { 105184, true }, + { 105211, true }, + { 105225, true }, + { 105234, true }, + { 105247, true }, + { 105259, true }, + { 105275, true }, + { 105298, true }, + { 105318, true }, + { 105337, true }, + { 105359, false }, + { 105370, true }, + { 105387, true }, + { 105401, true }, + { 105421, true }, + { 105446, true }, + { 105462, true }, + { 105474, true }, + { 105486, true }, + { 105508, true }, + { 105523, true }, + { 105538, true }, + { 105555, true }, + { 105570, true }, + { 105587, true }, + { 105602, true }, + { 105617, true }, + { 105629, true }, + { 105644, true }, + { 105658, false }, + { 105668, true }, { 105685, true }, - { 105697, true }, - { 105712, true }, - { 105726, false }, - { 105736, true }, - { 105753, true }, - { 105764, false }, - { 105779, true }, - { 105796, true }, - { 105810, true }, - { 105823, true }, - { 105836, true }, - { 105848, true }, - { 105860, true }, - { 105870, true }, - { 105882, true }, - { 105897, true }, - { 105909, true }, - { 105920, true }, - { 105940, true }, - { 105952, true }, - { 105963, true }, - { 105978, true }, + { 105696, false }, + { 105711, true }, + { 105728, true }, + { 105742, true }, + { 105755, true }, + { 105768, true }, + { 105780, true }, + { 105792, true }, + { 105802, true }, + { 105814, true }, + { 105829, true }, + { 105841, true }, + { 105852, true }, + { 105872, true }, + { 105884, true }, + { 105895, true }, + { 105910, true }, + { 105926, true }, + { 105937, true }, + { 105962, true }, + { 105971, true }, + { 105986, true }, { 105994, true }, - { 106005, true }, + { 106007, true }, { 106030, true }, - { 106039, true }, - { 106054, true }, - { 106062, true }, - { 106075, true }, - { 106098, true }, - { 106115, true }, - { 106126, true }, - { 106144, true }, - { 106162, true }, - { 106178, false }, - { 106190, true }, - { 106198, true }, - { 106208, true }, - { 106223, true }, - { 106237, true }, - { 106247, false }, - { 106265, true }, - { 106289, true }, - { 106304, true }, - { 106316, true }, - { 106344, true }, - { 106360, true }, - { 106374, true }, - { 106402, true }, - { 106416, true }, - { 106432, true }, - { 106449, true }, - { 106463, true }, - { 106480, true }, - { 106502, true }, - { 106512, true }, - { 106522, true }, - { 106540, true }, - { 106549, true }, - { 106563, true }, - { 106576, true }, - { 106595, true }, - { 106613, true }, - { 106632, true }, - { 106657, true }, - { 106673, true }, - { 106692, true }, - { 106713, true }, - { 106730, true }, - { 106744, true }, - { 106757, true }, - { 106786, true }, - { 106816, true }, - { 106828, true }, - { 106837, true }, - { 106850, true }, - { 106861, true }, + { 106047, true }, + { 106058, true }, + { 106076, true }, + { 106094, true }, + { 106110, false }, + { 106122, true }, + { 106130, true }, + { 106140, true }, + { 106155, true }, + { 106169, true }, + { 106179, false }, + { 106197, true }, + { 106221, true }, + { 106236, true }, + { 106248, true }, + { 106276, true }, + { 106292, true }, + { 106306, true }, + { 106334, true }, + { 106348, true }, + { 106364, true }, + { 106381, true }, + { 106395, true }, + { 106412, true }, + { 106434, true }, + { 106444, true }, + { 106454, true }, + { 106472, true }, + { 106481, true }, + { 106495, true }, + { 106508, true }, + { 106527, true }, + { 106545, true }, + { 106564, true }, + { 106589, true }, + { 106605, true }, + { 106624, true }, + { 106645, true }, + { 106662, true }, + { 106676, true }, + { 106689, true }, + { 106718, true }, + { 106748, true }, + { 106760, true }, + { 106769, true }, + { 106782, true }, + { 106793, true }, + { 106815, true }, + { 106826, true }, + { 106844, true }, + { 106854, true }, { 106883, true }, - { 106894, true }, + { 106896, true }, { 106912, true }, - { 106922, true }, - { 106951, true }, - { 106964, true }, - { 106980, true }, - { 106997, true }, - { 107020, true }, - { 107036, true }, - { 107059, true }, - { 107085, true }, - { 107099, true }, - { 107113, true }, - { 107132, true }, - { 107146, false }, - { 107156, true }, - { 107168, true }, - { 107184, true }, - { 107192, true }, - { 107211, true }, - { 107223, false }, - { 107234, true }, - { 107242, true }, - { 107258, true }, - { 107272, true }, - { 107284, true }, - { 107297, true }, - { 107306, true }, - { 107320, true }, + { 106929, true }, + { 106952, true }, + { 106968, true }, + { 106991, true }, + { 107017, true }, + { 107031, true }, + { 107045, true }, + { 107064, true }, + { 107078, false }, + { 107088, true }, + { 107100, true }, + { 107116, true }, + { 107124, true }, + { 107143, true }, + { 107155, false }, + { 107166, true }, + { 107174, true }, + { 107190, true }, + { 107204, true }, + { 107216, true }, + { 107229, true }, + { 107238, true }, + { 107252, true }, + { 107271, true }, + { 107280, true }, + { 107291, true }, + { 107303, true }, + { 107316, true }, + { 107326, true }, { 107339, true }, - { 107348, true }, - { 107359, true }, - { 107371, true }, - { 107384, true }, - { 107394, true }, - { 107407, true }, - { 107419, true }, - { 107435, true }, - { 107443, false }, - { 107451, true }, - { 107473, true }, - { 107485, true }, - { 107493, true }, - { 107514, true }, - { 107538, true }, - { 107554, true }, - { 107570, true }, - { 107580, true }, - { 107597, true }, - { 107607, true }, - { 107619, true }, - { 107629, true }, - { 107644, true }, + { 107351, true }, + { 107367, true }, + { 107375, false }, + { 107383, true }, + { 107405, true }, + { 107417, true }, + { 107425, true }, + { 107446, true }, + { 107470, true }, + { 107486, true }, + { 107502, true }, + { 107512, true }, + { 107526, true }, + { 107543, true }, + { 107553, true }, + { 107565, true }, + { 107575, true }, + { 107590, true }, + { 107602, true }, + { 107612, true }, + { 107622, true }, + { 107631, true }, + { 107641, true }, { 107656, true }, - { 107666, true }, - { 107676, true }, - { 107685, true }, - { 107695, true }, - { 107710, true }, - { 107722, true }, - { 107745, true }, - { 107758, true }, + { 107668, true }, + { 107691, true }, + { 107704, true }, + { 107717, true }, + { 107731, true }, + { 107746, true }, + { 107759, true }, { 107771, true }, - { 107785, true }, - { 107800, true }, - { 107813, true }, - { 107825, true }, - { 107834, true }, - { 107852, true }, - { 107865, true }, - { 107880, true }, - { 107895, true }, - { 107915, true }, - { 107929, true }, - { 107952, true }, - { 107964, true }, - { 107979, true }, + { 107780, true }, + { 107798, true }, + { 107811, true }, + { 107826, true }, + { 107841, true }, + { 107851, true }, + { 107871, true }, + { 107885, true }, + { 107908, true }, + { 107920, true }, + { 107935, true }, + { 107943, true }, + { 107954, true }, + { 107976, true }, { 107987, true }, - { 107998, true }, - { 108020, true }, - { 108031, true }, - { 108044, true }, - { 108054, true }, - { 108068, true }, - { 108076, true }, - { 108084, true }, + { 108000, true }, + { 108010, true }, + { 108024, true }, + { 108032, true }, + { 108040, true }, + { 108055, true }, + { 108065, true }, + { 108075, true }, + { 108090, true }, { 108099, true }, - { 108109, true }, - { 108119, true }, - { 108134, true }, - { 108143, true }, - { 108151, true }, + { 108107, true }, + { 108115, true }, + { 108124, true }, + { 108135, true }, + { 108147, true }, { 108159, true }, - { 108168, true }, + { 108169, true }, { 108179, true }, { 108191, true }, - { 108203, true }, - { 108213, true }, - { 108223, true }, - { 108235, true }, + { 108205, true }, + { 108220, true }, + { 108237, true }, { 108249, true }, - { 108264, true }, + { 108260, true }, + { 108267, true }, { 108281, true }, - { 108293, true }, - { 108304, true }, - { 108311, true }, - { 108325, true }, - { 108336, true }, - { 108347, true }, - { 108358, true }, - { 108366, true }, - { 108381, true }, + { 108292, true }, + { 108303, true }, + { 108314, true }, + { 108322, true }, + { 108337, true }, + { 108351, true }, + { 108365, true }, + { 108380, true }, { 108395, true }, - { 108409, true }, - { 108424, true }, - { 108439, true }, - { 108452, true }, - { 108463, true }, - { 108478, true }, - { 108491, true }, - { 108504, true }, - { 108511, true }, - { 108531, true }, - { 108540, true }, - { 108552, true }, + { 108408, true }, + { 108419, true }, + { 108434, true }, + { 108447, true }, + { 108460, true }, + { 108467, true }, + { 108487, true }, + { 108496, true }, + { 108508, true }, + { 108521, true }, + { 108538, true }, + { 108553, true }, { 108565, true }, - { 108582, true }, - { 108597, true }, + { 108580, true }, + { 108593, true }, { 108609, true }, - { 108624, true }, - { 108637, true }, - { 108653, true }, - { 108673, true }, - { 108693, true }, - { 108716, true }, - { 108725, true }, - { 108741, true }, - { 108753, true }, + { 108629, true }, + { 108649, true }, + { 108672, true }, + { 108681, true }, + { 108697, true }, + { 108709, true }, + { 108718, true }, + { 108728, true }, + { 108737, true }, + { 108745, true }, + { 108755, false }, { 108762, true }, - { 108772, true }, - { 108781, true }, - { 108789, true }, - { 108799, false }, - { 108806, true }, - { 108817, true }, - { 108830, true }, - { 108845, true }, - { 108862, true }, - { 108878, true }, - { 108890, true }, - { 108911, true }, - { 108918, true }, - { 108938, true }, - { 108948, true }, - { 108959, false }, - { 108972, true }, - { 108986, true }, - { 109001, true }, - { 109011, true }, - { 109023, true }, - { 109043, false }, - { 109059, true }, - { 109068, false }, - { 109077, true }, - { 109096, true }, - { 109104, true }, - { 109116, true }, - { 109123, true }, - { 109141, true }, - { 109157, true }, - { 109176, true }, - { 109189, true }, - { 109206, true }, - { 109225, true }, - { 109238, false }, - { 109247, true }, - { 109260, true }, - { 109280, true }, - { 109297, true }, - { 109312, true }, - { 109328, false }, - { 109343, true }, - { 109357, true }, - { 109370, true }, - { 109389, true }, - { 109406, true }, - { 109417, true }, - { 109428, true }, - { 109445, false }, - { 109466, false }, - { 109482, false }, - { 109502, true }, - { 109514, true }, - { 109537, true }, - { 109549, true }, - { 109562, true }, - { 109574, true }, - { 109591, true }, - { 109606, false }, - { 109617, true }, - { 109626, true }, - { 109637, true }, - { 109652, true }, - { 109673, true }, - { 109691, true }, - { 109718, true }, - { 109728, true }, - { 109738, true }, - { 109752, true }, - { 109764, true }, + { 108773, true }, + { 108786, true }, + { 108801, true }, + { 108818, true }, + { 108834, true }, + { 108846, true }, + { 108867, true }, + { 108874, true }, + { 108894, true }, + { 108904, true }, + { 108915, false }, + { 108928, true }, + { 108942, true }, + { 108957, true }, + { 108967, true }, + { 108979, true }, + { 108999, false }, + { 109015, true }, + { 109024, false }, + { 109033, true }, + { 109052, true }, + { 109060, true }, + { 109072, true }, + { 109079, true }, + { 109097, true }, + { 109113, true }, + { 109132, true }, + { 109145, true }, + { 109162, true }, + { 109181, true }, + { 109194, false }, + { 109203, true }, + { 109216, true }, + { 109236, true }, + { 109253, true }, + { 109268, true }, + { 109284, false }, + { 109299, true }, + { 109313, true }, + { 109326, true }, + { 109345, true }, + { 109362, true }, + { 109373, true }, + { 109384, true }, + { 109401, false }, + { 109422, false }, + { 109438, false }, + { 109458, true }, + { 109470, true }, + { 109493, true }, + { 109505, true }, + { 109518, true }, + { 109530, true }, + { 109547, true }, + { 109562, false }, + { 109573, true }, + { 109582, true }, + { 109593, true }, + { 109608, true }, + { 109629, true }, + { 109647, true }, + { 109674, true }, + { 109684, true }, + { 109694, true }, + { 109708, true }, + { 109720, true }, + { 109735, true }, + { 109745, true }, + { 109756, true }, + { 109770, true }, { 109779, true }, - { 109789, true }, - { 109800, true }, - { 109814, true }, - { 109823, true }, - { 109842, true }, - { 109855, true }, - { 109865, true }, - { 109873, true }, - { 109880, true }, - { 109893, true }, - { 109903, true }, - { 109912, true }, - { 109924, false }, - { 109934, true }, - { 109954, true }, - { 109963, true }, - { 109975, true }, - { 109986, true }, - { 109997, true }, - { 110020, true }, - { 110043, true }, - { 110066, true }, - { 110076, false }, - { 110093, true }, - { 110102, true }, - { 110112, true }, - { 110125, true }, + { 109798, true }, + { 109811, true }, + { 109821, true }, + { 109829, true }, + { 109836, true }, + { 109849, true }, + { 109859, true }, + { 109868, true }, + { 109880, false }, + { 109890, true }, + { 109910, true }, + { 109919, true }, + { 109931, true }, + { 109942, true }, + { 109953, true }, + { 109976, true }, + { 109999, true }, + { 110022, true }, + { 110032, false }, + { 110049, true }, + { 110058, true }, + { 110068, true }, + { 110081, true }, + { 110089, true }, + { 110099, true }, + { 110110, true }, + { 110120, true }, { 110133, true }, - { 110143, true }, - { 110154, true }, - { 110164, true }, - { 110177, true }, - { 110189, true }, - { 110204, true }, + { 110145, true }, + { 110160, true }, + { 110172, true }, + { 110188, true }, + { 110202, true }, { 110216, true }, - { 110232, true }, - { 110246, true }, - { 110260, true }, - { 110267, true }, - { 110277, true }, - { 110289, true }, - { 110298, true }, - { 110314, true }, + { 110223, true }, + { 110233, true }, + { 110245, true }, + { 110254, true }, + { 110270, true }, + { 110284, true }, + { 110295, true }, + { 110307, true }, + { 110319, true }, { 110328, true }, - { 110339, true }, - { 110351, true }, - { 110363, true }, - { 110372, true }, + { 110342, true }, + { 110354, true }, + { 110366, true }, + { 110376, true }, { 110386, true }, - { 110398, true }, - { 110410, true }, - { 110420, true }, - { 110430, true }, - { 110440, true }, + { 110396, true }, + { 110406, true }, + { 110424, true }, + { 110439, true }, { 110450, true }, - { 110468, true }, - { 110483, true }, - { 110494, true }, - { 110507, true }, - { 110518, true }, - { 110525, true }, - { 110542, false }, - { 110553, true }, - { 110563, true }, - { 110573, true }, - { 110584, true }, - { 110593, true }, + { 110463, true }, + { 110474, true }, + { 110481, true }, + { 110498, false }, + { 110509, true }, + { 110519, true }, + { 110529, true }, + { 110540, true }, + { 110549, true }, + { 110571, true }, + { 110596, true }, { 110615, true }, - { 110640, true }, - { 110659, true }, - { 110666, true }, - { 110680, true }, - { 110689, true }, - { 110704, true }, - { 110714, true }, - { 110738, true }, - { 110754, true }, - { 110776, true }, - { 110786, true }, - { 110800, true }, - { 110813, true }, - { 110827, true }, - { 110850, true }, - { 110861, true }, - { 110870, true }, - { 110881, true }, - { 110895, true }, - { 110904, true }, - { 110915, true }, - { 110929, true }, - { 110940, true }, + { 110622, true }, + { 110636, true }, + { 110645, true }, + { 110660, true }, + { 110670, true }, + { 110694, true }, + { 110710, true }, + { 110732, true }, + { 110742, true }, + { 110756, true }, + { 110769, true }, + { 110783, true }, + { 110806, true }, + { 110817, true }, + { 110826, true }, + { 110837, true }, + { 110851, true }, + { 110860, true }, + { 110871, true }, + { 110885, true }, + { 110896, true }, + { 110906, true }, + { 110918, true }, + { 110937, true }, { 110950, true }, - { 110962, true }, - { 110981, true }, + { 110970, true }, { 110994, true }, - { 111014, true }, - { 111038, true }, - { 111047, true }, - { 111060, true }, - { 111072, true }, - { 111085, true }, + { 111003, true }, + { 111016, true }, + { 111028, true }, + { 111041, true }, + { 111053, true }, + { 111061, true }, + { 111073, true }, + { 111082, true }, { 111097, true }, - { 111105, true }, - { 111117, true }, - { 111126, true }, - { 111141, true }, + { 111106, true }, + { 111128, true }, + { 111140, true }, { 111150, true }, - { 111172, true }, - { 111184, true }, - { 111194, true }, - { 111209, true }, - { 111217, true }, - { 111230, true }, - { 111245, true }, - { 111256, true }, - { 111267, true }, - { 111276, true }, - { 111291, true }, - { 111305, true }, - { 111319, true }, - { 111339, true }, + { 111165, true }, + { 111173, true }, + { 111186, true }, + { 111201, true }, + { 111212, true }, + { 111223, true }, + { 111232, true }, + { 111247, true }, + { 111261, true }, + { 111275, true }, + { 111295, true }, + { 111318, true }, + { 111343, true }, { 111362, true }, - { 111387, true }, - { 111406, true }, - { 111423, true }, - { 111443, true }, - { 111457, true }, - { 111473, true }, - { 111487, true }, - { 111503, true }, - { 111521, true }, - { 111538, true }, - { 111553, true }, - { 111568, true }, - { 111578, true }, - { 111593, true }, - { 111602, true }, - { 111615, true }, + { 111379, true }, + { 111399, true }, + { 111415, true }, + { 111429, true }, + { 111445, true }, + { 111459, true }, + { 111475, true }, + { 111493, true }, + { 111510, true }, + { 111525, true }, + { 111540, true }, + { 111550, true }, + { 111565, true }, + { 111574, true }, + { 111587, true }, + { 111604, true }, + { 111617, true }, { 111632, true }, - { 111645, true }, - { 111660, true }, - { 111670, true }, - { 111681, true }, - { 111692, true }, - { 111702, true }, - { 111714, true }, - { 111727, true }, - { 111739, true }, - { 111760, true }, - { 111774, false }, - { 111794, false }, - { 111806, true }, - { 111819, true }, - { 111829, true }, - { 111842, true }, - { 111855, true }, - { 111871, true }, - { 111888, true }, - { 111900, true }, - { 111914, true }, - { 111926, true }, - { 111940, true }, + { 111642, true }, + { 111653, true }, + { 111664, true }, + { 111674, true }, + { 111686, true }, + { 111699, true }, + { 111711, true }, + { 111732, true }, + { 111746, false }, + { 111766, false }, + { 111778, true }, + { 111791, true }, + { 111801, true }, + { 111814, true }, + { 111827, true }, + { 111843, true }, + { 111860, true }, + { 111872, true }, + { 111886, true }, + { 111898, true }, + { 111912, true }, + { 111932, true }, + { 111948, true }, { 111960, true }, - { 111976, true }, - { 111988, true }, - { 112014, true }, - { 112035, true }, - { 112049, true }, - { 112067, true }, - { 112088, false }, - { 112102, true }, - { 112120, true }, - { 112137, true }, + { 111986, true }, + { 112007, true }, + { 112021, true }, + { 112039, false }, + { 112053, true }, + { 112071, true }, + { 112088, true }, + { 112100, true }, + { 112113, true }, + { 112133, true }, { 112149, true }, - { 112162, true }, - { 112182, true }, - { 112198, true }, - { 112210, true }, - { 112232, true }, - { 112254, true }, - { 112273, false }, - { 112283, true }, - { 112300, true }, - { 112322, true }, - { 112334, true }, - { 112345, true }, + { 112161, true }, + { 112183, true }, + { 112205, true }, + { 112224, false }, + { 112234, true }, + { 112251, true }, + { 112273, true }, + { 112285, true }, + { 112296, true }, + { 112309, true }, + { 112329, true }, + { 112339, true }, + { 112347, true }, { 112358, true }, - { 112378, true }, - { 112388, true }, - { 112396, true }, - { 112407, true }, - { 112432, true }, - { 112447, true }, - { 112464, true }, - { 112485, true }, - { 112505, true }, - { 112527, true }, - { 112546, true }, - { 112557, false }, - { 112570, true }, - { 112581, true }, - { 112597, true }, - { 112612, true }, - { 112627, true }, - { 112639, true }, - { 112659, true }, - { 112670, true }, - { 112682, true }, - { 112700, true }, - { 112725, true }, - { 112748, true }, - { 112764, true }, - { 112781, true }, - { 112792, true }, - { 112806, true }, - { 112819, true }, - { 112831, true }, - { 112847, false }, - { 112860, true }, - { 112873, true }, - { 112885, true }, - { 112896, true }, - { 112913, true }, - { 112926, true }, - { 112938, true }, - { 112948, false }, - { 112957, true }, - { 112967, true }, - { 112980, true }, - { 112991, true }, - { 113014, true }, - { 113027, true }, + { 112383, true }, + { 112398, true }, + { 112415, true }, + { 112436, true }, + { 112456, true }, + { 112478, true }, + { 112497, true }, + { 112508, false }, + { 112521, true }, + { 112532, true }, + { 112548, true }, + { 112563, true }, + { 112578, true }, + { 112590, true }, + { 112610, true }, + { 112621, true }, + { 112633, true }, + { 112651, true }, + { 112676, true }, + { 112699, true }, + { 112715, true }, + { 112732, true }, + { 112743, true }, + { 112757, true }, + { 112770, true }, + { 112782, true }, + { 112798, false }, + { 112811, true }, + { 112824, true }, + { 112836, true }, + { 112847, true }, + { 112864, true }, + { 112877, true }, + { 112889, true }, + { 112899, false }, + { 112908, true }, + { 112918, true }, + { 112931, true }, + { 112942, true }, + { 112965, true }, + { 112978, true }, + { 112996, true }, + { 113007, true }, + { 113021, true }, + { 113037, true }, { 113045, true }, - { 113056, true }, - { 113070, true }, - { 113086, true }, - { 113094, true }, - { 113113, true }, - { 113126, true }, - { 113149, true }, - { 113163, true }, - { 113178, true }, + { 113064, true }, + { 113077, true }, + { 113100, true }, + { 113114, true }, + { 113129, true }, + { 113139, true }, + { 113152, true }, + { 113165, true }, { 113188, true }, - { 113201, true }, - { 113214, true }, + { 113204, true }, + { 113220, true }, { 113237, true }, - { 113253, true }, - { 113269, true }, - { 113286, true }, - { 113299, true }, - { 113311, true }, - { 113324, true }, - { 113336, true }, - { 113351, true }, - { 113363, true }, - { 113391, true }, - { 113408, true }, - { 113417, true }, - { 113444, true }, - { 113465, true }, - { 113483, true }, - { 113500, true }, - { 113511, true }, - { 113529, true }, - { 113544, true }, - { 113556, true }, - { 113568, true }, - { 113580, true }, - { 113599, true }, - { 113634, true }, - { 113657, true }, - { 113679, true }, - { 113693, true }, - { 113710, true }, - { 113723, true }, - { 113735, true }, - { 113752, true }, - { 113769, true }, - { 113787, true }, - { 113801, true }, - { 113832, true }, - { 113849, true }, - { 113864, true }, - { 113876, true }, - { 113888, true }, - { 113901, true }, - { 113920, true }, - { 113942, true }, - { 113954, true }, - { 113971, true }, - { 113988, true }, - { 114010, true }, - { 114026, true }, - { 114039, true }, - { 114051, true }, - { 114072, true }, - { 114091, true }, - { 114103, true }, - { 114120, true }, - { 114135, true }, - { 114152, true }, - { 114169, true }, - { 114185, true }, - { 114200, true }, - { 114216, true }, - { 114240, true }, - { 114265, true }, - { 114287, true }, - { 114302, true }, - { 114329, true }, - { 114347, true }, - { 114364, true }, - { 114387, true }, - { 114413, true }, - { 114428, true }, - { 114446, true }, - { 114467, true }, - { 114495, true }, - { 114514, true }, - { 114538, true }, - { 114562, true }, - { 114575, true }, - { 114588, true }, - { 114605, true }, - { 114620, true }, - { 114645, true }, - { 114655, true }, - { 114671, true }, - { 114690, true }, - { 114706, true }, - { 114730, true }, - { 114747, false }, - { 114756, true }, - { 114771, true }, - { 114781, true }, - { 114793, true }, - { 114814, true }, - { 114827, true }, - { 114844, true }, - { 114857, true }, - { 114875, true }, - { 114888, true }, - { 114907, true }, - { 114917, true }, - { 114933, true }, - { 114949, true }, - { 114965, true }, - { 114978, true }, - { 114997, true }, + { 113250, true }, + { 113262, true }, + { 113275, true }, + { 113287, true }, + { 113302, true }, + { 113314, true }, + { 113342, true }, + { 113359, true }, + { 113368, true }, + { 113395, true }, + { 113416, true }, + { 113434, true }, + { 113451, true }, + { 113462, true }, + { 113480, true }, + { 113495, true }, + { 113507, true }, + { 113519, true }, + { 113531, true }, + { 113550, true }, + { 113585, true }, + { 113608, true }, + { 113630, true }, + { 113644, true }, + { 113661, true }, + { 113674, true }, + { 113686, true }, + { 113703, true }, + { 113720, false }, + { 113739, true }, + { 113757, true }, + { 113771, true }, + { 113802, true }, + { 113819, true }, + { 113834, true }, + { 113846, true }, + { 113858, true }, + { 113871, true }, + { 113890, true }, + { 113912, true }, + { 113924, true }, + { 113941, true }, + { 113958, true }, + { 113980, true }, + { 113996, true }, + { 114009, true }, + { 114021, true }, + { 114042, true }, + { 114061, true }, + { 114073, true }, + { 114090, true }, + { 114105, true }, + { 114122, true }, + { 114139, true }, + { 114155, true }, + { 114170, true }, + { 114186, true }, + { 114202, true }, + { 114226, true }, + { 114251, true }, + { 114273, true }, + { 114288, true }, + { 114315, true }, + { 114333, true }, + { 114350, true }, + { 114373, true }, + { 114399, true }, + { 114414, true }, + { 114432, true }, + { 114453, true }, + { 114481, true }, + { 114500, true }, + { 114524, true }, + { 114548, true }, + { 114561, true }, + { 114574, true }, + { 114591, true }, + { 114606, true }, + { 114631, true }, + { 114641, true }, + { 114657, true }, + { 114676, true }, + { 114692, true }, + { 114716, true }, + { 114733, false }, + { 114742, true }, + { 114757, true }, + { 114767, true }, + { 114779, true }, + { 114800, true }, + { 114813, true }, + { 114830, true }, + { 114843, true }, + { 114861, true }, + { 114874, true }, + { 114893, true }, + { 114903, true }, + { 114919, true }, + { 114935, true }, + { 114951, true }, + { 114964, true }, + { 114983, true }, + { 115001, true }, { 115015, true }, - { 115029, true }, - { 115039, false }, - { 115051, true }, - { 115062, true }, - { 115070, true }, - { 115080, true }, - { 115090, true }, - { 115102, true }, - { 115116, false }, - { 115129, true }, - { 115137, true }, - { 115148, true }, - { 115159, true }, - { 115175, true }, - { 115185, true }, - { 115197, true }, - { 115206, true }, - { 115222, false }, - { 115229, true }, - { 115237, true }, - { 115247, true }, + { 115025, false }, + { 115037, true }, + { 115048, true }, + { 115056, true }, + { 115066, true }, + { 115076, true }, + { 115088, true }, + { 115102, false }, + { 115115, true }, + { 115123, true }, + { 115134, true }, + { 115145, true }, + { 115161, true }, + { 115171, true }, + { 115183, true }, + { 115192, true }, + { 115208, false }, + { 115215, true }, + { 115223, true }, + { 115233, true }, + { 115245, true }, { 115259, true }, - { 115273, true }, - { 115282, true }, - { 115298, true }, - { 115306, true }, - { 115315, true }, - { 115331, true }, - { 115342, true }, - { 115352, false }, - { 115370, true }, - { 115380, true }, - { 115391, true }, - { 115403, true }, - { 115415, false }, - { 115426, true }, - { 115439, true }, - { 115449, true }, - { 115459, true }, - { 115469, true }, - { 115479, true }, - { 115489, true }, - { 115508, true }, - { 115517, true }, - { 115526, true }, - { 115546, true }, - { 115562, true }, - { 115570, true }, - { 115579, true }, - { 115600, true }, - { 115608, true }, - { 115624, true }, - { 115641, true }, - { 115649, true }, - { 115660, true }, - { 115672, true }, - { 115683, true }, - { 115693, true }, - { 115708, true }, - { 115719, true }, - { 115729, true }, - { 115738, true }, - { 115747, true }, - { 115765, true }, - { 115781, true }, + { 115268, true }, + { 115284, true }, + { 115292, true }, + { 115301, true }, + { 115317, true }, + { 115328, true }, + { 115338, false }, + { 115356, true }, + { 115366, true }, + { 115377, true }, + { 115389, true }, + { 115401, false }, + { 115412, true }, + { 115425, true }, + { 115435, true }, + { 115445, true }, + { 115455, true }, + { 115465, true }, + { 115475, true }, + { 115494, true }, + { 115503, true }, + { 115512, true }, + { 115532, true }, + { 115548, true }, + { 115556, true }, + { 115565, true }, + { 115586, true }, + { 115594, true }, + { 115610, true }, + { 115627, true }, + { 115635, true }, + { 115646, true }, + { 115658, true }, + { 115669, true }, + { 115679, true }, + { 115694, true }, + { 115705, true }, + { 115715, true }, + { 115724, true }, + { 115733, true }, + { 115751, true }, + { 115767, true }, + { 115780, true }, { 115794, true }, - { 115808, true }, - { 115836, true }, - { 115849, true }, - { 115858, true }, - { 115877, true }, - { 115887, true }, - { 115902, true }, - { 115919, true }, - { 115942, true }, - { 115961, true }, - { 115970, true }, + { 115822, true }, + { 115835, true }, + { 115844, true }, + { 115863, true }, + { 115873, true }, + { 115888, true }, + { 115905, true }, + { 115928, true }, + { 115947, true }, + { 115956, true }, + { 115974, true }, { 115988, true }, - { 116002, true }, - { 116025, true }, - { 116047, true }, - { 116057, true }, - { 116073, true }, - { 116089, true }, - { 116100, true }, + { 116011, true }, + { 116033, true }, + { 116043, true }, + { 116059, true }, + { 116075, true }, + { 116086, true }, + { 116096, true }, { 116108, true }, - { 116118, true }, - { 116130, true }, - { 116143, true }, - { 116155, true }, - { 116172, true }, - { 116189, true }, - { 116200, true }, - { 116218, true }, - { 116232, true }, - { 116246, true }, - { 116264, true }, - { 116283, true }, + { 116121, true }, + { 116133, true }, + { 116150, true }, + { 116167, true }, + { 116178, true }, + { 116196, true }, + { 116210, true }, + { 116224, true }, + { 116242, true }, + { 116261, true }, + { 116277, true }, + { 116288, true }, { 116299, true }, - { 116310, true }, - { 116321, true }, - { 116339, true }, - { 116358, true }, - { 116371, true }, - { 116382, true }, - { 116392, true }, - { 116405, true }, - { 116417, true }, - { 116433, true }, - { 116444, true }, - { 116454, true }, - { 116464, true }, - { 116474, true }, + { 116317, true }, + { 116336, true }, + { 116349, true }, + { 116360, true }, + { 116370, true }, + { 116383, true }, + { 116395, true }, + { 116411, true }, + { 116422, true }, + { 116432, true }, + { 116442, true }, + { 116452, true }, + { 116462, true }, + { 116473, true }, { 116484, true }, - { 116495, true }, + { 116496, true }, { 116506, true }, - { 116516, true }, - { 116525, true }, - { 116542, true }, - { 116561, true }, - { 116574, true }, - { 116587, true }, - { 116604, true }, - { 116636, true }, - { 116650, true }, - { 116662, true }, - { 116686, true }, - { 116709, true }, - { 116741, true }, - { 116766, true }, - { 116779, true }, - { 116805, true }, - { 116824, true }, - { 116838, true }, - { 116852, true }, - { 116865, true }, - { 116880, true }, - { 116895, true }, - { 116909, true }, - { 116923, false }, - { 116943, true }, - { 116956, true }, - { 116973, true }, - { 116988, true }, - { 117005, true }, - { 117019, true }, - { 117034, true }, + { 116515, true }, + { 116532, true }, + { 116551, true }, + { 116564, true }, + { 116583, true }, + { 116596, true }, + { 116613, true }, + { 116645, true }, + { 116659, true }, + { 116671, true }, + { 116695, true }, + { 116718, true }, + { 116750, true }, + { 116775, true }, + { 116788, true }, + { 116814, true }, + { 116833, true }, + { 116847, true }, + { 116861, true }, + { 116874, true }, + { 116889, true }, + { 116904, true }, + { 116918, true }, + { 116932, false }, + { 116952, true }, + { 116965, true }, + { 116982, true }, + { 116997, true }, + { 117014, true }, + { 117028, true }, { 117043, true }, { 117052, true }, - { 117068, true }, - { 117088, true }, - { 117107, true }, + { 117061, true }, + { 117077, true }, + { 117097, true }, { 117116, true }, { 117125, true }, { 117134, true }, { 117143, true }, - { 117155, true }, - { 117166, true }, + { 117152, true }, + { 117164, true }, { 117175, true }, - { 117183, true }, + { 117184, true }, { 117192, true }, - { 117203, true }, - { 117216, true }, - { 117225, true }, - { 117238, true }, - { 117248, true }, - { 117261, true }, - { 117274, true }, - { 117285, true }, - { 117296, true }, - { 117307, true }, - { 117316, true }, - { 117325, true }, - { 117335, true }, - { 117352, true }, - { 117369, true }, - { 117378, true }, - { 117393, true }, - { 117412, false }, - { 117424, true }, - { 117437, true }, - { 117454, false }, - { 117467, true }, - { 117476, true }, - { 117499, false }, - { 117511, true }, - { 117524, true }, - { 117535, true }, - { 117552, true }, - { 117563, true }, - { 117580, true }, - { 117601, true }, - { 117612, true }, - { 117623, true }, - { 117630, true }, - { 117641, true }, - { 117648, true }, - { 117658, true }, - { 117670, true }, - { 117684, true }, - { 117693, true }, - { 117706, true }, - { 117718, true }, - { 117735, true }, - { 117749, true }, - { 117763, true }, - { 117770, true }, - { 117777, true }, - { 117784, true }, - { 117793, true }, - { 117802, true }, - { 117810, true }, - { 117820, true }, - { 117838, true }, - { 117852, true }, - { 117864, true }, - { 117875, true }, - { 117886, true }, + { 117201, true }, + { 117212, true }, + { 117221, true }, + { 117234, true }, + { 117244, true }, + { 117257, true }, + { 117270, true }, + { 117281, true }, + { 117292, true }, + { 117303, true }, + { 117312, true }, + { 117321, true }, + { 117331, true }, + { 117348, true }, + { 117365, true }, + { 117374, true }, + { 117389, true }, + { 117408, false }, + { 117420, true }, + { 117433, true }, + { 117450, false }, + { 117463, true }, + { 117472, true }, + { 117495, false }, + { 117507, true }, + { 117520, true }, + { 117531, true }, + { 117548, true }, + { 117559, true }, + { 117576, true }, + { 117597, true }, + { 117608, true }, + { 117619, true }, + { 117626, true }, + { 117637, true }, + { 117644, true }, + { 117654, true }, + { 117666, true }, + { 117680, true }, + { 117689, true }, + { 117702, true }, + { 117714, true }, + { 117731, true }, + { 117745, true }, + { 117759, true }, + { 117766, true }, + { 117773, true }, + { 117780, true }, + { 117789, true }, + { 117797, true }, + { 117807, true }, + { 117825, true }, + { 117839, true }, + { 117851, true }, + { 117862, true }, + { 117873, true }, + { 117884, true }, { 117897, true }, - { 117910, true }, - { 117921, true }, - { 117930, true }, - { 117947, true }, - { 117958, true }, - { 117974, true }, - { 117981, true }, - { 117988, true }, - { 118002, true }, - { 118010, true }, - { 118017, true }, - { 118028, true }, - { 118034, true }, + { 117908, true }, + { 117917, true }, + { 117934, true }, + { 117945, true }, + { 117961, true }, + { 117968, true }, + { 117975, true }, + { 117989, true }, + { 117997, true }, + { 118004, true }, + { 118015, true }, + { 118021, true }, + { 118033, true }, { 118046, true }, { 118059, true }, - { 118072, true }, - { 118082, true }, + { 118069, true }, + { 118079, true }, { 118092, true }, - { 118105, true }, - { 118119, true }, + { 118106, true }, + { 118121, true }, { 118134, true }, { 118147, true }, - { 118160, true }, - { 118169, true }, - { 118188, true }, - { 118213, false }, - { 118225, true }, - { 118233, true }, + { 118156, true }, + { 118175, true }, + { 118200, false }, + { 118212, true }, + { 118220, true }, + { 118234, true }, { 118247, true }, - { 118260, true }, - { 118275, true }, + { 118262, true }, + { 118281, true }, { 118294, true }, - { 118307, true }, + { 118309, true }, { 118322, true }, - { 118335, true }, + { 118333, true }, { 118346, true }, - { 118359, true }, - { 118376, true }, - { 118390, true }, - { 118405, true }, - { 118417, true }, - { 118425, true }, - { 118437, true }, - { 118451, true }, - { 118467, true }, - { 118483, true }, - { 118499, true }, - { 118514, true }, - { 118534, true }, - { 118552, true }, - { 118561, true }, - { 118576, true }, - { 118590, true }, - { 118603, true }, - { 118623, true }, - { 118642, true }, - { 118659, true }, - { 118675, true }, - { 118695, true }, - { 118708, true }, - { 118723, true }, - { 118737, false }, - { 118750, true }, - { 118760, true }, + { 118363, true }, + { 118377, false }, + { 118396, true }, + { 118411, true }, + { 118423, true }, + { 118431, true }, + { 118443, true }, + { 118457, true }, + { 118473, true }, + { 118489, true }, + { 118505, true }, + { 118520, true }, + { 118540, true }, + { 118558, true }, + { 118567, true }, + { 118583, true }, + { 118598, true }, + { 118612, true }, + { 118625, true }, + { 118645, true }, + { 118664, true }, + { 118681, true }, + { 118697, true }, + { 118717, true }, + { 118730, true }, + { 118745, true }, + { 118759, false }, { 118772, true }, - { 118789, true }, - { 118804, true }, - { 118827, true }, - { 118844, true }, - { 118858, true }, - { 118870, true }, - { 118885, true }, - { 118902, true }, - { 118916, true }, - { 118931, true }, - { 118940, true }, - { 118955, true }, - { 118973, true }, - { 118987, true }, - { 118997, true }, - { 119008, true }, - { 119018, true }, - { 119033, true }, - { 119047, true }, - { 119060, true }, - { 119071, true }, - { 119088, true }, - { 119102, true }, - { 119112, true }, + { 118782, true }, + { 118794, true }, + { 118811, true }, + { 118826, true }, + { 118849, true }, + { 118866, true }, + { 118880, true }, + { 118892, true }, + { 118907, true }, + { 118924, true }, + { 118938, true }, + { 118953, true }, + { 118962, true }, + { 118977, true }, + { 118995, true }, + { 119009, true }, + { 119019, true }, + { 119030, true }, + { 119040, true }, + { 119055, true }, + { 119069, true }, + { 119082, true }, + { 119093, true }, + { 119110, true }, { 119124, true }, - { 119142, true }, - { 119156, true }, - { 119168, true }, - { 119183, false }, - { 119198, true }, - { 119214, true }, - { 119233, true }, - { 119244, true }, - { 119256, true }, - { 119274, true }, - { 119286, true }, - { 119297, true }, - { 119314, true }, - { 119330, true }, - { 119349, true }, - { 119367, true }, - { 119384, true }, - { 119402, true }, + { 119134, true }, + { 119146, true }, + { 119164, true }, + { 119178, true }, + { 119190, true }, + { 119205, false }, + { 119220, true }, + { 119236, true }, + { 119255, true }, + { 119266, true }, + { 119278, true }, + { 119296, true }, + { 119308, true }, + { 119319, true }, + { 119336, true }, + { 119352, true }, + { 119371, true }, + { 119389, true }, + { 119406, true }, { 119424, true }, - { 119443, true }, - { 119456, true }, - { 119472, true }, - { 119485, true }, - { 119502, true }, - { 119517, true }, - { 119525, true }, - { 119538, true }, - { 119552, true }, - { 119563, true }, - { 119573, true }, - { 119591, true }, - { 119609, true }, - { 119622, true }, - { 119632, true }, - { 119646, true }, + { 119446, true }, + { 119465, true }, + { 119478, true }, + { 119494, true }, + { 119507, true }, + { 119524, true }, + { 119539, true }, + { 119547, true }, + { 119560, true }, + { 119574, true }, + { 119585, true }, + { 119595, true }, + { 119613, true }, + { 119631, true }, + { 119644, true }, { 119654, true }, - { 119662, true }, - { 119675, true }, - { 119688, true }, - { 119700, true }, - { 119711, true }, - { 119726, true }, - { 119736, true }, - { 119747, true }, - { 119755, true }, - { 119770, true }, + { 119668, true }, + { 119676, true }, + { 119684, true }, + { 119697, true }, + { 119710, true }, + { 119722, true }, + { 119733, true }, + { 119748, true }, + { 119758, true }, + { 119769, true }, { 119777, true }, - { 119793, true }, + { 119792, true }, + { 119799, true }, { 119815, true }, - { 119831, true }, - { 119840, true }, - { 119848, true }, - { 119858, true }, + { 119837, true }, + { 119853, true }, + { 119862, true }, { 119870, true }, - { 119888, true }, - { 119913, true }, - { 119927, true }, - { 119946, true }, - { 119960, true }, - { 119973, true }, + { 119880, true }, + { 119892, true }, + { 119905, true }, + { 119923, true }, + { 119948, true }, + { 119962, true }, { 119981, true }, - { 119997, false }, - { 120014, true }, - { 120035, true }, - { 120054, true }, - { 120073, true }, - { 120092, true }, + { 119995, true }, + { 120008, true }, + { 120016, true }, + { 120032, false }, + { 120049, true }, + { 120070, true }, + { 120089, true }, { 120108, true }, - { 120123, true }, - { 120133, true }, + { 120127, true }, { 120143, true }, - { 120152, true }, - { 120165, true }, - { 120175, false }, - { 120193, true }, - { 120215, true }, - { 120232, true }, - { 120248, true }, - { 120266, true }, - { 120279, true }, - { 120290, true }, - { 120306, true }, - { 120324, true }, - { 120340, true }, - { 120356, true }, - { 120371, false }, - { 120385, true }, - { 120402, true }, + { 120158, true }, + { 120168, true }, + { 120178, true }, + { 120187, true }, + { 120200, true }, + { 120210, false }, + { 120228, true }, + { 120250, true }, + { 120267, true }, + { 120283, true }, + { 120301, true }, + { 120314, true }, + { 120325, true }, + { 120341, true }, + { 120359, true }, + { 120375, true }, + { 120391, true }, + { 120406, false }, { 120420, true }, - { 120439, true }, - { 120450, true }, - { 120466, true }, - { 120483, true }, - { 120500, true }, - { 120516, true }, - { 120529, true }, - { 120547, true }, - { 120560, true }, - { 120571, true }, - { 120588, true }, - { 120610, false }, - { 120627, true }, - { 120643, true }, - { 120657, true }, - { 120669, true }, - { 120691, false }, - { 120706, true }, - { 120713, true }, - { 120725, true }, - { 120733, true }, - { 120746, true }, - { 120761, true }, - { 120776, true }, - { 120789, true }, - { 120801, true }, - { 120810, true }, - { 120820, true }, - { 120843, true }, - { 120858, true }, - { 120872, true }, - { 120886, true }, - { 120897, false }, - { 120910, true }, - { 120924, true }, - { 120932, true }, - { 120941, true }, - { 120954, true }, - { 120963, true }, - { 120973, true }, - { 120986, true }, - { 121006, false }, - { 121016, true }, - { 121032, true }, - { 121045, true }, - { 121058, true }, - { 121069, true }, - { 121078, true }, - { 121085, true }, - { 121101, true }, - { 121114, true }, - { 121127, true }, - { 121140, true }, - { 121155, true }, - { 121174, true }, - { 121185, true }, - { 121192, true }, - { 121212, true }, - { 121224, true }, - { 121231, true }, - { 121238, true }, + { 120437, true }, + { 120455, true }, + { 120474, true }, + { 120485, true }, + { 120501, true }, + { 120518, true }, + { 120535, true }, + { 120551, true }, + { 120564, true }, + { 120582, true }, + { 120595, true }, + { 120606, true }, + { 120623, true }, + { 120645, false }, + { 120662, true }, + { 120678, true }, + { 120692, true }, + { 120704, true }, + { 120726, false }, + { 120741, true }, + { 120748, true }, + { 120760, true }, + { 120768, true }, + { 120781, true }, + { 120796, true }, + { 120811, true }, + { 120824, true }, + { 120836, true }, + { 120845, true }, + { 120855, true }, + { 120878, true }, + { 120893, true }, + { 120907, true }, + { 120921, true }, + { 120932, false }, + { 120945, true }, + { 120959, true }, + { 120967, true }, + { 120976, true }, + { 120989, true }, + { 120998, true }, + { 121008, true }, + { 121021, true }, + { 121041, false }, + { 121051, true }, + { 121067, true }, + { 121080, true }, + { 121093, true }, + { 121104, true }, + { 121113, true }, + { 121120, true }, + { 121136, true }, + { 121149, true }, + { 121162, true }, + { 121175, true }, + { 121190, true }, + { 121209, true }, + { 121220, true }, + { 121227, true }, { 121247, true }, - { 121256, true }, - { 121265, true }, - { 121274, true }, - { 121285, true }, - { 121299, true }, - { 121312, true }, + { 121259, true }, + { 121266, true }, + { 121273, true }, + { 121282, true }, + { 121291, true }, + { 121300, true }, + { 121309, true }, { 121320, true }, - { 121339, true }, - { 121350, true }, - { 121364, true }, - { 121375, true }, - { 121391, true }, - { 121405, true }, - { 121418, true }, - { 121433, true }, - { 121447, true }, - { 121457, false }, - { 121471, true }, - { 121481, true }, - { 121496, true }, - { 121510, false }, - { 121525, false }, - { 121541, true }, - { 121553, true }, - { 121566, true }, - { 121585, true }, - { 121609, true }, - { 121625, false }, - { 121638, true }, - { 121654, true }, - { 121668, true }, - { 121683, true }, - { 121702, true }, - { 121719, true }, - { 121736, true }, - { 121746, true }, - { 121761, true }, - { 121775, true }, - { 121788, true }, - { 121804, true }, - { 121819, true }, - { 121835, true }, - { 121849, true }, - { 121864, true }, - { 121878, true }, - { 121886, true }, - { 121901, true }, - { 121920, true }, + { 121334, true }, + { 121347, true }, + { 121355, true }, + { 121374, true }, + { 121385, true }, + { 121399, true }, + { 121410, true }, + { 121426, true }, + { 121440, true }, + { 121453, true }, + { 121468, true }, + { 121482, true }, + { 121492, false }, + { 121506, true }, + { 121516, true }, + { 121531, true }, + { 121545, false }, + { 121560, false }, + { 121576, true }, + { 121588, true }, + { 121601, true }, + { 121620, true }, + { 121644, true }, + { 121660, false }, + { 121673, true }, + { 121689, true }, + { 121703, true }, + { 121718, true }, + { 121737, true }, + { 121754, true }, + { 121771, true }, + { 121781, true }, + { 121796, true }, + { 121810, true }, + { 121823, true }, + { 121839, true }, + { 121854, true }, + { 121870, true }, + { 121884, true }, + { 121898, true }, + { 121913, true }, + { 121927, true }, { 121935, true }, - { 121959, true }, - { 121975, true }, - { 121990, true }, + { 121950, true }, + { 121969, true }, + { 121984, true }, { 122008, true }, - { 122027, true }, - { 122040, true }, - { 122053, false }, + { 122024, true }, + { 122039, true }, + { 122057, true }, { 122076, true }, - { 122092, true }, - { 122103, true }, - { 122116, true }, - { 122131, true }, - { 122146, true }, - { 122161, true }, - { 122177, true }, - { 122192, true }, - { 122208, true }, - { 122225, true }, - { 122237, true }, - { 122251, true }, - { 122261, true }, - { 122279, true }, - { 122298, true }, - { 122308, true }, + { 122095, true }, + { 122108, true }, + { 122121, false }, + { 122144, true }, + { 122160, true }, + { 122171, true }, + { 122184, true }, + { 122199, true }, + { 122214, true }, + { 122229, true }, + { 122245, true }, + { 122260, true }, + { 122276, true }, + { 122293, true }, + { 122305, true }, { 122319, true }, { 122329, true }, - { 122343, true }, - { 122356, true }, - { 122384, true }, - { 122395, true }, - { 122406, true }, - { 122417, true }, - { 122429, true }, - { 122442, true }, - { 122455, true }, - { 122470, true }, - { 122484, true }, - { 122501, true }, - { 122515, true }, - { 122532, false }, - { 122549, true }, - { 122563, true }, - { 122578, true }, - { 122595, true }, - { 122612, true }, - { 122629, true }, - { 122637, true }, - { 122649, true }, - { 122670, true }, - { 122681, true }, - { 122695, true }, - { 122707, true }, - { 122723, true }, - { 122736, true }, - { 122762, true }, - { 122788, true }, - { 122798, true }, - { 122811, true }, - { 122821, true }, - { 122834, true }, - { 122842, true }, - { 122857, true }, - { 122871, true }, - { 122885, true }, - { 122896, true }, - { 122916, true }, - { 122934, true }, - { 122951, true }, - { 122966, true }, - { 122984, true }, - { 123000, true }, + { 122347, true }, + { 122366, true }, + { 122376, true }, + { 122387, true }, + { 122397, true }, + { 122411, true }, + { 122424, true }, + { 122452, true }, + { 122463, true }, + { 122474, true }, + { 122486, true }, + { 122499, true }, + { 122512, true }, + { 122527, true }, + { 122541, true }, + { 122558, true }, + { 122572, true }, + { 122589, false }, + { 122606, true }, + { 122620, true }, + { 122635, true }, + { 122652, true }, + { 122669, true }, + { 122686, true }, + { 122694, true }, + { 122706, true }, + { 122727, true }, + { 122738, true }, + { 122752, true }, + { 122764, true }, + { 122780, true }, + { 122793, true }, + { 122819, true }, + { 122845, true }, + { 122855, true }, + { 122868, true }, + { 122878, true }, + { 122891, true }, + { 122899, true }, + { 122914, true }, + { 122928, true }, + { 122942, true }, + { 122953, true }, + { 122973, true }, + { 122991, true }, { 123008, true }, - { 123022, true }, - { 123039, true }, - { 123050, true }, - { 123060, true }, - { 123076, true }, - { 123089, true }, - { 123099, false }, - { 123113, true }, - { 123124, true }, - { 123140, true }, - { 123148, true }, - { 123158, true }, - { 123173, true }, - { 123189, true }, - { 123208, true }, - { 123221, true }, - { 123235, true }, - { 123253, true }, - { 123273, true }, - { 123288, true }, - { 123306, true }, - { 123325, true }, - { 123338, true }, - { 123348, true }, - { 123365, true }, - { 123380, true }, - { 123391, true }, - { 123409, true }, - { 123428, true }, - { 123447, true }, - { 123458, true }, + { 123023, true }, + { 123041, true }, + { 123057, true }, + { 123065, true }, + { 123079, true }, + { 123096, true }, + { 123107, true }, + { 123117, true }, + { 123133, true }, + { 123146, true }, + { 123156, false }, + { 123170, true }, + { 123181, true }, + { 123197, true }, + { 123205, true }, + { 123215, true }, + { 123230, true }, + { 123246, true }, + { 123265, true }, + { 123278, true }, + { 123292, true }, + { 123310, true }, + { 123330, true }, + { 123345, true }, + { 123363, true }, + { 123382, true }, + { 123395, true }, + { 123405, true }, + { 123422, true }, + { 123437, true }, + { 123448, true }, { 123466, true }, - { 123475, true }, - { 123492, true }, - { 123503, true }, - { 123517, true }, - { 123527, true }, - { 123550, true }, - { 123563, true }, - { 123571, true }, - { 123583, false }, - { 123594, true }, - { 123608, true }, - { 123636, true }, - { 123645, true }, - { 123660, true }, - { 123679, true }, - { 123703, true }, - { 123718, true }, - { 123738, true }, - { 123756, true }, - { 123769, true }, - { 123784, true }, - { 123797, true }, - { 123811, true }, - { 123822, true }, - { 123843, true }, - { 123856, true }, - { 123870, true }, - { 123882, true }, - { 123899, true }, - { 123909, true }, - { 123922, true }, - { 123933, true }, - { 123948, true }, - { 123956, true }, - { 123976, true }, - { 123987, true }, - { 123997, true }, - { 124007, true }, - { 124023, true }, - { 124032, true }, - { 124043, true }, - { 124056, true }, - { 124066, true }, - { 124076, true }, - { 124088, true }, - { 124103, true }, - { 124112, true }, + { 123485, true }, + { 123504, true }, + { 123515, true }, + { 123528, true }, + { 123536, true }, + { 123545, true }, + { 123562, true }, + { 123573, true }, + { 123587, true }, + { 123597, true }, + { 123620, true }, + { 123633, true }, + { 123641, true }, + { 123653, false }, + { 123664, true }, + { 123678, true }, + { 123706, true }, + { 123715, true }, + { 123730, true }, + { 123749, true }, + { 123773, true }, + { 123788, true }, + { 123808, true }, + { 123826, true }, + { 123839, true }, + { 123854, true }, + { 123867, true }, + { 123881, true }, + { 123892, true }, + { 123913, true }, + { 123926, true }, + { 123940, true }, + { 123952, true }, + { 123969, true }, + { 123979, true }, + { 123992, true }, + { 124003, true }, + { 124018, true }, + { 124026, true }, + { 124046, true }, + { 124057, true }, + { 124067, true }, + { 124077, true }, + { 124093, true }, + { 124102, true }, + { 124113, true }, { 124126, true }, - { 124139, true }, - { 124154, true }, - { 124168, true }, - { 124179, true }, - { 124194, true }, - { 124204, false }, - { 124214, true }, - { 124242, true }, - { 124255, true }, - { 124274, true }, - { 124287, true }, - { 124296, true }, - { 124307, true }, - { 124321, true }, - { 124335, true }, - { 124355, true }, - { 124371, true }, - { 124382, true }, - { 124393, true }, - { 124409, true }, - { 124426, true }, + { 124136, true }, + { 124146, true }, + { 124158, true }, + { 124173, true }, + { 124182, true }, + { 124196, true }, + { 124209, true }, + { 124224, true }, + { 124238, true }, + { 124249, true }, + { 124264, true }, + { 124274, false }, + { 124284, true }, + { 124312, true }, + { 124325, true }, + { 124344, true }, + { 124357, true }, + { 124366, true }, + { 124377, true }, + { 124391, true }, + { 124405, true }, + { 124425, true }, { 124441, true }, - { 124454, true }, - { 124464, true }, - { 124485, true }, - { 124498, true }, - { 124515, true }, - { 124525, true }, - { 124535, true }, - { 124543, true }, - { 124554, true }, - { 124564, true }, - { 124579, true }, - { 124591, true }, - { 124604, true }, - { 124618, true }, - { 124630, true }, - { 124640, true }, - { 124648, true }, + { 124452, true }, + { 124463, true }, + { 124479, true }, + { 124496, true }, + { 124511, true }, + { 124524, true }, + { 124534, true }, + { 124555, true }, + { 124568, true }, + { 124585, true }, + { 124595, true }, + { 124605, true }, + { 124613, true }, + { 124624, true }, + { 124634, true }, + { 124649, true }, { 124661, true }, - { 124680, true }, - { 124705, true }, - { 124725, true }, - { 124734, true }, - { 124748, true }, - { 124762, true }, + { 124674, true }, + { 124688, true }, + { 124700, true }, + { 124710, true }, + { 124718, true }, + { 124731, true }, + { 124750, true }, + { 124775, true }, + { 124795, true }, { 124804, true }, - { 124820, true }, - { 124834, true }, - { 124843, true }, - { 124855, true }, - { 124867, true }, - { 124880, true }, - { 124893, true }, - { 124911, true }, - { 124919, true }, - { 124932, true }, - { 124943, true }, - { 124957, true }, - { 124967, true }, - { 124977, true }, + { 124818, true }, + { 124832, true }, + { 124874, true }, + { 124890, true }, + { 124904, true }, + { 124913, true }, + { 124925, true }, + { 124937, true }, + { 124950, true }, + { 124963, true }, + { 124981, true }, { 124989, true }, - { 125000, true }, - { 125015, true }, - { 125032, true }, + { 125002, true }, + { 125013, true }, + { 125027, true }, + { 125037, true }, { 125047, true }, { 125059, true }, - { 125072, true }, - { 125084, true }, - { 125099, true }, - { 125112, true }, - { 125124, true }, - { 125134, true }, - { 125143, true }, - { 125164, true }, - { 125177, true }, - { 125195, true }, - { 125210, true }, - { 125224, true }, - { 125242, true }, - { 125260, true }, - { 125272, true }, - { 125283, true }, - { 125300, true }, - { 125318, true }, - { 125329, true }, - { 125343, true }, - { 125363, true }, - { 125376, true }, + { 125070, true }, + { 125085, true }, + { 125102, true }, + { 125117, true }, + { 125129, true }, + { 125142, true }, + { 125154, true }, + { 125169, true }, + { 125182, true }, + { 125194, true }, + { 125204, true }, + { 125213, true }, + { 125234, true }, + { 125247, true }, + { 125265, true }, + { 125280, true }, + { 125294, true }, + { 125312, true }, + { 125330, true }, + { 125342, true }, + { 125353, true }, + { 125370, true }, { 125388, true }, - { 125408, true }, - { 125417, true }, - { 125426, true }, + { 125399, true }, + { 125413, true }, { 125433, true }, - { 125448, true }, - { 125463, true }, - { 125477, true }, - { 125489, true }, - { 125508, true }, - { 125532, true }, - { 125543, true }, - { 125557, true }, - { 125569, true }, - { 125582, true }, - { 125595, true }, - { 125606, true }, - { 125616, true }, - { 125629, true }, - { 125641, true }, - { 125664, true }, - { 125673, true }, - { 125690, true }, - { 125700, true }, - { 125712, true }, - { 125723, true }, + { 125446, true }, + { 125458, true }, + { 125478, true }, + { 125487, true }, + { 125496, true }, + { 125503, true }, + { 125518, true }, + { 125533, true }, + { 125547, true }, + { 125559, true }, + { 125578, true }, + { 125602, true }, + { 125613, true }, + { 125627, true }, + { 125639, true }, + { 125652, true }, + { 125665, true }, + { 125676, true }, + { 125686, true }, + { 125699, true }, + { 125711, true }, { 125734, true }, - { 125749, true }, - { 125763, true }, - { 125771, true }, - { 125785, true }, - { 125799, true }, - { 125807, true }, - { 125820, true }, - { 125831, true }, - { 125843, true }, - { 125854, true }, - { 125878, true }, - { 125886, true }, - { 125896, true }, - { 125906, true }, - { 125923, true }, - { 125934, true }, - { 125952, true }, - { 125970, true }, - { 125984, true }, - { 125994, true }, - { 126006, true }, - { 126030, true }, - { 126044, true }, - { 126063, true }, - { 126075, true }, - { 126094, true }, - { 126111, true }, - { 126126, true }, - { 126136, true }, - { 126151, true }, - { 126171, true }, - { 126183, true }, - { 126195, true }, - { 126208, true }, - { 126217, true }, - { 126226, true }, - { 126235, true }, - { 126247, true }, - { 126254, true }, - { 126282, true }, - { 126309, true }, - { 126335, true }, - { 126360, true }, - { 126370, true }, + { 125743, true }, + { 125760, true }, + { 125770, true }, + { 125782, true }, + { 125793, true }, + { 125804, true }, + { 125819, true }, + { 125833, true }, + { 125841, true }, + { 125855, true }, + { 125869, true }, + { 125877, true }, + { 125890, true }, + { 125901, true }, + { 125913, true }, + { 125924, true }, + { 125948, true }, + { 125956, true }, + { 125966, true }, + { 125976, true }, + { 125993, true }, + { 126004, true }, + { 126022, true }, + { 126040, true }, + { 126054, true }, + { 126064, true }, + { 126076, true }, + { 126100, true }, + { 126114, true }, + { 126133, true }, + { 126145, true }, + { 126164, true }, + { 126181, true }, + { 126196, true }, + { 126206, true }, + { 126221, true }, + { 126241, true }, + { 126253, true }, + { 126265, true }, + { 126278, true }, + { 126287, true }, + { 126296, true }, + { 126305, true }, + { 126317, true }, + { 126324, true }, + { 126352, true }, { 126379, true }, - { 126394, true }, - { 126409, false }, - { 126427, true }, - { 126438, true }, - { 126450, true }, - { 126466, true }, - { 126480, true }, - { 126495, true }, - { 126511, true }, - { 126537, true }, - { 126548, true }, - { 126563, true }, - { 126578, true }, - { 126593, true }, - { 126611, true }, - { 126621, true }, - { 126636, true }, - { 126651, true }, - { 126664, true }, - { 126680, true }, - { 126703, true }, - { 126716, true }, - { 126729, true }, - { 126742, true }, - { 126761, true }, + { 126405, true }, + { 126430, true }, + { 126440, true }, + { 126449, true }, + { 126464, true }, + { 126479, false }, + { 126497, true }, + { 126508, true }, + { 126520, true }, + { 126536, true }, + { 126550, true }, + { 126565, true }, + { 126581, true }, + { 126607, true }, + { 126618, true }, + { 126633, true }, + { 126648, true }, + { 126663, true }, + { 126681, true }, + { 126691, true }, + { 126706, true }, + { 126721, true }, + { 126734, true }, + { 126750, true }, { 126773, true }, - { 126789, true }, - { 126803, true }, - { 126815, false }, - { 126834, true }, - { 126846, true }, - { 126861, true }, - { 126879, true }, - { 126890, true }, - { 126902, true }, - { 126913, true }, - { 126926, true }, - { 126937, true }, - { 126954, true }, - { 126977, true }, - { 126992, true }, + { 126786, true }, + { 126799, true }, + { 126812, true }, + { 126831, true }, + { 126843, true }, + { 126859, true }, + { 126873, true }, + { 126885, false }, + { 126904, true }, + { 126916, true }, + { 126931, true }, + { 126949, true }, + { 126960, true }, + { 126972, true }, + { 126983, true }, + { 126996, true }, { 127007, true }, - { 127021, true }, - { 127033, true }, - { 127050, true }, - { 127061, true }, - { 127069, true }, - { 127085, true }, - { 127098, true }, - { 127108, true }, - { 127119, true }, - { 127127, true }, - { 127144, true }, - { 127159, true }, - { 127169, true }, - { 127179, true }, - { 127190, true }, - { 127201, true }, - { 127221, true }, - { 127236, true }, - { 127253, true }, - { 127267, true }, - { 127280, true }, - { 127290, true }, + { 127024, true }, + { 127047, true }, + { 127062, true }, + { 127077, true }, + { 127091, true }, + { 127103, true }, + { 127120, true }, + { 127131, true }, + { 127139, true }, + { 127155, true }, + { 127168, true }, + { 127178, true }, + { 127189, true }, + { 127197, true }, + { 127214, true }, + { 127229, true }, + { 127239, true }, + { 127249, true }, + { 127260, true }, + { 127271, true }, + { 127291, true }, { 127306, true }, - { 127329, true }, - { 127342, true }, - { 127356, true }, - { 127366, true }, - { 127377, true }, - { 127396, true }, - { 127407, true }, - { 127429, true }, - { 127443, true }, - { 127454, true }, - { 127467, true }, + { 127323, true }, + { 127337, true }, + { 127350, true }, + { 127360, true }, + { 127376, true }, + { 127399, true }, + { 127412, true }, + { 127426, true }, + { 127436, true }, + { 127447, true }, + { 127466, true }, { 127477, true }, - { 127495, true }, - { 127520, true }, + { 127499, true }, + { 127513, true }, + { 127524, true }, { 127537, true }, - { 127551, true }, - { 127563, true }, - { 127579, true }, - { 127593, true }, - { 127604, true }, - { 127614, true }, - { 127626, true }, - { 127643, true }, - { 127660, true }, - { 127680, true }, - { 127707, true }, - { 127732, true }, - { 127748, true }, - { 127763, true }, - { 127776, true }, - { 127796, true }, - { 127808, true }, - { 127824, true }, - { 127836, true }, - { 127853, true }, - { 127870, true }, - { 127890, true }, - { 127907, true }, - { 127921, true }, - { 127938, true }, - { 127951, true }, - { 127963, true }, - { 127975, true }, - { 127988, false }, - { 128002, true }, - { 128025, false }, - { 128039, true }, - { 128051, true }, - { 128062, true }, - { 128074, true }, - { 128092, true }, - { 128105, true }, - { 128120, true }, - { 128134, true }, - { 128152, true }, + { 127547, true }, + { 127565, true }, + { 127590, true }, + { 127607, true }, + { 127621, true }, + { 127633, true }, + { 127649, true }, + { 127663, true }, + { 127674, true }, + { 127684, true }, + { 127696, true }, + { 127713, true }, + { 127730, true }, + { 127750, true }, + { 127777, true }, + { 127802, true }, + { 127818, true }, + { 127833, true }, + { 127846, true }, + { 127866, true }, + { 127878, true }, + { 127894, true }, + { 127906, true }, + { 127923, true }, + { 127940, true }, + { 127960, true }, + { 127977, true }, + { 127991, true }, + { 128008, true }, + { 128021, true }, + { 128033, true }, + { 128045, true }, + { 128058, false }, + { 128072, true }, + { 128095, false }, + { 128109, true }, + { 128121, true }, + { 128132, true }, + { 128144, true }, { 128162, true }, - { 128174, true }, - { 128207, true }, - { 128217, true }, - { 128226, true }, - { 128245, true }, - { 128257, true }, - { 128271, true }, - { 128292, true }, - { 128306, true }, - { 128320, true }, - { 128338, true }, - { 128356, true }, - { 128374, true }, - { 128386, true }, - { 128399, true }, - { 128411, true }, - { 128419, true }, - { 128433, true }, - { 128449, true }, - { 128464, true }, - { 128478, true }, + { 128175, true }, + { 128190, true }, + { 128204, true }, + { 128222, true }, + { 128232, true }, + { 128244, true }, + { 128277, true }, + { 128287, true }, + { 128296, true }, + { 128315, true }, + { 128327, true }, + { 128341, true }, + { 128362, true }, + { 128376, true }, + { 128390, true }, + { 128408, true }, + { 128426, true }, + { 128444, true }, + { 128456, true }, + { 128469, true }, + { 128481, true }, { 128489, true }, - { 128498, true }, - { 128508, true }, - { 128520, true }, - { 128535, true }, - { 128547, true }, - { 128570, true }, - { 128582, true }, - { 128595, true }, - { 128603, true }, - { 128614, true }, - { 128623, true }, - { 128631, true }, - { 128644, true }, - { 128667, true }, - { 128679, true }, - { 128695, true }, - { 128707, true }, - { 128730, true }, - { 128741, true }, - { 128757, true }, - { 128773, true }, - { 128788, true }, - { 128801, true }, + { 128503, true }, + { 128519, true }, + { 128534, true }, + { 128548, true }, + { 128559, true }, + { 128568, true }, + { 128578, true }, + { 128590, true }, + { 128605, true }, + { 128617, true }, + { 128640, true }, + { 128652, true }, + { 128665, true }, + { 128673, true }, + { 128684, true }, + { 128693, true }, + { 128701, true }, + { 128714, true }, + { 128737, true }, + { 128749, true }, + { 128765, true }, + { 128777, true }, + { 128800, true }, { 128811, true }, - { 128820, true }, { 128827, true }, - { 128840, true }, - { 128857, true }, - { 128880, true }, + { 128843, true }, + { 128858, true }, + { 128871, true }, + { 128881, true }, + { 128890, true }, { 128897, true }, - { 128915, true }, - { 128944, true }, - { 128961, true }, - { 128975, true }, - { 128991, true }, - { 129001, true }, - { 129015, true }, - { 129029, true }, - { 129041, true }, - { 129050, true }, - { 129066, true }, - { 129083, true }, - { 129099, false }, - { 129114, true }, - { 129127, true }, - { 129138, true }, - { 129156, true }, - { 129165, true }, - { 129179, true }, + { 128910, true }, + { 128927, true }, + { 128950, true }, + { 128967, true }, + { 128985, true }, + { 129014, true }, + { 129031, true }, + { 129045, true }, + { 129061, true }, + { 129071, true }, + { 129085, true }, + { 129099, true }, + { 129111, true }, + { 129120, true }, + { 129136, true }, + { 129153, true }, + { 129169, false }, + { 129184, true }, { 129197, true }, - { 129215, true }, - { 129223, true }, - { 129233, true }, - { 129241, true }, - { 129251, true }, - { 129262, true }, - { 129272, true }, - { 129286, true }, - { 129294, true }, - { 129306, true }, - { 129320, true }, - { 129338, true }, - { 129347, true }, - { 129358, true }, - { 129371, true }, - { 129386, true }, - { 129404, true }, - { 129412, true }, - { 129427, true }, - { 129440, true }, - { 129458, true }, - { 129476, true }, - { 129488, true }, - { 129498, true }, - { 129509, true }, - { 129521, true }, - { 129535, true }, - { 129547, true }, - { 129561, true }, - { 129576, true }, - { 129587, true }, - { 129598, true }, - { 129612, true }, - { 129636, false }, - { 129652, false }, - { 129673, true }, - { 129690, true }, - { 129708, true }, - { 129725, true }, - { 129742, true }, - { 129757, true }, - { 129771, true }, - { 129783, true }, - { 129791, true }, - { 129806, true }, - { 129814, true }, + { 129208, true }, + { 129226, true }, + { 129235, true }, + { 129249, true }, + { 129267, true }, + { 129285, true }, + { 129293, true }, + { 129303, true }, + { 129311, true }, + { 129321, true }, + { 129332, true }, + { 129342, true }, + { 129356, true }, + { 129364, true }, + { 129376, true }, + { 129390, true }, + { 129408, true }, + { 129417, true }, + { 129428, true }, + { 129441, true }, + { 129456, true }, + { 129474, true }, + { 129482, true }, + { 129497, true }, + { 129510, true }, + { 129528, true }, + { 129546, true }, + { 129558, true }, + { 129568, true }, + { 129579, true }, + { 129591, true }, + { 129605, true }, + { 129617, true }, + { 129631, true }, + { 129646, true }, + { 129657, true }, + { 129668, true }, + { 129682, true }, + { 129706, false }, + { 129722, false }, + { 129743, true }, + { 129760, true }, + { 129778, true }, + { 129795, true }, + { 129812, true }, { 129827, true }, - { 129835, true }, + { 129841, true }, { 129853, true }, - { 129877, true }, - { 129894, true }, - { 129909, true }, - { 129922, true }, - { 129945, false }, - { 129961, true }, - { 129974, true }, - { 129988, false }, - { 130002, true }, - { 130014, true }, - { 130025, true }, - { 130036, true }, - { 130046, true }, - { 130057, false }, - { 130078, false }, - { 130089, true }, - { 130103, true }, - { 130115, true }, - { 130129, true }, - { 130147, true }, - { 130161, true }, - { 130172, true }, - { 130189, true }, - { 130200, true }, - { 130210, true }, - { 130230, true }, - { 130241, true }, - { 130255, true }, - { 130269, true }, + { 129861, true }, + { 129876, true }, + { 129884, true }, + { 129897, true }, + { 129905, true }, + { 129923, true }, + { 129947, true }, + { 129964, true }, + { 129979, true }, + { 129992, true }, + { 130015, false }, + { 130031, true }, + { 130044, true }, + { 130058, false }, + { 130072, true }, + { 130084, true }, + { 130095, true }, + { 130106, true }, + { 130116, true }, + { 130127, false }, + { 130148, false }, + { 130159, true }, + { 130173, true }, + { 130185, true }, + { 130199, true }, + { 130217, true }, + { 130231, true }, + { 130242, true }, + { 130259, true }, + { 130270, true }, { 130280, true }, - { 130293, true }, - { 130304, true }, - { 130323, true }, + { 130300, true }, + { 130311, true }, + { 130325, true }, { 130339, true }, - { 130352, true }, - { 130360, true }, - { 130374, false }, - { 130387, true }, - { 130399, true }, - { 130412, true }, - { 130425, true }, - { 130437, true }, - { 130449, true }, - { 130464, true }, - { 130479, true }, - { 130489, true }, - { 130504, true }, - { 130518, true }, - { 130531, true }, - { 130541, false }, - { 130552, true }, + { 130350, true }, + { 130363, true }, + { 130374, true }, + { 130393, true }, + { 130409, true }, + { 130422, true }, + { 130430, true }, + { 130444, false }, + { 130457, true }, + { 130469, true }, + { 130482, true }, + { 130495, true }, + { 130507, true }, + { 130519, true }, + { 130534, true }, + { 130549, true }, + { 130559, true }, { 130574, true }, { 130588, true }, { 130601, true }, - { 130612, true }, + { 130611, false }, { 130622, true }, - { 130632, true }, - { 130643, true }, - { 130655, true }, - { 130665, true }, - { 130676, true }, - { 130687, true }, - { 130700, true }, - { 130712, true }, - { 130722, true }, - { 130734, true }, - { 130744, true }, - { 130752, true }, - { 130774, true }, - { 130786, true }, - { 130795, true }, - { 130811, true }, - { 130820, true }, - { 130832, true }, + { 130644, true }, + { 130658, true }, + { 130671, true }, + { 130682, true }, + { 130692, true }, + { 130702, true }, + { 130713, true }, + { 130725, true }, + { 130735, true }, + { 130746, true }, + { 130757, true }, + { 130770, true }, + { 130782, true }, + { 130792, true }, + { 130804, true }, + { 130814, true }, + { 130822, true }, { 130844, true }, - { 130854, true }, - { 130864, true }, - { 130875, true }, - { 130885, true }, - { 130898, false }, - { 130909, true }, - { 130922, false }, - { 130947, true }, - { 130959, true }, - { 130968, true }, - { 130977, true }, - { 130994, true }, - { 131012, true }, - { 131020, true }, - { 131039, true }, - { 131052, true }, - { 131066, true }, - { 131076, true }, - { 131095, true }, - { 131118, true }, - { 131137, true }, - { 131149, true }, - { 131173, true }, - { 131191, true }, - { 131209, true }, - { 131223, true }, - { 131241, true }, + { 130856, true }, + { 130865, true }, + { 130881, true }, + { 130890, true }, + { 130902, true }, + { 130914, true }, + { 130924, true }, + { 130934, true }, + { 130945, true }, + { 130955, true }, + { 130968, false }, + { 130979, true }, + { 130992, false }, + { 131017, true }, + { 131029, true }, + { 131038, true }, + { 131047, true }, + { 131064, true }, + { 131082, true }, + { 131090, true }, + { 131109, true }, + { 131122, true }, + { 131136, true }, + { 131146, true }, + { 131165, true }, + { 131188, true }, + { 131207, true }, + { 131219, true }, + { 131243, true }, { 131257, true }, - { 131276, true }, - { 131286, true }, - { 131309, false }, - { 131322, true }, - { 131333, true }, - { 131343, true }, + { 131275, true }, + { 131293, true }, + { 131311, true }, + { 131327, true }, + { 131346, true }, { 131356, true }, - { 131365, true }, - { 131376, true }, - { 131388, true }, - { 131398, false }, - { 131411, true }, - { 131421, true }, - { 131429, true }, - { 131441, true }, - { 131453, true }, - { 131461, true }, - { 131473, true }, - { 131488, true }, - { 131497, true }, - { 131512, true }, - { 131518, true }, - { 131530, true }, - { 131540, true }, - { 131549, true }, - { 131559, true }, - { 131566, false }, - { 131581, true }, - { 131592, true }, - { 131603, true }, - { 131621, true }, - { 131636, true }, - { 131649, true }, + { 131379, false }, + { 131392, true }, + { 131403, true }, + { 131413, true }, + { 131426, true }, + { 131435, true }, + { 131446, true }, + { 131458, true }, + { 131468, false }, + { 131481, true }, + { 131491, true }, + { 131499, true }, + { 131511, true }, + { 131523, true }, + { 131531, true }, + { 131543, true }, + { 131558, true }, + { 131567, true }, + { 131582, true }, + { 131588, true }, + { 131600, true }, + { 131610, true }, + { 131619, true }, + { 131629, true }, + { 131636, false }, + { 131651, true }, { 131662, true }, - { 131676, true }, - { 131688, true }, - { 131702, true }, - { 131715, true }, - { 131729, true }, - { 131740, true }, - { 131749, true }, - { 131764, true }, - { 131783, true }, - { 131793, true }, - { 131805, true }, - { 131818, true }, - { 131826, true }, - { 131839, true }, - { 131851, true }, - { 131864, true }, - { 131884, true }, - { 131903, true }, - { 131919, true }, - { 131936, true }, - { 131948, true }, - { 131968, true }, - { 131982, true }, - { 131997, true }, - { 132012, true }, - { 132025, true }, - { 132044, true }, - { 132056, true }, - { 132068, true }, - { 132087, true }, + { 131673, true }, + { 131691, true }, + { 131706, true }, + { 131719, true }, + { 131732, true }, + { 131746, true }, + { 131758, true }, + { 131772, true }, + { 131785, true }, + { 131799, true }, + { 131810, true }, + { 131819, true }, + { 131834, true }, + { 131853, true }, + { 131863, true }, + { 131875, true }, + { 131888, true }, + { 131896, true }, + { 131909, true }, + { 131921, true }, + { 131934, true }, + { 131954, true }, + { 131973, true }, + { 131989, true }, + { 132006, true }, + { 132018, true }, + { 132038, true }, + { 132052, true }, + { 132067, true }, + { 132082, true }, { 132095, true }, { 132114, true }, - { 132132, true }, - { 132154, true }, - { 132170, true }, - { 132181, true }, - { 132196, true }, - { 132206, true }, - { 132220, true }, - { 132235, false }, - { 132246, true }, - { 132265, true }, - { 132274, false }, - { 132285, true }, - { 132293, true }, - { 132301, true }, - { 132310, true }, - { 132318, true }, - { 132329, true }, - { 132341, true }, - { 132356, true }, - { 132370, true }, - { 132384, true }, - { 132395, true }, - { 132404, true }, - { 132420, true }, - { 132442, true }, + { 132126, true }, + { 132138, true }, + { 132157, true }, + { 132165, true }, + { 132184, true }, + { 132202, true }, + { 132224, true }, + { 132240, true }, + { 132251, true }, + { 132266, true }, + { 132276, true }, + { 132290, true }, + { 132305, true }, + { 132324, true }, + { 132333, false }, + { 132344, true }, + { 132352, true }, + { 132360, true }, + { 132369, true }, + { 132377, true }, + { 132388, true }, + { 132400, true }, + { 132415, true }, + { 132429, true }, + { 132443, true }, { 132454, true }, - { 132472, true }, - { 132490, true }, - { 132497, true }, - { 132509, true }, - { 132519, true }, - { 132535, true }, - { 132542, true }, - { 132554, true }, - { 132572, true }, - { 132590, true }, - { 132610, true }, + { 132463, true }, + { 132479, true }, + { 132501, true }, + { 132513, true }, + { 132531, true }, + { 132549, true }, + { 132556, true }, + { 132568, true }, + { 132578, true }, + { 132594, true }, + { 132601, true }, + { 132613, true }, { 132631, true }, - { 132654, true }, - { 132689, true }, - { 132723, true }, - { 132746, true }, - { 132801, true }, - { 132813, true }, - { 132823, true }, - { 132841, true }, - { 132856, true }, - { 132869, false }, - { 132883, true }, - { 132898, true }, - { 132912, true }, - { 132924, false }, - { 132940, true }, - { 132965, true }, - { 132975, true }, - { 132986, true }, - { 132998, true }, - { 133020, true }, - { 133043, true }, - { 133053, true }, - { 133063, true }, - { 133086, true }, - { 133099, false }, - { 133113, true }, - { 133131, true }, - { 133142, true }, - { 133153, true }, + { 132649, true }, + { 132669, true }, + { 132690, true }, + { 132713, true }, + { 132748, true }, + { 132782, true }, + { 132805, true }, + { 132860, true }, + { 132872, true }, + { 132882, true }, + { 132900, true }, + { 132915, true }, + { 132928, false }, + { 132942, true }, + { 132957, true }, + { 132971, true }, + { 132983, false }, + { 132999, true }, + { 133024, true }, + { 133034, true }, + { 133045, true }, + { 133057, true }, + { 133079, true }, + { 133102, true }, + { 133112, true }, + { 133122, true }, + { 133145, true }, + { 133158, false }, { 133172, true }, - { 133188, true }, + { 133190, true }, { 133201, true }, - { 133226, true }, - { 133240, true }, - { 133253, true }, - { 133282, true }, - { 133295, true }, - { 133305, true }, - { 133317, true }, - { 133329, true }, - { 133348, true }, - { 133358, true }, - { 133372, true }, - { 133389, true }, - { 133406, true }, - { 133418, true }, - { 133432, true }, - { 133446, true }, - { 133456, true }, - { 133473, true }, - { 133485, true }, - { 133496, true }, - { 133512, true }, - { 133527, true }, - { 133539, false }, - { 133548, true }, - { 133568, true }, - { 133588, true }, - { 133604, true }, - { 133625, true }, - { 133639, true }, - { 133652, true }, - { 133667, true }, - { 133679, true }, - { 133696, true }, - { 133706, true }, - { 133727, true }, - { 133741, true }, + { 133212, true }, + { 133231, true }, + { 133247, true }, + { 133260, true }, + { 133285, true }, + { 133299, true }, + { 133312, true }, + { 133341, true }, + { 133354, true }, + { 133364, true }, + { 133376, true }, + { 133388, true }, + { 133407, true }, + { 133417, true }, + { 133431, true }, + { 133448, true }, + { 133465, true }, + { 133477, true }, + { 133491, true }, + { 133505, true }, + { 133515, true }, + { 133532, true }, + { 133544, true }, + { 133555, true }, + { 133571, true }, + { 133586, true }, + { 133598, false }, + { 133607, true }, + { 133627, true }, + { 133647, true }, + { 133663, true }, + { 133684, true }, + { 133698, true }, + { 133711, true }, + { 133726, true }, + { 133738, true }, { 133755, true }, - { 133773, true }, - { 133788, true }, + { 133765, true }, + { 133786, true }, { 133800, true }, - { 133818, true }, - { 133829, true }, - { 133842, true }, - { 133854, true }, - { 133868, true }, - { 133880, true }, + { 133814, true }, + { 133832, true }, + { 133847, true }, + { 133859, true }, + { 133877, true }, + { 133888, true }, { 133901, true }, - { 133920, true }, - { 133932, true }, - { 133944, true }, - { 133963, true }, - { 133975, true }, - { 133994, true }, - { 134015, true }, - { 134031, true }, - { 134044, true }, - { 134061, true }, - { 134076, true }, + { 133913, true }, + { 133927, true }, + { 133939, true }, + { 133960, true }, + { 133979, true }, + { 133991, true }, + { 134003, true }, + { 134022, true }, + { 134034, true }, + { 134053, true }, + { 134074, true }, { 134090, true }, { 134103, true }, - { 134116, true }, - { 134130, true }, - { 134145, true }, - { 134157, true }, - { 134171, true }, - { 134186, true }, - { 134194, true }, + { 134120, true }, + { 134135, true }, + { 134149, true }, + { 134162, true }, + { 134175, true }, + { 134189, true }, { 134204, true }, - { 134217, true }, - { 134236, true }, - { 134259, false }, - { 134272, true }, - { 134290, true }, - { 134298, true }, + { 134216, true }, + { 134230, true }, + { 134245, true }, + { 134253, true }, + { 134263, true }, + { 134276, true }, + { 134295, true }, { 134318, false }, - { 134336, true }, - { 134356, true }, - { 134374, true }, - { 134387, true }, - { 134402, true }, - { 134417, true }, - { 134432, true }, + { 134331, true }, + { 134349, true }, + { 134357, true }, + { 134377, false }, + { 134395, true }, + { 134415, true }, + { 134433, true }, { 134446, true }, { 134461, true }, - { 134486, true }, - { 134497, true }, - { 134513, true }, - { 134527, true }, - { 134540, true }, - { 134568, true }, - { 134595, true }, - { 134620, true }, - { 134648, true }, - { 134662, true }, - { 134676, true }, - { 134695, true }, - { 134709, true }, - { 134725, true }, - { 134738, true }, - { 134749, true }, - { 134760, true }, - { 134778, true }, - { 134789, true }, - { 134801, true }, - { 134829, true }, - { 134839, true }, - { 134856, true }, - { 134873, true }, - { 134883, true }, - { 134906, true }, - { 134916, true }, - { 134925, true }, - { 134947, true }, - { 134959, true }, - { 134970, true }, - { 134982, true }, - { 134994, true }, + { 134476, true }, + { 134491, true }, + { 134505, true }, + { 134520, true }, + { 134545, true }, + { 134556, true }, + { 134572, true }, + { 134586, true }, + { 134599, true }, + { 134627, true }, + { 134654, true }, + { 134679, true }, + { 134707, true }, + { 134721, true }, + { 134735, true }, + { 134754, true }, + { 134768, true }, + { 134784, true }, + { 134797, true }, + { 134808, true }, + { 134819, true }, + { 134837, true }, + { 134848, true }, + { 134860, true }, + { 134888, true }, + { 134898, true }, + { 134915, true }, + { 134932, true }, + { 134942, true }, + { 134965, true }, + { 134975, true }, + { 134984, true }, { 135006, true }, - { 135017, true }, - { 135035, true }, - { 135050, true }, - { 135060, true }, - { 135069, true }, - { 135087, false }, - { 135098, true }, + { 135018, true }, + { 135029, true }, + { 135041, true }, + { 135053, true }, + { 135065, true }, + { 135076, true }, + { 135094, true }, { 135109, true }, - { 135133, false }, - { 135143, true }, - { 135151, true }, - { 135165, true }, - { 135177, true }, - { 135189, true }, - { 135200, true }, - { 135218, true }, - { 135238, true }, - { 135253, true }, - { 135270, true }, - { 135286, true }, - { 135299, true }, - { 135310, true }, - { 135325, true }, - { 135346, true }, - { 135364, true }, - { 135379, true }, - { 135395, true }, - { 135408, true }, - { 135433, true }, - { 135449, true }, - { 135458, true }, - { 135478, true }, - { 135493, true }, - { 135509, true }, - { 135520, true }, - { 135531, true }, - { 135545, true }, - { 135562, true }, - { 135574, true }, - { 135591, true }, - { 135602, true }, - { 135610, true }, - { 135623, true }, - { 135635, true }, - { 135647, true }, + { 135119, true }, + { 135128, true }, + { 135146, false }, + { 135157, true }, + { 135168, true }, + { 135192, false }, + { 135202, true }, + { 135210, true }, + { 135224, true }, + { 135236, true }, + { 135248, true }, + { 135259, true }, + { 135277, true }, + { 135297, true }, + { 135312, true }, + { 135329, true }, + { 135345, true }, + { 135358, true }, + { 135369, true }, + { 135384, true }, + { 135405, true }, + { 135423, true }, + { 135438, true }, + { 135454, true }, + { 135467, true }, + { 135492, true }, + { 135508, true }, + { 135517, true }, + { 135537, true }, + { 135552, true }, + { 135568, true }, + { 135579, true }, + { 135590, true }, + { 135604, true }, + { 135621, true }, + { 135633, true }, + { 135650, true }, { 135661, true }, - { 135671, true }, - { 135685, true }, - { 135701, true }, - { 135714, true }, + { 135669, true }, + { 135682, true }, + { 135694, true }, + { 135706, true }, + { 135720, true }, { 135730, true }, - { 135739, true }, - { 135754, true }, - { 135772, true }, - { 135791, true }, - { 135806, true }, - { 135818, true }, - { 135835, false }, - { 135855, false }, - { 135871, true }, - { 135882, true }, - { 135895, true }, - { 135908, true }, - { 135928, true }, - { 135949, true }, - { 135962, true }, - { 135983, true }, - { 135994, true }, - { 136013, true }, - { 136032, true }, - { 136047, true }, - { 136058, true }, - { 136075, true }, - { 136083, true }, - { 136110, true }, - { 136121, true }, - { 136138, true }, - { 136148, true }, - { 136163, true }, - { 136175, true }, - { 136196, true }, - { 136205, true }, - { 136218, true }, - { 136231, true }, - { 136249, true }, - { 136258, true }, - { 136267, true }, - { 136276, true }, - { 136288, false }, - { 136305, false }, - { 136316, true }, - { 136334, true }, - { 136345, true }, - { 136360, true }, + { 135744, true }, + { 135760, true }, + { 135773, true }, + { 135789, true }, + { 135798, true }, + { 135813, true }, + { 135831, true }, + { 135850, true }, + { 135865, true }, + { 135877, true }, + { 135894, false }, + { 135914, false }, + { 135930, true }, + { 135941, true }, + { 135954, true }, + { 135967, true }, + { 135987, true }, + { 136008, true }, + { 136021, true }, + { 136042, true }, + { 136053, true }, + { 136072, true }, + { 136091, true }, + { 136106, true }, + { 136117, true }, + { 136134, true }, + { 136142, true }, + { 136169, true }, + { 136180, true }, + { 136197, true }, + { 136207, true }, + { 136222, true }, + { 136234, true }, + { 136255, true }, + { 136264, true }, + { 136277, true }, + { 136290, true }, + { 136308, true }, + { 136317, true }, + { 136326, true }, + { 136335, true }, + { 136347, false }, + { 136364, false }, { 136375, true }, - { 136391, true }, - { 136413, true }, - { 136428, true }, - { 136436, true }, - { 136449, true }, - { 136461, true }, - { 136478, true }, - { 136492, true }, - { 136502, true }, - { 136519, true }, + { 136393, true }, + { 136404, true }, + { 136419, true }, + { 136434, true }, + { 136450, true }, + { 136472, true }, + { 136487, true }, + { 136495, true }, + { 136508, true }, + { 136520, true }, { 136537, true }, - { 136554, true }, - { 136571, true }, - { 136579, true }, - { 136598, true }, + { 136551, true }, + { 136561, true }, + { 136578, true }, + { 136596, true }, { 136613, true }, - { 136637, true }, - { 136655, true }, - { 136669, true }, - { 136687, true }, - { 136698, true }, - { 136711, true }, - { 136725, true }, - { 136739, true }, - { 136758, true }, - { 136769, true }, - { 136779, true }, - { 136790, true }, - { 136812, true }, - { 136824, true }, - { 136835, true }, - { 136862, true }, - { 136874, true }, - { 136897, true }, - { 136909, true }, - { 136924, true }, - { 136945, true }, - { 136958, true }, - { 136965, true }, - { 136985, true }, - { 136995, true }, - { 137011, true }, - { 137021, false }, - { 137038, true }, - { 137049, true }, - { 137056, true }, - { 137065, true }, - { 137084, true }, + { 136630, true }, + { 136638, true }, + { 136657, true }, + { 136672, true }, + { 136696, true }, + { 136714, true }, + { 136728, true }, + { 136746, true }, + { 136757, true }, + { 136770, true }, + { 136784, true }, + { 136798, true }, + { 136817, true }, + { 136828, true }, + { 136838, true }, + { 136849, true }, + { 136871, true }, + { 136883, true }, + { 136894, true }, + { 136921, true }, + { 136933, true }, + { 136956, true }, + { 136968, true }, + { 136983, true }, + { 137004, true }, + { 137017, true }, + { 137024, true }, + { 137044, true }, + { 137054, true }, + { 137070, true }, + { 137080, false }, { 137097, true }, + { 137108, true }, { 137115, true }, - { 137125, true }, - { 137145, true }, - { 137155, true }, - { 137170, true }, - { 137183, true }, - { 137193, true }, - { 137217, true }, - { 137234, true }, - { 137246, false }, - { 137261, true }, - { 137274, true }, - { 137286, true }, - { 137296, true }, - { 137314, true }, - { 137325, true }, - { 137337, true }, - { 137355, true }, - { 137376, false }, + { 137124, true }, + { 137143, true }, + { 137156, true }, + { 137174, true }, + { 137184, true }, + { 137204, true }, + { 137214, true }, + { 137229, true }, + { 137242, true }, + { 137252, true }, + { 137276, true }, + { 137293, true }, + { 137305, false }, + { 137320, true }, + { 137333, true }, + { 137343, true }, + { 137361, true }, + { 137372, true }, + { 137384, true }, { 137402, true }, - { 137416, true }, - { 137430, true }, - { 137444, true }, - { 137457, true }, - { 137471, true }, - { 137482, true }, - { 137496, true }, - { 137509, true }, - { 137521, true }, - { 137534, true }, - { 137551, true }, - { 137566, true }, - { 137578, false }, - { 137592, true }, - { 137612, true }, + { 137423, false }, + { 137449, true }, + { 137463, true }, + { 137477, true }, + { 137490, true }, + { 137504, true }, + { 137515, true }, + { 137529, true }, + { 137542, true }, + { 137554, true }, + { 137567, true }, + { 137584, true }, + { 137599, true }, + { 137611, false }, { 137625, true }, - { 137638, true }, - { 137651, true }, + { 137645, true }, + { 137658, true }, { 137671, true }, - { 137681, true }, - { 137692, true }, - { 137703, true }, + { 137684, true }, + { 137704, true }, { 137714, true }, - { 137726, true }, - { 137739, true }, - { 137763, true }, - { 137776, true }, - { 137799, true }, - { 137811, true }, - { 137825, true }, - { 137836, true }, - { 137849, true }, - { 137857, true }, + { 137725, true }, + { 137736, true }, + { 137747, true }, + { 137759, true }, + { 137772, true }, + { 137796, true }, + { 137809, true }, + { 137832, true }, + { 137844, true }, + { 137858, true }, { 137869, true }, - { 137883, true }, - { 137898, true }, - { 137921, true }, - { 137932, true }, - { 137946, true }, - { 137959, false }, - { 137974, true }, - { 137986, true }, - { 137996, true }, - { 138012, true }, - { 138024, false }, - { 138038, true }, - { 138052, true }, - { 138064, true }, - { 138078, true }, - { 138088, true }, - { 138103, true }, - { 138117, true }, - { 138130, true }, - { 138143, true }, - { 138169, true }, - { 138179, true }, - { 138207, true }, - { 138235, true }, - { 138245, true }, - { 138272, true }, - { 138284, true }, - { 138294, true }, - { 138313, true }, - { 138323, true }, - { 138336, true }, - { 138352, true }, - { 138365, true }, - { 138379, true }, - { 138395, false }, - { 138410, true }, - { 138428, true }, - { 138441, true }, - { 138460, true }, - { 138468, true }, - { 138481, true }, - { 138496, true }, - { 138510, true }, - { 138526, true }, - { 138540, true }, - { 138558, true }, - { 138571, true }, - { 138581, true }, - { 138590, false }, - { 138601, true }, - { 138612, true }, - { 138622, true }, + { 137882, true }, + { 137890, true }, + { 137902, true }, + { 137916, true }, + { 137931, true }, + { 137954, true }, + { 137965, true }, + { 137979, true }, + { 137992, false }, + { 138007, true }, + { 138019, true }, + { 138029, true }, + { 138045, true }, + { 138057, false }, + { 138071, true }, + { 138085, true }, + { 138097, true }, + { 138111, true }, + { 138121, true }, + { 138136, true }, + { 138150, true }, + { 138163, true }, + { 138176, true }, + { 138202, true }, + { 138212, true }, + { 138240, true }, + { 138268, true }, + { 138278, true }, + { 138305, true }, + { 138317, true }, + { 138327, true }, + { 138346, true }, + { 138356, true }, + { 138369, true }, + { 138385, true }, + { 138398, true }, + { 138412, true }, + { 138428, false }, + { 138443, true }, + { 138461, true }, + { 138474, true }, + { 138493, true }, + { 138501, true }, + { 138514, true }, + { 138529, true }, + { 138543, true }, + { 138559, true }, + { 138573, true }, + { 138591, true }, + { 138604, true }, + { 138614, true }, + { 138623, false }, { 138634, true }, - { 138644, true }, - { 138671, true }, - { 138689, true }, - { 138709, true }, - { 138723, true }, - { 138734, true }, - { 138743, true }, - { 138752, true }, - { 138769, false }, - { 138783, true }, - { 138806, true }, - { 138822, true }, - { 138843, true }, - { 138859, true }, - { 138872, true }, - { 138894, true }, - { 138904, true }, - { 138912, true }, - { 138921, true }, - { 138932, true }, - { 138947, true }, - { 138961, true }, - { 138971, true }, - { 138988, true }, - { 139003, true }, - { 139017, true }, - { 139027, true }, - { 139047, true }, - { 139062, true }, - { 139072, true }, - { 139090, true }, + { 138645, true }, + { 138655, true }, + { 138667, true }, + { 138677, true }, + { 138704, true }, + { 138722, true }, + { 138742, true }, + { 138756, true }, + { 138767, true }, + { 138776, true }, + { 138785, true }, + { 138802, false }, + { 138816, true }, + { 138839, true }, + { 138855, true }, + { 138876, true }, + { 138892, true }, + { 138905, true }, + { 138927, true }, + { 138937, true }, + { 138945, true }, + { 138954, true }, + { 138965, true }, + { 138980, true }, + { 138994, true }, + { 139004, true }, + { 139021, true }, + { 139036, true }, + { 139050, true }, + { 139060, true }, + { 139080, true }, + { 139095, true }, { 139105, true }, - { 139131, true }, - { 139145, true }, - { 139157, true }, - { 139176, true }, - { 139189, true }, - { 139213, false }, - { 139232, true }, - { 139260, true }, - { 139274, true }, - { 139287, true }, - { 139301, true }, - { 139313, true }, - { 139327, true }, - { 139337, true }, - { 139359, true }, - { 139378, true }, - { 139396, true }, + { 139123, true }, + { 139138, true }, + { 139164, true }, + { 139178, true }, + { 139190, true }, + { 139209, true }, + { 139222, true }, + { 139246, false }, + { 139265, true }, + { 139293, true }, + { 139307, true }, + { 139320, true }, + { 139334, true }, + { 139346, true }, + { 139360, true }, + { 139370, true }, + { 139392, true }, { 139411, true }, - { 139419, true }, - { 139430, true }, - { 139443, true }, - { 139454, true }, - { 139470, true }, - { 139484, true }, - { 139502, true }, - { 139518, true }, - { 139532, true }, - { 139547, true }, - { 139562, true }, - { 139574, true }, - { 139586, true }, - { 139605, true }, - { 139621, false }, - { 139646, true }, - { 139665, true }, - { 139682, true }, - { 139692, true }, - { 139703, true }, - { 139715, false }, - { 139730, true }, - { 139748, true }, - { 139757, true }, - { 139764, true }, - { 139772, true }, - { 139783, true }, - { 139797, true }, - { 139810, true }, - { 139823, true }, - { 139836, true }, - { 139847, true }, - { 139860, true }, - { 139870, true }, - { 139880, true }, + { 139429, true }, + { 139444, true }, + { 139452, true }, + { 139463, true }, + { 139476, true }, + { 139487, true }, + { 139503, true }, + { 139517, true }, + { 139535, true }, + { 139551, true }, + { 139565, true }, + { 139580, true }, + { 139595, true }, + { 139607, true }, + { 139619, true }, + { 139638, true }, + { 139654, false }, + { 139679, true }, + { 139698, true }, + { 139715, true }, + { 139727, false }, + { 139742, true }, + { 139760, true }, + { 139769, true }, + { 139776, true }, + { 139784, true }, + { 139795, true }, + { 139809, true }, + { 139822, true }, + { 139835, true }, + { 139848, true }, + { 139859, true }, + { 139872, true }, + { 139882, true }, { 139892, true }, - { 139900, true }, + { 139904, true }, { 139912, true }, - { 139921, true }, - { 139928, true }, - { 139938, true }, - { 139949, true }, - { 139960, true }, - { 139978, true }, - { 139996, true }, - { 140010, true }, - { 140024, true }, - { 140047, true }, - { 140057, true }, - { 140068, true }, - { 140083, true }, - { 140101, true }, - { 140118, true }, - { 140132, true }, - { 140147, true }, - { 140163, true }, - { 140176, true }, - { 140192, true }, - { 140206, true }, + { 139924, true }, + { 139933, true }, + { 139940, true }, + { 139950, true }, + { 139961, true }, + { 139972, true }, + { 139990, true }, + { 140008, true }, + { 140022, true }, + { 140036, true }, + { 140059, true }, + { 140069, true }, + { 140080, true }, + { 140095, true }, + { 140113, true }, + { 140130, true }, + { 140144, true }, + { 140159, true }, + { 140175, true }, + { 140188, true }, + { 140204, true }, { 140218, true }, { 140230, true }, { 140242, true }, - { 140255, true }, - { 140272, true }, - { 140285, false }, - { 140296, true }, - { 140310, true }, - { 140321, true }, - { 140334, true }, - { 140349, true }, - { 140356, true }, - { 140375, true }, - { 140394, true }, - { 140420, true }, - { 140435, true }, + { 140254, true }, + { 140267, true }, + { 140284, true }, + { 140297, false }, + { 140308, true }, + { 140322, true }, + { 140333, true }, + { 140346, true }, + { 140361, true }, + { 140368, true }, + { 140387, true }, + { 140406, true }, + { 140432, true }, { 140447, true }, - { 140471, false }, - { 140486, true }, - { 140497, true }, - { 140520, false }, - { 140531, false }, - { 140542, false }, - { 140554, true }, - { 140568, true }, - { 140581, true }, - { 140594, true }, - { 140607, true }, - { 140629, true }, - { 140639, true }, - { 140659, true }, - { 140677, true }, - { 140691, true }, - { 140708, false }, - { 140723, false }, - { 140739, true }, - { 140756, true }, - { 140767, true }, - { 140778, true }, - { 140800, true }, - { 140814, true }, - { 140834, true }, - { 140851, true }, - { 140861, true }, - { 140869, true }, - { 140880, true }, - { 140888, true }, - { 140897, true }, - { 140908, true }, - { 140918, true }, - { 140933, true }, - { 140946, true }, - { 140960, true }, - { 140968, true }, - { 140978, true }, - { 140995, true }, - { 141016, true }, - { 141030, true }, - { 141047, true }, - { 141062, true }, - { 141076, true }, - { 141098, true }, - { 141118, true }, - { 141133, true }, - { 141148, true }, - { 141159, true }, + { 140459, true }, + { 140483, false }, + { 140498, true }, + { 140509, true }, + { 140532, false }, + { 140543, false }, + { 140554, false }, + { 140566, true }, + { 140580, true }, + { 140593, true }, + { 140606, true }, + { 140619, true }, + { 140641, true }, + { 140651, true }, + { 140671, true }, + { 140689, true }, + { 140703, true }, + { 140720, false }, + { 140735, false }, + { 140751, true }, + { 140768, true }, + { 140779, true }, + { 140790, true }, + { 140812, true }, + { 140826, true }, + { 140846, true }, + { 140863, true }, + { 140873, true }, + { 140881, true }, + { 140892, true }, + { 140900, true }, + { 140909, true }, + { 140920, true }, + { 140930, true }, + { 140945, true }, + { 140958, true }, + { 140972, true }, + { 140980, true }, + { 140990, true }, + { 141007, true }, + { 141028, true }, + { 141042, true }, + { 141059, true }, + { 141074, true }, + { 141088, true }, + { 141110, true }, + { 141130, true }, + { 141145, true }, + { 141160, true }, { 141171, true }, - { 141187, true }, - { 141201, true }, - { 141214, true }, - { 141227, true }, - { 141240, true }, - { 141253, true }, - { 141266, true }, - { 141285, true }, - { 141298, true }, + { 141183, true }, + { 141199, true }, + { 141213, true }, + { 141226, true }, + { 141239, true }, + { 141252, true }, + { 141265, true }, + { 141278, true }, + { 141297, true }, { 141310, true }, - { 141321, false }, - { 141337, true }, - { 141350, true }, - { 141364, true }, - { 141377, true }, - { 141387, true }, - { 141407, true }, - { 141430, true }, - { 141450, true }, - { 141461, true }, - { 141471, true }, - { 141481, true }, - { 141496, true }, - { 141512, true }, - { 141522, true }, - { 141539, true }, + { 141322, true }, + { 141333, false }, + { 141349, true }, + { 141362, true }, + { 141376, true }, + { 141389, true }, + { 141399, true }, + { 141419, true }, + { 141442, true }, + { 141462, true }, + { 141473, true }, + { 141483, true }, + { 141493, true }, + { 141508, true }, + { 141524, true }, + { 141534, true }, { 141551, true }, - { 141568, true }, - { 141576, true }, - { 141592, true }, - { 141607, true }, - { 141627, true }, - { 141637, true }, - { 141651, true }, - { 141676, true }, - { 141690, true }, - { 141704, true }, - { 141718, true }, - { 141732, true }, - { 141746, true }, - { 141761, true }, - { 141775, true }, - { 141789, true }, - { 141803, true }, - { 141823, true }, - { 141840, true }, - { 141858, true }, - { 141873, true }, - { 141884, true }, - { 141897, true }, - { 141915, true }, - { 141930, true }, - { 141946, true }, + { 141563, true }, + { 141580, true }, + { 141588, true }, + { 141604, true }, + { 141619, true }, + { 141639, true }, + { 141649, true }, + { 141663, true }, + { 141688, true }, + { 141702, true }, + { 141716, true }, + { 141730, true }, + { 141744, true }, + { 141758, true }, + { 141773, true }, + { 141787, true }, + { 141801, true }, + { 141815, true }, + { 141835, true }, + { 141852, true }, + { 141870, true }, + { 141885, true }, + { 141896, true }, + { 141909, true }, + { 141927, true }, + { 141942, true }, { 141958, true }, - { 141975, true }, - { 141988, true }, - { 142003, true }, - { 142013, true }, - { 142022, true }, - { 142035, false }, - { 142050, true }, - { 142061, true }, - { 142076, true }, + { 141970, true }, + { 141987, true }, + { 142000, true }, + { 142015, true }, + { 142025, true }, + { 142034, true }, + { 142047, false }, + { 142062, true }, + { 142073, true }, { 142088, true }, - { 142105, true }, - { 142114, true }, + { 142100, true }, + { 142117, true }, { 142126, true }, - { 142143, false }, - { 142153, true }, - { 142168, true }, - { 142184, true }, - { 142203, true }, - { 142218, true }, + { 142138, true }, + { 142155, false }, + { 142165, true }, + { 142180, true }, + { 142196, true }, + { 142215, true }, { 142230, true }, - { 142246, true }, - { 142256, true }, - { 142272, true }, - { 142292, true }, - { 142306, true }, - { 142320, true }, - { 142339, true }, - { 142359, true }, + { 142242, true }, + { 142258, true }, + { 142268, true }, + { 142284, true }, + { 142304, true }, + { 142318, true }, + { 142332, true }, + { 142351, true }, { 142371, true }, - { 142387, true }, - { 142397, true }, - { 142412, true }, - { 142422, true }, - { 142436, true }, - { 142459, true }, - { 142469, true }, - { 142488, true }, - { 142505, true }, - { 142514, true }, - { 142527, true }, - { 142542, true }, - { 142556, true }, - { 142575, true }, - { 142593, true }, - { 142607, true }, - { 142622, true }, - { 142638, true }, - { 142654, true }, - { 142662, true }, - { 142672, true }, - { 142683, true }, - { 142703, true }, + { 142383, true }, + { 142399, true }, + { 142409, true }, + { 142424, true }, + { 142434, true }, + { 142448, true }, + { 142471, true }, + { 142481, true }, + { 142500, true }, + { 142517, true }, + { 142526, true }, + { 142539, true }, + { 142554, true }, + { 142568, true }, + { 142587, true }, + { 142605, true }, + { 142619, true }, + { 142634, true }, + { 142650, true }, + { 142666, true }, + { 142674, true }, + { 142684, true }, + { 142695, true }, { 142715, true }, - { 142726, true }, + { 142727, true }, { 142738, true }, { 142750, true }, - { 142763, true }, - { 142776, true }, - { 142790, true }, - { 142804, true }, - { 142818, false }, - { 142844, true }, - { 142853, true }, - { 142861, true }, - { 142869, true }, - { 142877, true }, - { 142887, true }, - { 142896, true }, + { 142762, true }, + { 142775, true }, + { 142788, true }, + { 142802, true }, + { 142816, true }, + { 142830, false }, + { 142856, true }, + { 142865, true }, + { 142873, true }, + { 142881, true }, + { 142889, true }, + { 142899, true }, { 142908, true }, - { 142927, true }, - { 142937, true }, - { 142948, true }, - { 142965, true }, - { 142978, true }, - { 142988, true }, - { 143002, true }, + { 142920, true }, + { 142939, true }, + { 142949, true }, + { 142960, true }, + { 142977, true }, + { 142990, true }, + { 143000, true }, { 143014, true }, - { 143025, true }, - { 143043, true }, - { 143061, true }, - { 143075, true }, - { 143085, true }, - { 143099, true }, - { 143106, true }, - { 143116, true }, - { 143131, true }, - { 143153, true }, - { 143161, true }, - { 143171, true }, - { 143190, true }, - { 143208, true }, + { 143026, true }, + { 143037, true }, + { 143055, true }, + { 143073, true }, + { 143087, true }, + { 143097, true }, + { 143111, true }, + { 143118, true }, + { 143128, true }, + { 143143, true }, + { 143165, true }, + { 143173, true }, + { 143183, true }, + { 143202, true }, { 143220, true }, - { 143230, true }, - { 143240, true }, - { 143250, true }, + { 143232, true }, + { 143242, true }, + { 143252, true }, { 143262, true }, - { 143273, true }, - { 143286, true }, - { 143294, true }, - { 143308, true }, - { 143318, true }, - { 143329, true }, - { 143336, true }, - { 143344, true }, - { 143362, true }, - { 143378, true }, - { 143389, true }, - { 143405, false }, - { 143420, true }, - { 143430, true }, - { 143438, true }, - { 143447, true }, - { 143456, true }, - { 143476, true }, - { 143485, false }, - { 143496, true }, - { 143508, false }, - { 143522, true }, - { 143541, true }, - { 143554, true }, - { 143570, true }, - { 143583, true }, - { 143596, false }, - { 143607, true }, - { 143624, true }, + { 143274, true }, + { 143285, true }, + { 143298, true }, + { 143306, true }, + { 143320, true }, + { 143330, true }, + { 143341, true }, + { 143348, true }, + { 143356, true }, + { 143374, true }, + { 143390, true }, + { 143401, true }, + { 143417, false }, + { 143432, true }, + { 143442, true }, + { 143450, true }, + { 143459, true }, + { 143468, true }, + { 143488, true }, + { 143497, false }, + { 143508, true }, + { 143520, false }, + { 143534, true }, + { 143553, true }, + { 143566, true }, + { 143582, true }, + { 143595, true }, + { 143608, false }, + { 143619, true }, { 143636, true }, - { 143651, true }, - { 143661, true }, + { 143648, true }, + { 143663, true }, { 143673, true }, { 143685, true }, - { 143696, true }, - { 143707, true }, + { 143697, true }, + { 143708, true }, { 143719, true }, - { 143742, true }, - { 143752, true }, - { 143762, true }, - { 143778, true }, - { 143793, true }, - { 143806, true }, - { 143832, true }, - { 143841, true }, - { 143856, true }, - { 143866, true }, - { 143879, true }, - { 143892, true }, - { 143907, true }, - { 143917, true }, - { 143934, true }, - { 143950, true }, - { 143964, false }, - { 143974, true }, - { 143988, true }, - { 143999, true }, - { 144009, true }, - { 144023, true }, - { 144034, true }, - { 144047, true }, - { 144060, true }, - { 144077, true }, - { 144092, true }, + { 143731, true }, + { 143754, true }, + { 143764, true }, + { 143774, true }, + { 143790, true }, + { 143805, true }, + { 143818, true }, + { 143844, true }, + { 143853, true }, + { 143868, true }, + { 143878, true }, + { 143891, true }, + { 143904, true }, + { 143919, true }, + { 143929, true }, + { 143946, true }, + { 143962, true }, + { 143976, false }, + { 143986, true }, + { 144000, true }, + { 144011, true }, + { 144021, true }, + { 144035, true }, + { 144046, true }, + { 144059, true }, + { 144072, true }, + { 144089, true }, { 144104, true }, - { 144121, true }, - { 144139, true }, - { 144150, true }, - { 144165, true }, - { 144178, true }, - { 144199, true }, - { 144210, true }, - { 144225, true }, - { 144250, true }, - { 144258, true }, - { 144274, false }, - { 144289, true }, + { 144116, true }, + { 144133, true }, + { 144151, true }, + { 144162, true }, + { 144177, true }, + { 144190, true }, + { 144211, true }, + { 144222, true }, + { 144237, true }, + { 144262, true }, + { 144270, true }, + { 144286, false }, { 144301, true }, { 144313, true }, - { 144327, true }, - { 144341, true }, - { 144355, true }, - { 144369, true }, - { 144386, true }, - { 144413, true }, - { 144430, true }, - { 144450, true }, + { 144325, true }, + { 144339, true }, + { 144353, true }, + { 144367, true }, + { 144381, true }, + { 144398, true }, + { 144425, true }, + { 144442, true }, { 144462, true }, - { 144472, true }, - { 144486, true }, - { 144506, true }, - { 144528, true }, - { 144542, true }, - { 144560, true }, - { 144580, true }, - { 144601, true }, - { 144618, true }, - { 144632, true }, - { 144643, true }, - { 144657, true }, - { 144670, true }, - { 144681, true }, - { 144697, true }, + { 144474, true }, + { 144484, true }, + { 144498, true }, + { 144518, true }, + { 144540, true }, + { 144554, true }, + { 144572, true }, + { 144592, true }, + { 144613, true }, + { 144630, true }, + { 144644, true }, + { 144655, true }, + { 144669, true }, + { 144682, true }, + { 144693, true }, { 144709, true }, - { 144723, true }, - { 144740, true }, - { 144751, true }, - { 144765, true }, - { 144777, false }, - { 144802, true }, - { 144826, true }, - { 144836, false }, - { 144862, true }, - { 144879, true }, - { 144896, true }, - { 144910, true }, - { 144924, true }, - { 144954, false }, - { 144968, true }, - { 144985, true }, - { 144999, true }, - { 145022, true }, - { 145030, true }, - { 145038, true }, - { 145046, true }, - { 145054, true }, - { 145062, true }, - { 145073, true }, - { 145083, true }, - { 145097, true }, - { 145116, true }, - { 145132, true }, - { 145141, true }, - { 145154, true }, - { 145165, true }, - { 145176, true }, - { 145201, true }, + { 144721, true }, + { 144735, true }, + { 144752, true }, + { 144763, true }, + { 144777, true }, + { 144789, false }, + { 144814, true }, + { 144838, true }, + { 144848, false }, + { 144874, true }, + { 144891, true }, + { 144908, true }, + { 144922, true }, + { 144936, true }, + { 144966, false }, + { 144980, true }, + { 144997, true }, + { 145011, true }, + { 145034, true }, + { 145042, true }, + { 145050, true }, + { 145058, true }, + { 145066, true }, + { 145074, true }, + { 145085, true }, + { 145095, true }, + { 145109, true }, + { 145128, true }, + { 145144, true }, + { 145153, true }, + { 145166, true }, + { 145177, true }, + { 145188, true }, { 145213, true }, - { 145222, false }, - { 145238, true }, - { 145248, false }, - { 145270, true }, - { 145285, true }, - { 145299, true }, - { 145312, true }, - { 145329, true }, - { 145345, true }, - { 145368, true }, - { 145390, true }, - { 145408, true }, - { 145427, false }, - { 145446, true }, - { 145459, true }, - { 145472, true }, - { 145496, true }, - { 145507, true }, - { 145526, true }, - { 145543, true }, - { 145556, true }, - { 145584, true }, - { 145597, true }, - { 145614, true }, - { 145634, true }, - { 145645, true }, - { 145658, true }, - { 145673, true }, - { 145693, true }, - { 145707, true }, - { 145720, true }, - { 145741, false }, - { 145752, true }, - { 145771, true }, - { 145790, true }, - { 145801, false }, - { 145819, true }, - { 145831, true }, - { 145842, true }, - { 145872, true }, - { 145883, true }, - { 145897, true }, - { 145911, true }, - { 145923, true }, - { 145937, true }, - { 145957, true }, - { 145980, true }, - { 145995, true }, - { 146006, true }, - { 146030, true }, - { 146051, true }, - { 146064, true }, - { 146081, true }, - { 146099, true }, - { 146115, true }, - { 146133, true }, - { 146147, true }, - { 146169, true }, - { 146186, true }, - { 146200, true }, - { 146216, true }, - { 146232, true }, - { 146250, true }, - { 146270, true }, - { 146281, true }, - { 146297, true }, - { 146312, true }, - { 146329, true }, - { 146352, true }, - { 146368, true }, - { 146387, true }, - { 146402, true }, - { 146417, true }, - { 146428, true }, - { 146442, true }, - { 146459, true }, - { 146475, true }, - { 146492, true }, - { 146511, true }, - { 146526, true }, - { 146537, true }, - { 146553, true }, - { 146569, true }, - { 146586, true }, - { 146598, true }, - { 146618, true }, - { 146633, true }, - { 146652, true }, - { 146668, true }, - { 146678, true }, - { 146691, true }, - { 146710, true }, - { 146726, true }, - { 146746, true }, - { 146758, true }, - { 146775, true }, - { 146787, true }, - { 146800, true }, - { 146810, true }, - { 146827, true }, - { 146839, false }, - { 146849, true }, - { 146862, true }, - { 146879, true }, - { 146902, true }, - { 146919, false }, - { 146934, true }, - { 146953, true }, - { 146978, true }, - { 147011, true }, - { 147021, true }, - { 147040, true }, - { 147054, true }, - { 147067, true }, - { 147083, true }, - { 147102, true }, - { 147132, false }, - { 147155, true }, - { 147169, true }, - { 147183, true }, - { 147195, true }, - { 147210, true }, - { 147230, true }, - { 147244, true }, - { 147256, true }, - { 147276, true }, - { 147294, true }, - { 147305, true }, - { 147320, true }, - { 147333, true }, - { 147346, true }, - { 147359, true }, - { 147370, true }, - { 147385, true }, - { 147396, true }, - { 147412, true }, - { 147426, true }, - { 147438, true }, - { 147455, true }, - { 147469, true }, - { 147477, true }, - { 147496, true }, - { 147510, true }, - { 147532, true }, - { 147549, true }, - { 147558, true }, - { 147571, true }, - { 147581, false }, - { 147593, true }, - { 147604, true }, - { 147614, true }, - { 147637, true }, - { 147651, true }, - { 147666, true }, - { 147690, true }, - { 147709, true }, - { 147723, true }, - { 147737, true }, - { 147758, true }, - { 147777, true }, - { 147786, true }, - { 147796, true }, - { 147812, true }, - { 147829, true }, - { 147842, true }, - { 147859, true }, - { 147875, true }, - { 147894, true }, - { 147907, true }, - { 147921, true }, - { 147934, true }, - { 147945, true }, - { 147957, true }, - { 147965, true }, - { 147981, true }, - { 147997, true }, - { 148017, true }, - { 148035, true }, - { 148049, true }, - { 148069, true }, - { 148085, false }, - { 148102, true }, - { 148121, true }, - { 148138, true }, - { 148152, true }, - { 148173, true }, - { 148192, true }, - { 148210, true }, - { 148223, true }, - { 148233, true }, - { 148251, true }, - { 148271, true }, - { 148280, true }, - { 148294, true }, - { 148311, true }, - { 148334, true }, - { 148355, true }, - { 148364, true }, - { 148380, true }, - { 148398, true }, - { 148410, true }, - { 148423, true }, - { 148436, true }, - { 148452, true }, - { 148460, false }, - { 148472, true }, - { 148482, true }, - { 148496, true }, - { 148511, true }, - { 148521, true }, - { 148540, true }, - { 148555, true }, - { 148570, true }, - { 148589, true }, - { 148611, true }, - { 148630, true }, - { 148644, true }, - { 148656, true }, - { 148670, true }, - { 148683, false }, - { 148705, true }, - { 148722, true }, - { 148740, true }, - { 148757, true }, - { 148770, true }, - { 148778, true }, - { 148792, true }, - { 148803, true }, - { 148817, true }, - { 148829, false }, - { 148849, true }, - { 148866, true }, - { 148874, true }, - { 148885, false }, - { 148894, false }, - { 148910, true }, - { 148925, false }, - { 148943, true }, - { 148956, true }, - { 148966, true }, - { 148977, false }, - { 148992, true }, - { 149001, true }, - { 149013, true }, - { 149022, true }, - { 149035, true }, - { 149048, true }, - { 149059, true }, - { 149073, true }, - { 149086, true }, - { 149103, false }, + { 145225, true }, + { 145234, false }, + { 145250, true }, + { 145260, false }, + { 145282, true }, + { 145297, true }, + { 145311, true }, + { 145324, true }, + { 145341, true }, + { 145357, true }, + { 145380, true }, + { 145402, true }, + { 145420, true }, + { 145439, false }, + { 145458, true }, + { 145471, true }, + { 145495, true }, + { 145506, true }, + { 145525, true }, + { 145542, true }, + { 145555, true }, + { 145583, true }, + { 145596, true }, + { 145613, true }, + { 145633, true }, + { 145644, true }, + { 145657, true }, + { 145672, true }, + { 145692, true }, + { 145706, true }, + { 145719, true }, + { 145740, false }, + { 145751, true }, + { 145770, true }, + { 145789, true }, + { 145800, false }, + { 145818, true }, + { 145830, true }, + { 145841, true }, + { 145871, true }, + { 145882, true }, + { 145896, true }, + { 145910, true }, + { 145922, true }, + { 145936, true }, + { 145956, true }, + { 145979, true }, + { 145994, true }, + { 146005, true }, + { 146029, true }, + { 146050, true }, + { 146063, true }, + { 146080, true }, + { 146098, true }, + { 146114, true }, + { 146132, true }, + { 146146, true }, + { 146168, true }, + { 146185, true }, + { 146199, true }, + { 146215, true }, + { 146231, true }, + { 146249, true }, + { 146269, true }, + { 146280, true }, + { 146296, true }, + { 146311, true }, + { 146328, true }, + { 146351, true }, + { 146367, true }, + { 146386, true }, + { 146401, true }, + { 146416, true }, + { 146427, true }, + { 146441, true }, + { 146458, true }, + { 146474, true }, + { 146491, true }, + { 146510, true }, + { 146525, true }, + { 146536, true }, + { 146552, true }, + { 146568, true }, + { 146585, true }, + { 146597, true }, + { 146617, true }, + { 146632, true }, + { 146651, true }, + { 146667, true }, + { 146677, true }, + { 146690, true }, + { 146709, true }, + { 146725, true }, + { 146745, true }, + { 146757, true }, + { 146774, true }, + { 146786, true }, + { 146799, true }, + { 146809, true }, + { 146826, true }, + { 146838, false }, + { 146848, true }, + { 146861, true }, + { 146878, true }, + { 146901, true }, + { 146918, false }, + { 146933, true }, + { 146952, true }, + { 146977, true }, + { 147010, true }, + { 147020, true }, + { 147039, true }, + { 147053, true }, + { 147066, true }, + { 147082, true }, + { 147101, true }, + { 147131, false }, + { 147154, true }, + { 147168, true }, + { 147182, true }, + { 147194, true }, + { 147209, true }, + { 147229, true }, + { 147243, true }, + { 147255, true }, + { 147275, true }, + { 147293, true }, + { 147304, true }, + { 147319, true }, + { 147332, true }, + { 147345, true }, + { 147358, true }, + { 147369, true }, + { 147384, true }, + { 147395, true }, + { 147411, true }, + { 147425, true }, + { 147437, true }, + { 147454, true }, + { 147468, true }, + { 147476, true }, + { 147495, true }, + { 147509, true }, + { 147531, true }, + { 147548, true }, + { 147557, true }, + { 147570, true }, + { 147580, false }, + { 147592, true }, + { 147603, true }, + { 147613, true }, + { 147636, true }, + { 147650, true }, + { 147665, true }, + { 147689, true }, + { 147708, true }, + { 147722, true }, + { 147736, true }, + { 147757, true }, + { 147776, true }, + { 147785, true }, + { 147795, true }, + { 147811, true }, + { 147828, true }, + { 147841, true }, + { 147858, true }, + { 147874, true }, + { 147893, true }, + { 147906, true }, + { 147920, true }, + { 147933, true }, + { 147944, true }, + { 147956, true }, + { 147964, true }, + { 147980, true }, + { 147996, true }, + { 148016, true }, + { 148034, true }, + { 148048, true }, + { 148068, true }, + { 148084, false }, + { 148101, true }, + { 148120, true }, + { 148137, true }, + { 148151, true }, + { 148172, true }, + { 148191, true }, + { 148209, true }, + { 148222, true }, + { 148232, true }, + { 148250, true }, + { 148270, true }, + { 148279, true }, + { 148293, true }, + { 148310, true }, + { 148333, true }, + { 148354, true }, + { 148363, true }, + { 148379, true }, + { 148397, true }, + { 148409, true }, + { 148422, true }, + { 148435, true }, + { 148451, true }, + { 148459, false }, + { 148471, true }, + { 148481, true }, + { 148495, true }, + { 148510, true }, + { 148520, true }, + { 148539, true }, + { 148554, true }, + { 148569, true }, + { 148588, true }, + { 148610, true }, + { 148629, true }, + { 148643, true }, + { 148655, true }, + { 148669, true }, + { 148682, false }, + { 148704, true }, + { 148721, true }, + { 148739, true }, + { 148756, true }, + { 148769, true }, + { 148777, true }, + { 148788, true }, + { 148802, true }, + { 148814, false }, + { 148834, true }, + { 148851, true }, + { 148859, true }, + { 148870, false }, + { 148879, false }, + { 148895, true }, + { 148910, false }, + { 148928, true }, + { 148941, true }, + { 148951, true }, + { 148962, false }, + { 148977, true }, + { 148986, true }, + { 148998, true }, + { 149007, true }, + { 149020, true }, + { 149033, true }, + { 149044, true }, + { 149058, true }, + { 149071, true }, + { 149088, false }, + { 149105, true }, + { 149112, true }, { 149120, true }, - { 149127, true }, - { 149135, true }, - { 149144, true }, - { 149156, true }, - { 149179, true }, - { 149193, true }, - { 149207, true }, - { 149224, true }, - { 149235, true }, - { 149249, false }, - { 149265, false }, - { 149279, true }, - { 149286, true }, - { 149296, true }, + { 149129, true }, + { 149141, true }, + { 149164, true }, + { 149178, true }, + { 149192, true }, + { 149209, true }, + { 149220, true }, + { 149234, false }, + { 149250, false }, + { 149264, true }, + { 149271, true }, + { 149281, true }, + { 149292, true }, { 149307, true }, - { 149322, true }, - { 149334, true }, - { 149342, true }, - { 149354, true }, - { 149369, false }, - { 149379, true }, - { 149391, true }, - { 149403, true }, + { 149319, true }, + { 149327, true }, + { 149339, true }, + { 149354, false }, + { 149364, true }, + { 149376, true }, + { 149388, true }, + { 149400, true }, { 149415, true }, - { 149430, true }, - { 149459, true }, - { 149473, true }, - { 149481, true }, - { 149489, true }, - { 149498, true }, - { 149511, true }, - { 149519, true }, - { 149529, true }, - { 149540, true }, - { 149551, true }, - { 149558, true }, - { 149567, true }, - { 149577, true }, - { 149597, true }, - { 149609, true }, - { 149621, true }, - { 149630, false }, - { 149639, true }, - { 149662, true }, - { 149682, false }, - { 149703, true }, - { 149714, true }, - { 149727, true }, - { 149736, true }, - { 149750, true }, - { 149767, true }, - { 149783, true }, - { 149801, true }, - { 149815, true }, - { 149832, true }, - { 149844, true }, - { 149857, true }, - { 149871, true }, - { 149889, true }, - { 149903, true }, - { 149919, false }, - { 149937, true }, - { 149954, true }, - { 149976, true }, - { 149999, true }, - { 150010, true }, - { 150021, true }, - { 150035, true }, - { 150051, true }, - { 150062, true }, - { 150073, true }, - { 150085, true }, - { 150099, true }, - { 150110, true }, - { 150122, true }, - { 150138, true }, - { 150167, false }, - { 150186, true }, - { 150202, true }, - { 150228, true }, - { 150242, true }, - { 150259, true }, - { 150278, true }, - { 150295, true }, - { 150311, true }, - { 150322, true }, - { 150330, true }, - { 150342, true }, - { 150359, true }, + { 149444, true }, + { 149458, true }, + { 149466, true }, + { 149474, true }, + { 149483, true }, + { 149496, true }, + { 149504, true }, + { 149514, true }, + { 149525, true }, + { 149536, true }, + { 149543, true }, + { 149552, true }, + { 149562, true }, + { 149582, true }, + { 149594, true }, + { 149606, true }, + { 149615, false }, + { 149624, true }, + { 149647, true }, + { 149667, false }, + { 149688, true }, + { 149699, true }, + { 149712, true }, + { 149721, true }, + { 149735, true }, + { 149752, true }, + { 149768, true }, + { 149786, true }, + { 149800, true }, + { 149817, true }, + { 149829, true }, + { 149842, true }, + { 149856, true }, + { 149874, true }, + { 149888, true }, + { 149904, false }, + { 149922, true }, + { 149939, true }, + { 149961, true }, + { 149984, true }, + { 149995, true }, + { 150006, true }, + { 150020, true }, + { 150036, true }, + { 150047, true }, + { 150058, true }, + { 150070, true }, + { 150084, true }, + { 150095, true }, + { 150107, true }, + { 150123, true }, + { 150152, false }, + { 150171, true }, + { 150187, true }, + { 150213, true }, + { 150227, true }, + { 150244, true }, + { 150263, true }, + { 150280, true }, + { 150296, true }, + { 150307, true }, + { 150315, true }, + { 150327, true }, + { 150344, true }, + { 150357, true }, { 150372, true }, - { 150387, true }, - { 150400, true }, - { 150414, true }, - { 150426, true }, - { 150438, true }, - { 150452, true }, - { 150469, true }, + { 150385, true }, + { 150399, true }, + { 150411, true }, + { 150423, true }, + { 150437, true }, + { 150454, true }, + { 150467, true }, { 150482, true }, - { 150497, true }, - { 150510, true }, - { 150522, true }, - { 150533, true }, - { 150556, true }, - { 150574, true }, - { 150593, true }, - { 150619, true }, - { 150636, true }, - { 150664, true }, - { 150677, true }, - { 150691, true }, - { 150709, true }, - { 150726, true }, - { 150743, true }, - { 150754, true }, - { 150776, true }, - { 150798, true }, - { 150810, true }, - { 150818, true }, - { 150839, true }, - { 150860, true }, - { 150881, true }, - { 150899, true }, - { 150915, true }, + { 150495, true }, + { 150507, true }, + { 150518, true }, + { 150541, true }, + { 150559, true }, + { 150578, true }, + { 150604, true }, + { 150621, true }, + { 150649, true }, + { 150662, true }, + { 150676, true }, + { 150694, true }, + { 150711, true }, + { 150728, true }, + { 150739, true }, + { 150761, true }, + { 150783, true }, + { 150795, true }, + { 150803, true }, + { 150824, true }, + { 150845, true }, + { 150866, true }, + { 150884, true }, + { 150900, true }, + { 150912, true }, { 150927, true }, - { 150942, true }, - { 150954, true }, - { 150972, true }, - { 150985, true }, - { 150995, true }, - { 151009, true }, - { 151025, true }, - { 151051, false }, - { 151080, true }, + { 150939, true }, + { 150957, true }, + { 150970, true }, + { 150980, true }, + { 150994, true }, + { 151010, true }, + { 151036, false }, + { 151065, true }, + { 151076, true }, { 151091, true }, - { 151106, true }, + { 151107, true }, { 151122, true }, - { 151137, true }, - { 151166, true }, - { 151186, true }, - { 151199, true }, - { 151218, true }, - { 151227, true }, - { 151241, true }, - { 151257, true }, - { 151284, true }, - { 151302, true }, - { 151329, true }, - { 151355, true }, - { 151372, false }, - { 151383, true }, + { 151151, true }, + { 151171, true }, + { 151184, true }, + { 151203, true }, + { 151212, true }, + { 151226, true }, + { 151242, true }, + { 151269, true }, + { 151287, true }, + { 151314, true }, + { 151340, true }, + { 151357, false }, + { 151368, true }, + { 151378, true }, { 151393, true }, - { 151408, true }, - { 151419, true }, - { 151437, true }, - { 151455, true }, - { 151468, true }, - { 151479, true }, - { 151501, true }, - { 151520, true }, - { 151534, true }, - { 151546, false }, - { 151566, true }, - { 151576, true }, - { 151590, true }, - { 151608, true }, - { 151622, true }, - { 151635, true }, - { 151647, true }, - { 151657, true }, - { 151669, true }, - { 151677, true }, - { 151691, true }, - { 151708, true }, - { 151722, true }, - { 151743, true }, - { 151755, true }, - { 151773, true }, - { 151789, true }, - { 151801, true }, - { 151813, true }, - { 151825, true }, - { 151837, true }, - { 151849, true }, - { 151861, true }, - { 151873, true }, - { 151885, false }, - { 151905, true }, - { 151918, true }, - { 151927, true }, - { 151941, true }, - { 151957, true }, - { 151970, true }, - { 151983, true }, - { 152006, true }, - { 152019, true }, + { 151404, true }, + { 151422, true }, + { 151440, true }, + { 151453, true }, + { 151464, true }, + { 151486, true }, + { 151505, true }, + { 151519, true }, + { 151531, false }, + { 151551, true }, + { 151561, true }, + { 151575, true }, + { 151593, true }, + { 151607, true }, + { 151620, true }, + { 151632, true }, + { 151642, true }, + { 151654, true }, + { 151662, true }, + { 151676, true }, + { 151693, true }, + { 151707, true }, + { 151728, true }, + { 151740, true }, + { 151758, true }, + { 151774, true }, + { 151786, true }, + { 151798, true }, + { 151810, true }, + { 151822, true }, + { 151834, true }, + { 151846, true }, + { 151858, true }, + { 151870, false }, + { 151890, true }, + { 151903, true }, + { 151912, true }, + { 151926, true }, + { 151942, true }, + { 151955, true }, + { 151968, true }, + { 151991, true }, + { 152004, true }, + { 152012, true }, { 152027, true }, - { 152042, true }, - { 152052, true }, - { 152070, true }, - { 152084, true }, - { 152098, true }, - { 152107, true }, - { 152120, true }, + { 152037, true }, + { 152055, true }, + { 152069, true }, + { 152083, true }, + { 152092, true }, + { 152105, true }, + { 152121, true }, { 152136, true }, - { 152151, true }, - { 152167, true }, - { 152179, true }, - { 152190, true }, - { 152199, true }, + { 152152, true }, + { 152164, true }, + { 152175, true }, + { 152184, true }, + { 152191, true }, { 152206, true }, { 152221, true }, - { 152236, true }, - { 152248, true }, - { 152266, true }, - { 152288, true }, - { 152307, true }, - { 152326, true }, - { 152343, true }, - { 152365, true }, - { 152385, true }, - { 152404, true }, - { 152421, true }, - { 152439, true }, - { 152457, true }, - { 152474, true }, - { 152492, true }, - { 152514, true }, - { 152528, true }, - { 152545, true }, - { 152561, true }, - { 152578, true }, - { 152595, true }, + { 152233, true }, + { 152251, true }, + { 152273, true }, + { 152292, true }, + { 152311, true }, + { 152328, true }, + { 152350, true }, + { 152370, true }, + { 152389, true }, + { 152406, true }, + { 152424, true }, + { 152442, true }, + { 152459, true }, + { 152477, true }, + { 152499, true }, + { 152513, true }, + { 152530, true }, + { 152546, true }, + { 152563, true }, + { 152580, true }, + { 152601, true }, { 152616, true }, - { 152631, true }, - { 152653, true }, - { 152677, true }, - { 152694, true }, - { 152705, true }, - { 152718, true }, - { 152731, true }, - { 152743, true }, + { 152638, true }, + { 152662, true }, + { 152679, true }, + { 152690, true }, + { 152703, true }, + { 152716, true }, + { 152728, true }, + { 152738, true }, { 152753, true }, - { 152768, true }, - { 152779, true }, - { 152791, true }, - { 152811, true }, - { 152820, true }, - { 152830, true }, + { 152764, true }, + { 152776, true }, + { 152796, true }, + { 152805, true }, + { 152814, true }, { 152839, true }, - { 152864, true }, - { 152876, true }, - { 152894, true }, - { 152910, true }, - { 152921, true }, - { 152937, true }, - { 152960, true }, - { 152981, true }, - { 152994, true }, - { 153012, true }, - { 153031, true }, - { 153040, false }, - { 153054, true }, - { 153065, true }, - { 153078, true }, - { 153092, true }, - { 153107, true }, - { 153118, true }, - { 153134, true }, - { 153147, true }, - { 153156, true }, - { 153170, true }, - { 153183, true }, - { 153197, true }, - { 153210, true }, - { 153221, true }, + { 152851, true }, + { 152869, true }, + { 152885, true }, + { 152896, true }, + { 152912, true }, + { 152935, true }, + { 152956, true }, + { 152969, true }, + { 152987, true }, + { 153006, true }, + { 153015, false }, + { 153029, true }, + { 153040, true }, + { 153053, true }, + { 153067, true }, + { 153082, true }, + { 153093, true }, + { 153109, true }, + { 153122, true }, + { 153131, true }, + { 153145, true }, + { 153158, true }, + { 153172, true }, + { 153185, true }, + { 153196, true }, + { 153204, true }, + { 153217, true }, { 153229, true }, { 153242, true }, { 153254, true }, - { 153267, true }, - { 153279, true }, - { 153289, true }, - { 153303, true }, - { 153317, true }, - { 153326, true }, - { 153341, true }, - { 153352, true }, - { 153365, true }, - { 153378, true }, - { 153397, true }, - { 153408, true }, - { 153421, true }, - { 153435, true }, + { 153264, true }, + { 153278, true }, + { 153292, true }, + { 153301, true }, + { 153316, true }, + { 153327, true }, + { 153340, true }, + { 153353, true }, + { 153372, true }, + { 153383, true }, + { 153396, true }, + { 153410, true }, + { 153428, true }, + { 153441, true }, { 153453, true }, - { 153466, true }, - { 153478, true }, - { 153493, true }, - { 153511, true }, + { 153468, true }, + { 153486, true }, + { 153502, true }, + { 153514, true }, { 153527, true }, - { 153539, true }, + { 153542, true }, { 153552, true }, - { 153567, true }, - { 153577, true }, - { 153587, true }, + { 153562, true }, + { 153579, true }, + { 153590, true }, { 153604, true }, { 153615, true }, - { 153629, true }, - { 153640, true }, - { 153652, true }, - { 153679, true }, - { 153693, true }, - { 153701, true }, - { 153723, true }, + { 153627, true }, + { 153654, true }, + { 153668, true }, + { 153676, true }, + { 153698, true }, + { 153712, true }, + { 153726, true }, { 153737, true }, - { 153751, true }, - { 153762, true }, - { 153781, true }, - { 153800, true }, - { 153819, true }, - { 153838, true }, - { 153858, true }, - { 153878, true }, - { 153898, true }, - { 153916, true }, - { 153935, true }, - { 153954, true }, - { 153973, true }, - { 153992, true }, + { 153756, true }, + { 153775, true }, + { 153794, true }, + { 153813, true }, + { 153833, true }, + { 153853, true }, + { 153873, true }, + { 153891, true }, + { 153910, true }, + { 153929, true }, + { 153948, true }, + { 153967, true }, + { 153981, true }, + { 153994, true }, { 154006, true }, - { 154019, true }, - { 154031, true }, - { 154044, false }, - { 154066, true }, - { 154081, true }, - { 154093, true }, + { 154019, false }, + { 154041, true }, + { 154056, true }, + { 154068, true }, + { 154076, true }, { 154101, true }, + { 154117, true }, { 154126, true }, - { 154142, true }, + { 154140, true }, { 154151, true }, - { 154165, true }, - { 154176, true }, - { 154188, true }, - { 154205, true }, - { 154218, true }, - { 154233, true }, - { 154249, true }, - { 154267, true }, - { 154280, true }, - { 154304, true }, - { 154327, true }, - { 154353, true }, - { 154365, true }, - { 154379, true }, - { 154394, true }, + { 154163, true }, + { 154180, true }, + { 154193, true }, + { 154208, true }, + { 154224, true }, + { 154242, true }, + { 154255, true }, + { 154279, true }, + { 154302, true }, + { 154328, true }, + { 154340, true }, + { 154354, true }, + { 154369, true }, + { 154382, true }, + { 154393, true }, { 154407, true }, - { 154418, true }, - { 154432, true }, - { 154447, true }, - { 154456, true }, - { 154469, true }, - { 154485, true }, - { 154504, true }, - { 154518, true }, - { 154533, true }, - { 154544, true }, - { 154554, true }, - { 154566, true }, - { 154581, true }, - { 154598, true }, - { 154622, true }, - { 154653, true }, - { 154668, true }, - { 154686, true }, - { 154707, true }, - { 154721, true }, - { 154739, true }, - { 154749, true }, - { 154761, true }, - { 154771, true }, - { 154780, true }, - { 154793, true }, + { 154422, true }, + { 154431, true }, + { 154444, true }, + { 154460, true }, + { 154479, true }, + { 154493, true }, + { 154508, true }, + { 154519, true }, + { 154529, true }, + { 154541, true }, + { 154556, true }, + { 154573, true }, + { 154597, true }, + { 154628, true }, + { 154643, true }, + { 154661, true }, + { 154682, true }, + { 154696, true }, + { 154714, true }, + { 154724, true }, + { 154736, true }, + { 154746, true }, + { 154755, true }, + { 154768, true }, + { 154783, true }, + { 154796, true }, { 154808, true }, - { 154821, true }, - { 154833, true }, - { 154841, true }, - { 154859, true }, - { 154890, true }, - { 154901, true }, - { 154916, true }, - { 154933, true }, - { 154948, true }, - { 154961, true }, - { 154977, true }, - { 154997, true }, - { 155012, true }, - { 155028, true }, - { 155041, true }, - { 155055, true }, - { 155063, true }, - { 155076, true }, - { 155086, true }, - { 155100, true }, - { 155110, true }, - { 155130, true }, - { 155139, true }, - { 155148, true }, - { 155162, true }, - { 155172, true }, - { 155183, true }, - { 155191, true }, - { 155204, true }, - { 155223, true }, + { 154816, true }, + { 154834, true }, + { 154865, true }, + { 154876, true }, + { 154891, true }, + { 154908, true }, + { 154923, true }, + { 154936, true }, + { 154952, true }, + { 154972, true }, + { 154987, true }, + { 155003, true }, + { 155016, true }, + { 155030, true }, + { 155038, true }, + { 155051, true }, + { 155061, true }, + { 155075, true }, + { 155085, true }, + { 155105, true }, + { 155114, true }, + { 155123, true }, + { 155137, true }, + { 155147, true }, + { 155158, true }, + { 155166, true }, + { 155179, true }, + { 155198, true }, + { 155208, true }, + { 155217, true }, { 155233, true }, - { 155242, true }, - { 155258, true }, - { 155269, true }, - { 155282, true }, + { 155244, true }, + { 155257, true }, + { 155273, true }, + { 155284, true }, { 155291, true }, - { 155307, true }, - { 155318, true }, - { 155325, true }, - { 155348, true }, - { 155357, true }, - { 155377, true }, - { 155385, true }, - { 155395, true }, - { 155416, true }, - { 155428, true }, - { 155437, true }, - { 155445, true }, - { 155454, true }, - { 155465, true }, - { 155476, true }, - { 155486, true }, + { 155314, true }, + { 155323, true }, + { 155343, true }, + { 155351, true }, + { 155361, true }, + { 155382, true }, + { 155394, true }, + { 155403, true }, + { 155411, true }, + { 155420, true }, + { 155431, true }, + { 155442, true }, + { 155452, true }, + { 155463, true }, + { 155470, true }, + { 155480, true }, + { 155489, true }, { 155497, true }, - { 155504, true }, - { 155514, true }, - { 155523, true }, - { 155531, true }, - { 155542, true }, + { 155508, true }, + { 155520, true }, + { 155528, true }, + { 155538, true }, { 155554, true }, - { 155562, true }, - { 155572, true }, - { 155588, true }, - { 155600, true }, - { 155630, true }, - { 155650, true }, - { 155664, false }, - { 155682, false }, - { 155698, true }, - { 155713, true }, - { 155729, true }, - { 155744, true }, - { 155765, true }, - { 155779, true }, - { 155798, true }, - { 155809, true }, - { 155819, true }, - { 155837, true }, - { 155848, true }, - { 155859, true }, - { 155873, true }, - { 155887, true }, - { 155901, true }, - { 155916, true }, - { 155949, true }, - { 155969, true }, - { 155985, true }, - { 155998, true }, - { 156018, false }, - { 156034, true }, + { 155566, true }, + { 155596, true }, + { 155616, true }, + { 155630, false }, + { 155648, false }, + { 155664, true }, + { 155679, true }, + { 155695, true }, + { 155710, true }, + { 155731, true }, + { 155745, true }, + { 155764, true }, + { 155775, true }, + { 155785, true }, + { 155803, true }, + { 155814, true }, + { 155825, true }, + { 155839, true }, + { 155853, true }, + { 155867, true }, + { 155882, true }, + { 155915, true }, + { 155935, true }, + { 155951, true }, + { 155964, true }, + { 155984, false }, + { 156000, true }, + { 156014, true }, + { 156033, true }, { 156048, true }, - { 156067, true }, - { 156082, true }, - { 156097, true }, - { 156123, true }, - { 156140, true }, - { 156153, true }, - { 156169, true }, - { 156177, true }, - { 156184, true }, - { 156196, true }, - { 156208, true }, + { 156063, true }, + { 156089, true }, + { 156106, true }, + { 156119, true }, + { 156135, true }, + { 156143, true }, + { 156150, true }, + { 156162, true }, + { 156174, true }, + { 156189, true }, + { 156201, true }, + { 156212, true }, { 156223, true }, - { 156235, true }, - { 156246, true }, - { 156257, true }, - { 156277, true }, - { 156287, true }, - { 156307, true }, - { 156315, true }, - { 156326, false }, + { 156243, true }, + { 156253, true }, + { 156273, true }, + { 156281, true }, + { 156292, false }, + { 156310, true }, + { 156323, true }, + { 156334, true }, { 156344, true }, - { 156357, true }, - { 156368, true }, - { 156378, true }, - { 156392, true }, - { 156404, false }, - { 156420, true }, - { 156431, true }, - { 156440, true }, - { 156453, true }, - { 156461, true }, - { 156471, true }, - { 156488, true }, - { 156499, true }, - { 156515, true }, - { 156526, true }, - { 156538, true }, - { 156548, false }, - { 156563, true }, - { 156578, true }, + { 156358, true }, + { 156370, false }, + { 156386, true }, + { 156397, true }, + { 156406, true }, + { 156419, true }, + { 156427, true }, + { 156437, true }, + { 156454, true }, + { 156465, true }, + { 156481, true }, + { 156492, true }, + { 156504, true }, + { 156514, false }, + { 156529, true }, + { 156544, true }, + { 156553, true }, + { 156568, true }, { 156587, true }, - { 156602, true }, - { 156621, true }, - { 156637, true }, - { 156649, true }, - { 156664, true }, - { 156683, true }, - { 156703, true }, - { 156714, true }, - { 156728, true }, - { 156744, true }, - { 156755, true }, + { 156603, true }, + { 156615, true }, + { 156630, true }, + { 156650, true }, + { 156661, true }, + { 156675, true }, + { 156691, true }, + { 156702, true }, + { 156724, true }, + { 156745, true }, + { 156758, true }, { 156777, true }, - { 156798, true }, + { 156789, true }, + { 156802, true }, { 156811, true }, - { 156830, true }, - { 156842, true }, - { 156855, true }, - { 156864, true }, - { 156879, true }, - { 156893, true }, + { 156826, true }, + { 156840, true }, + { 156853, true }, + { 156865, true }, + { 156882, true }, { 156906, true }, - { 156918, true }, - { 156935, true }, - { 156959, true }, - { 156980, true }, - { 156993, true }, - { 157011, true }, - { 157032, true }, - { 157049, true }, - { 157061, true }, - { 157078, true }, - { 157095, true }, + { 156927, true }, + { 156940, true }, + { 156958, true }, + { 156979, true }, + { 156996, true }, + { 157008, true }, + { 157025, true }, + { 157042, true }, + { 157054, true }, + { 157072, true }, + { 157085, true }, + { 157100, true }, { 157107, true }, - { 157125, true }, - { 157138, true }, - { 157153, true }, - { 157160, true }, - { 157172, true }, - { 157182, true }, + { 157119, true }, + { 157129, true }, + { 157143, true }, + { 157156, true }, + { 157169, true }, + { 157183, true }, { 157196, true }, - { 157209, true }, - { 157222, true }, - { 157236, true }, - { 157249, true }, - { 157266, true }, - { 157281, true }, - { 157295, true }, + { 157213, true }, + { 157228, true }, + { 157242, true }, + { 157254, true }, + { 157267, true }, + { 157287, true }, { 157307, true }, - { 157320, true }, - { 157340, true }, - { 157360, true }, - { 157375, true }, + { 157322, true }, + { 157337, true }, + { 157352, true }, + { 157371, true }, { 157390, true }, - { 157405, true }, + { 157409, true }, { 157424, true }, - { 157443, true }, - { 157462, true }, - { 157477, true }, - { 157488, true }, - { 157501, false }, - { 157514, true }, - { 157529, true }, - { 157543, true }, - { 157554, true }, - { 157569, true }, - { 157585, true }, - { 157598, true }, - { 157611, true }, - { 157631, true }, - { 157640, true }, - { 157656, true }, - { 157669, true }, - { 157685, true }, - { 157698, true }, - { 157715, true }, - { 157730, true }, - { 157739, true }, - { 157753, true }, - { 157763, true }, - { 157776, true }, - { 157789, true }, - { 157807, true }, - { 157815, false }, - { 157828, true }, - { 157846, true }, - { 157869, true }, - { 157898, true }, - { 157916, true }, - { 157947, true }, - { 157977, true }, - { 157999, true }, - { 158015, true }, - { 158026, false }, - { 158039, true }, - { 158051, true }, - { 158066, true }, - { 158083, false }, - { 158102, true }, - { 158121, true }, - { 158132, true }, - { 158142, true }, - { 158152, true }, - { 158167, true }, - { 158181, true }, - { 158192, true }, - { 158202, true }, - { 158212, true }, - { 158224, true }, - { 158240, true }, - { 158251, true }, - { 158268, true }, - { 158281, true }, - { 158301, true }, - { 158314, true }, - { 158324, true }, - { 158335, true }, - { 158345, false }, - { 158360, true }, - { 158375, true }, - { 158392, true }, - { 158407, true }, - { 158417, false }, - { 158430, true }, + { 157435, true }, + { 157448, false }, + { 157461, true }, + { 157476, true }, + { 157490, true }, + { 157501, true }, + { 157516, true }, + { 157532, true }, + { 157545, true }, + { 157558, true }, + { 157578, true }, + { 157587, true }, + { 157603, true }, + { 157616, true }, + { 157632, true }, + { 157645, true }, + { 157662, true }, + { 157677, true }, + { 157686, true }, + { 157700, true }, + { 157710, true }, + { 157723, true }, + { 157736, true }, + { 157754, true }, + { 157762, false }, + { 157775, true }, + { 157793, true }, + { 157816, true }, + { 157845, true }, + { 157863, true }, + { 157894, true }, + { 157924, true }, + { 157946, true }, + { 157962, true }, + { 157973, false }, + { 157986, true }, + { 157998, true }, + { 158013, true }, + { 158030, false }, + { 158049, true }, + { 158068, true }, + { 158079, true }, + { 158089, true }, + { 158099, true }, + { 158114, true }, + { 158128, true }, + { 158139, true }, + { 158149, true }, + { 158159, true }, + { 158171, true }, + { 158187, true }, + { 158198, true }, + { 158215, true }, + { 158228, true }, + { 158248, true }, + { 158261, true }, + { 158271, true }, + { 158282, true }, + { 158292, false }, + { 158307, true }, + { 158322, true }, + { 158339, true }, + { 158354, true }, + { 158364, false }, + { 158377, true }, + { 158390, true }, + { 158400, true }, + { 158417, true }, + { 158429, true }, { 158443, true }, - { 158453, true }, - { 158470, true }, - { 158482, true }, + { 158454, true }, + { 158468, true }, + { 158479, true }, { 158496, true }, - { 158507, true }, - { 158521, true }, - { 158532, true }, - { 158549, true }, - { 158562, true }, - { 158571, true }, - { 158582, true }, - { 158592, true }, - { 158606, true }, - { 158617, true }, - { 158626, true }, - { 158640, true }, - { 158650, true }, - { 158660, true }, - { 158676, true }, - { 158684, true }, - { 158695, true }, - { 158707, true }, - { 158717, true }, - { 158726, true }, - { 158739, true }, - { 158750, false }, - { 158758, true }, - { 158776, true }, - { 158783, true }, - { 158794, false }, - { 158814, true }, - { 158821, false }, - { 158837, true }, - { 158853, true }, - { 158869, true }, - { 158884, true }, - { 158896, true }, - { 158916, true }, - { 158930, true }, - { 158942, true }, - { 158958, true }, - { 158968, true }, - { 158981, true }, - { 158999, true }, - { 159013, true }, - { 159030, true }, - { 159049, true }, - { 159065, true }, - { 159084, true }, - { 159107, true }, - { 159119, true }, - { 159131, true }, - { 159144, true }, - { 159166, true }, - { 159180, true }, + { 158509, true }, + { 158518, true }, + { 158529, true }, + { 158539, true }, + { 158553, true }, + { 158564, true }, + { 158573, true }, + { 158587, true }, + { 158597, true }, + { 158607, true }, + { 158623, true }, + { 158631, true }, + { 158642, true }, + { 158654, true }, + { 158664, true }, + { 158673, true }, + { 158686, true }, + { 158697, false }, + { 158705, true }, + { 158723, true }, + { 158730, true }, + { 158741, false }, + { 158761, true }, + { 158768, false }, + { 158784, true }, + { 158800, true }, + { 158816, true }, + { 158831, true }, + { 158843, true }, + { 158863, true }, + { 158877, true }, + { 158889, true }, + { 158905, true }, + { 158915, true }, + { 158928, true }, + { 158946, true }, + { 158960, true }, + { 158977, true }, + { 158996, true }, + { 159012, true }, + { 159031, true }, + { 159054, true }, + { 159066, true }, + { 159078, true }, + { 159091, true }, + { 159113, true }, + { 159127, true }, + { 159138, true }, + { 159148, true }, + { 159159, true }, + { 159176, true }, { 159191, true }, - { 159201, true }, - { 159212, true }, - { 159229, true }, - { 159244, true }, - { 159253, true }, - { 159262, true }, - { 159270, true }, - { 159287, true }, - { 159301, true }, - { 159317, true }, - { 159339, true }, - { 159355, true }, - { 159369, true }, - { 159377, true }, - { 159394, true }, - { 159411, true }, - { 159425, true }, - { 159444, true }, - { 159460, false }, - { 159474, true }, - { 159487, true }, - { 159504, true }, - { 159519, true }, - { 159538, true }, - { 159549, true }, - { 159560, true }, - { 159574, true }, - { 159588, true }, - { 159603, true }, - { 159624, true }, - { 159640, true }, - { 159658, true }, + { 159200, true }, + { 159209, true }, + { 159217, true }, + { 159234, true }, + { 159248, true }, + { 159264, true }, + { 159286, true }, + { 159302, true }, + { 159316, true }, + { 159324, true }, + { 159341, true }, + { 159358, true }, + { 159372, true }, + { 159391, true }, + { 159407, false }, + { 159421, true }, + { 159434, true }, + { 159451, true }, + { 159466, true }, + { 159485, true }, + { 159496, true }, + { 159507, true }, + { 159521, true }, + { 159535, true }, + { 159550, true }, + { 159571, true }, + { 159587, true }, + { 159605, true }, + { 159623, true }, + { 159636, true }, + { 159664, true }, { 159676, true }, - { 159689, true }, - { 159717, true }, + { 159692, true }, + { 159710, true }, + { 159718, true }, { 159729, true }, - { 159745, true }, - { 159763, true }, - { 159771, true }, - { 159782, true }, - { 159790, true }, - { 159804, true }, - { 159818, false }, - { 159827, true }, - { 159834, false }, - { 159844, false }, - { 159864, true }, - { 159875, true }, - { 159882, true }, - { 159892, true }, - { 159903, true }, - { 159913, false }, - { 159932, true }, - { 159946, false }, - { 159959, false }, - { 159971, false }, + { 159737, true }, + { 159751, true }, + { 159765, false }, + { 159774, true }, + { 159781, false }, + { 159791, false }, + { 159811, true }, + { 159822, true }, + { 159829, true }, + { 159839, true }, + { 159850, true }, + { 159860, false }, + { 159879, true }, + { 159893, false }, + { 159906, false }, + { 159918, false }, + { 159939, true }, + { 159961, true }, + { 159974, true }, { 159992, true }, - { 160014, true }, - { 160027, true }, - { 160045, true }, - { 160061, true }, - { 160079, true }, - { 160088, true }, - { 160100, true }, - { 160116, true }, - { 160127, true }, - { 160151, true }, + { 160008, true }, + { 160026, true }, + { 160035, true }, + { 160047, true }, + { 160063, true }, + { 160074, true }, + { 160098, true }, + { 160112, true }, + { 160123, true }, + { 160149, false }, { 160165, true }, - { 160176, true }, - { 160202, false }, + { 160183, true }, + { 160198, true }, + { 160210, true }, { 160218, true }, - { 160236, true }, - { 160251, true }, - { 160263, true }, - { 160271, true }, - { 160286, true }, + { 160233, true }, + { 160247, true }, + { 160262, true }, + { 160281, true }, { 160300, true }, { 160315, true }, - { 160334, true }, + { 160326, true }, + { 160337, true }, { 160353, true }, - { 160368, true }, - { 160379, true }, - { 160390, true }, - { 160406, true }, - { 160420, true }, + { 160367, true }, + { 160385, true }, + { 160395, false }, + { 160424, true }, { 160438, true }, - { 160448, false }, - { 160477, true }, - { 160491, true }, - { 160515, true }, - { 160534, true }, - { 160547, true }, - { 160560, true }, - { 160575, true }, - { 160589, true }, + { 160462, true }, + { 160481, true }, + { 160494, true }, + { 160507, true }, + { 160522, true }, + { 160536, true }, + { 160549, true }, + { 160569, true }, + { 160584, true }, { 160602, true }, - { 160622, true }, - { 160637, true }, - { 160655, true }, - { 160665, false }, - { 160680, true }, - { 160688, true }, - { 160701, false }, - { 160715, true }, - { 160726, true }, - { 160734, true }, - { 160742, true }, - { 160756, true }, - { 160778, true }, - { 160790, true }, - { 160802, true }, - { 160814, true }, - { 160829, true }, - { 160849, true }, - { 160872, true }, - { 160891, true }, - { 160910, true }, - { 160929, true }, - { 160948, true }, - { 160967, true }, - { 160986, true }, - { 161005, true }, - { 161022, true }, - { 161040, true }, - { 161057, true }, - { 161072, true }, - { 161090, true }, - { 161105, true }, - { 161118, false }, - { 161132, true }, - { 161156, true }, - { 161173, true }, - { 161191, true }, - { 161207, true }, - { 161225, true }, - { 161242, true }, - { 161258, true }, - { 161271, true }, - { 161284, true }, - { 161297, true }, - { 161314, true }, - { 161335, true }, - { 161353, true }, + { 160612, false }, + { 160627, true }, + { 160635, true }, + { 160648, false }, + { 160662, true }, + { 160673, true }, + { 160681, true }, + { 160689, true }, + { 160703, true }, + { 160725, true }, + { 160737, true }, + { 160749, true }, + { 160761, true }, + { 160776, true }, + { 160796, true }, + { 160819, true }, + { 160838, true }, + { 160857, true }, + { 160876, true }, + { 160895, true }, + { 160914, true }, + { 160933, true }, + { 160952, true }, + { 160969, true }, + { 160987, true }, + { 161004, true }, + { 161019, true }, + { 161037, true }, + { 161052, true }, + { 161065, false }, + { 161079, true }, + { 161103, true }, + { 161120, true }, + { 161138, true }, + { 161154, true }, + { 161172, true }, + { 161189, true }, + { 161205, true }, + { 161218, true }, + { 161231, true }, + { 161244, true }, + { 161261, true }, + { 161282, true }, + { 161300, true }, + { 161315, true }, + { 161332, true }, + { 161351, true }, { 161368, true }, - { 161385, true }, - { 161404, true }, - { 161421, true }, - { 161433, true }, - { 161444, true }, - { 161452, true }, - { 161465, true }, - { 161479, true }, - { 161506, true }, - { 161522, true }, + { 161380, true }, + { 161391, true }, + { 161399, true }, + { 161412, true }, + { 161426, true }, + { 161453, true }, + { 161469, true }, + { 161485, true }, + { 161499, true }, + { 161512, true }, + { 161525, true }, { 161538, true }, - { 161552, true }, - { 161565, true }, - { 161578, true }, - { 161591, true }, - { 161601, true }, - { 161612, true }, - { 161632, true }, - { 161647, true }, - { 161657, true }, - { 161668, true }, - { 161680, true }, - { 161695, true }, - { 161710, false }, + { 161548, true }, + { 161559, true }, + { 161579, true }, + { 161594, true }, + { 161604, true }, + { 161615, true }, + { 161627, false }, + { 161642, true }, + { 161657, false }, + { 161667, false }, + { 161677, false }, + { 161687, true }, + { 161703, true }, + { 161711, true }, { 161720, false }, - { 161730, false }, - { 161740, true }, - { 161756, true }, - { 161764, true }, - { 161773, false }, - { 161784, true }, - { 161792, true }, - { 161801, true }, - { 161814, true }, - { 161834, true }, - { 161855, true }, + { 161731, true }, + { 161739, true }, + { 161748, true }, + { 161761, true }, + { 161781, true }, + { 161802, true }, + { 161818, true }, + { 161835, true }, + { 161854, true }, { 161871, true }, - { 161888, true }, - { 161907, true }, + { 161885, true }, + { 161895, true }, + { 161906, true }, + { 161915, true }, { 161924, true }, - { 161938, true }, - { 161948, true }, + { 161937, true }, { 161959, true }, - { 161968, true }, - { 161977, true }, - { 161990, true }, - { 162012, true }, - { 162041, true }, - { 162060, true }, - { 162077, true }, - { 162100, true }, - { 162108, true }, - { 162126, true }, - { 162144, true }, - { 162155, true }, - { 162166, false }, - { 162177, true }, - { 162186, true }, - { 162199, true }, - { 162210, true }, - { 162223, true }, - { 162236, true }, + { 161988, true }, + { 162007, true }, + { 162024, true }, + { 162047, true }, + { 162055, true }, + { 162073, true }, + { 162091, true }, + { 162102, true }, + { 162113, false }, + { 162124, true }, + { 162133, true }, + { 162146, true }, + { 162157, true }, + { 162170, true }, + { 162183, true }, + { 162200, true }, + { 162213, true }, + { 162224, true }, + { 162234, true }, + { 162243, true }, { 162253, true }, - { 162266, true }, - { 162277, true }, + { 162263, true }, + { 162276, true }, { 162287, true }, - { 162296, true }, - { 162306, true }, - { 162316, true }, - { 162329, true }, - { 162340, true }, - { 162361, true }, - { 162371, true }, + { 162308, true }, + { 162318, true }, + { 162331, true }, + { 162341, true }, + { 162354, true }, + { 162373, true }, { 162384, true }, - { 162394, true }, - { 162407, true }, - { 162426, true }, - { 162437, true }, - { 162452, true }, - { 162466, true }, - { 162477, true }, - { 162489, true }, - { 162501, true }, - { 162509, true }, - { 162523, true }, - { 162538, true }, - { 162560, true }, - { 162575, false }, - { 162589, true }, - { 162612, false }, - { 162624, false }, - { 162639, true }, - { 162653, true }, - { 162662, true }, - { 162677, true }, - { 162698, true }, - { 162713, true }, - { 162725, true }, - { 162736, true }, - { 162749, true }, - { 162759, true }, - { 162780, true }, - { 162798, true }, - { 162819, true }, - { 162845, true }, - { 162868, true }, - { 162901, true }, - { 162920, true }, + { 162399, true }, + { 162413, true }, + { 162424, true }, + { 162436, true }, + { 162448, true }, + { 162456, true }, + { 162470, true }, + { 162485, true }, + { 162507, true }, + { 162522, false }, + { 162536, true }, + { 162559, false }, + { 162571, false }, + { 162586, true }, + { 162600, true }, + { 162609, true }, + { 162624, true }, + { 162645, true }, + { 162660, true }, + { 162672, true }, + { 162683, true }, + { 162696, true }, + { 162706, true }, + { 162727, true }, + { 162745, true }, + { 162766, true }, + { 162792, true }, + { 162815, true }, + { 162848, true }, + { 162867, true }, + { 162891, true }, + { 162919, true }, + { 162933, true }, { 162944, true }, - { 162972, true }, - { 162986, true }, - { 162997, true }, - { 163011, true }, - { 163022, true }, - { 163033, false }, - { 163057, true }, - { 163068, true }, - { 163080, true }, - { 163094, true }, - { 163105, true }, - { 163115, true }, - { 163123, true }, + { 162958, true }, + { 162969, true }, + { 162980, false }, + { 163004, true }, + { 163015, true }, + { 163027, true }, + { 163041, true }, + { 163052, true }, + { 163062, true }, + { 163070, true }, + { 163077, true }, + { 163088, true }, + { 163098, true }, + { 163109, true }, + { 163120, true }, { 163130, true }, { 163141, true }, - { 163151, true }, - { 163162, true }, - { 163173, true }, - { 163183, true }, - { 163194, true }, - { 163203, true }, - { 163218, true }, - { 163233, true }, - { 163246, true }, - { 163257, true }, - { 163266, true }, - { 163277, true }, - { 163288, true }, - { 163302, true }, - { 163311, true }, - { 163327, true }, - { 163335, true }, - { 163347, true }, + { 163150, true }, + { 163165, true }, + { 163180, true }, + { 163193, true }, + { 163204, true }, + { 163213, true }, + { 163224, true }, + { 163235, true }, + { 163249, true }, + { 163258, true }, + { 163274, true }, + { 163282, true }, + { 163294, true }, + { 163306, true }, + { 163322, true }, + { 163330, true }, + { 163340, true }, { 163359, true }, - { 163375, true }, - { 163383, true }, - { 163393, true }, - { 163412, true }, + { 163367, true }, + { 163380, true }, + { 163397, true }, + { 163408, true }, { 163420, true }, - { 163433, true }, - { 163450, true }, - { 163461, true }, - { 163473, true }, - { 163482, true }, - { 163491, true }, - { 163512, true }, - { 163531, true }, - { 163561, true }, - { 163591, true }, - { 163607, true }, - { 163622, true }, - { 163635, true }, - { 163648, true }, - { 163665, true }, - { 163678, true }, - { 163694, true }, - { 163702, true }, - { 163710, true }, - { 163724, true }, - { 163743, false }, - { 163752, true }, - { 163762, true }, - { 163784, true }, - { 163806, true }, - { 163821, true }, - { 163834, true }, - { 163848, true }, - { 163862, true }, + { 163429, true }, + { 163438, true }, + { 163459, true }, + { 163478, true }, + { 163508, true }, + { 163538, true }, + { 163554, true }, + { 163569, true }, + { 163582, true }, + { 163595, true }, + { 163612, true }, + { 163625, true }, + { 163641, true }, + { 163649, true }, + { 163657, true }, + { 163671, true }, + { 163690, false }, + { 163699, true }, + { 163709, true }, + { 163731, true }, + { 163753, true }, + { 163768, true }, + { 163782, true }, + { 163796, true }, + { 163804, true }, + { 163816, true }, + { 163827, true }, + { 163839, true }, + { 163857, true }, { 163870, true }, - { 163882, true }, - { 163893, true }, + { 163883, true }, + { 163895, true }, { 163905, true }, - { 163923, true }, - { 163936, true }, - { 163949, true }, - { 163961, true }, - { 163971, true }, - { 163981, true }, - { 163990, true }, - { 164001, true }, - { 164012, false }, - { 164022, false }, - { 164038, true }, - { 164048, true }, - { 164062, true }, - { 164074, true }, - { 164087, true }, - { 164097, true }, - { 164111, true }, - { 164126, true }, - { 164138, true }, - { 164149, true }, - { 164158, true }, - { 164171, true }, - { 164181, true }, - { 164194, true }, - { 164205, true }, - { 164228, false }, - { 164242, true }, - { 164254, true }, - { 164267, true }, - { 164276, true }, - { 164289, false }, - { 164299, true }, - { 164311, true }, - { 164322, true }, - { 164336, true }, - { 164350, true }, - { 164360, true }, - { 164369, true }, - { 164379, true }, - { 164390, true }, - { 164405, true }, - { 164417, true }, - { 164429, true }, - { 164441, true }, - { 164455, true }, - { 164472, true }, - { 164482, true }, - { 164492, false }, - { 164501, false }, - { 164520, true }, - { 164535, true }, - { 164551, true }, - { 164566, false }, - { 164576, true }, - { 164588, true }, - { 164600, false }, - { 164612, true }, - { 164625, true }, - { 164643, true }, - { 164658, true }, - { 164673, true }, - { 164695, false }, - { 164711, true }, - { 164723, true }, + { 163915, true }, + { 163924, true }, + { 163935, true }, + { 163946, false }, + { 163956, false }, + { 163972, true }, + { 163982, true }, + { 163996, true }, + { 164008, true }, + { 164021, true }, + { 164031, true }, + { 164045, true }, + { 164060, true }, + { 164072, true }, + { 164083, true }, + { 164092, true }, + { 164105, true }, + { 164115, true }, + { 164128, true }, + { 164139, true }, + { 164162, false }, + { 164176, true }, + { 164188, true }, + { 164201, true }, + { 164210, true }, + { 164223, false }, + { 164233, true }, + { 164245, true }, + { 164256, true }, + { 164270, true }, + { 164284, true }, + { 164294, true }, + { 164303, true }, + { 164313, true }, + { 164324, true }, + { 164339, true }, + { 164351, true }, + { 164363, true }, + { 164375, true }, + { 164389, true }, + { 164406, true }, + { 164416, true }, + { 164426, false }, + { 164435, false }, + { 164454, true }, + { 164469, true }, + { 164485, true }, + { 164500, false }, + { 164510, true }, + { 164522, true }, + { 164534, false }, + { 164546, true }, + { 164559, true }, + { 164577, true }, + { 164592, true }, + { 164607, true }, + { 164629, false }, + { 164645, true }, + { 164657, true }, + { 164670, true }, + { 164682, true }, + { 164693, true }, + { 164706, false }, + { 164721, true }, { 164736, true }, - { 164748, true }, - { 164759, true }, - { 164772, false }, - { 164787, true }, - { 164802, true }, - { 164812, true }, - { 164822, true }, - { 164836, true }, - { 164850, true }, - { 164873, true }, - { 164885, true }, - { 164896, true }, - { 164912, true }, - { 164923, true }, - { 164934, true }, - { 164952, true }, - { 164970, true }, - { 164983, true }, - { 165004, false }, + { 164746, true }, + { 164756, true }, + { 164770, true }, + { 164784, true }, + { 164807, true }, + { 164819, true }, + { 164830, true }, + { 164846, true }, + { 164857, true }, + { 164868, true }, + { 164886, true }, + { 164904, true }, + { 164917, true }, + { 164938, false }, + { 164957, true }, + { 164977, true }, + { 164999, true }, { 165023, true }, - { 165043, true }, - { 165065, true }, - { 165089, true }, - { 165101, true }, - { 165116, true }, - { 165134, true }, - { 165146, true }, + { 165035, true }, + { 165050, true }, + { 165068, true }, + { 165080, true }, + { 165096, true }, + { 165111, true }, + { 165127, true }, + { 165143, true }, { 165162, true }, - { 165177, true }, - { 165193, true }, - { 165209, true }, - { 165228, true }, - { 165245, true }, - { 165261, true }, - { 165278, true }, - { 165300, true }, - { 165322, true }, - { 165333, true }, - { 165349, true }, - { 165360, true }, - { 165380, true }, - { 165391, true }, - { 165406, true }, - { 165422, true }, - { 165437, true }, + { 165179, true }, + { 165195, true }, + { 165212, true }, + { 165234, true }, + { 165256, true }, + { 165267, true }, + { 165283, true }, + { 165294, true }, + { 165314, true }, + { 165325, true }, + { 165340, true }, + { 165356, true }, + { 165371, true }, + { 165386, true }, + { 165400, true }, + { 165423, true }, + { 165438, true }, { 165452, true }, - { 165466, true }, - { 165489, true }, - { 165504, true }, - { 165518, true }, - { 165533, true }, - { 165550, true }, - { 165567, true }, - { 165579, true }, - { 165594, true }, - { 165619, true }, - { 165631, true }, - { 165646, true }, - { 165662, true }, + { 165467, true }, + { 165484, true }, + { 165501, true }, + { 165513, true }, + { 165528, true }, + { 165553, true }, + { 165565, true }, + { 165580, true }, + { 165596, true }, + { 165612, true }, + { 165627, true }, + { 165656, true }, { 165678, true }, - { 165693, true }, - { 165722, true }, - { 165744, true }, - { 165762, true }, + { 165696, true }, + { 165710, true }, + { 165723, true }, + { 165738, true }, + { 165753, true }, + { 165760, true }, { 165776, true }, - { 165789, true }, - { 165804, true }, - { 165819, true }, - { 165826, true }, - { 165842, true }, - { 165853, true }, - { 165865, true }, - { 165876, true }, - { 165886, true }, - { 165897, true }, - { 165911, true }, - { 165925, true }, - { 165937, true }, - { 165949, true }, + { 165787, true }, + { 165799, true }, + { 165810, true }, + { 165820, true }, + { 165831, true }, + { 165845, true }, + { 165859, true }, + { 165871, true }, + { 165883, true }, + { 165894, true }, + { 165909, true }, + { 165923, true }, + { 165934, true }, + { 165947, true }, { 165960, true }, - { 165975, true }, { 165989, true }, - { 166000, true }, - { 166013, true }, - { 166026, true }, + { 166005, true }, + { 166024, true }, + { 166033, true }, + { 166048, true }, { 166055, true }, - { 166071, true }, - { 166090, true }, - { 166099, true }, - { 166114, true }, - { 166121, true }, - { 166131, true }, - { 166141, true }, - { 166150, true }, - { 166166, true }, + { 166065, true }, + { 166075, true }, + { 166084, true }, + { 166100, true }, + { 166115, true }, + { 166124, true }, + { 166136, true }, + { 166144, true }, + { 166153, true }, + { 166165, true }, { 166181, true }, - { 166190, true }, - { 166202, true }, - { 166210, true }, - { 166219, true }, - { 166231, true }, - { 166247, true }, - { 166266, true }, - { 166278, false }, - { 166295, false }, - { 166315, true }, - { 166330, true }, - { 166346, true }, - { 166359, true }, - { 166377, true }, - { 166392, true }, - { 166401, true }, - { 166416, true }, - { 166430, true }, - { 166446, true }, - { 166461, true }, - { 166483, true }, - { 166504, true }, - { 166523, true }, - { 166542, true }, - { 166558, true }, - { 166577, true }, - { 166588, true }, - { 166597, true }, - { 166609, true }, - { 166619, true }, - { 166638, true }, - { 166653, true }, - { 166667, true }, - { 166680, true }, - { 166688, true }, - { 166696, true }, - { 166705, true }, - { 166717, true }, - { 166729, true }, - { 166738, true }, - { 166750, true }, - { 166758, true }, - { 166770, true }, - { 166796, true }, - { 166819, false }, + { 166200, true }, + { 166212, false }, + { 166229, false }, + { 166249, true }, + { 166264, true }, + { 166280, true }, + { 166293, true }, + { 166311, true }, + { 166326, true }, + { 166335, true }, + { 166350, true }, + { 166364, true }, + { 166380, true }, + { 166395, true }, + { 166417, true }, + { 166438, true }, + { 166457, true }, + { 166476, true }, + { 166492, true }, + { 166511, true }, + { 166522, true }, + { 166531, true }, + { 166543, true }, + { 166553, true }, + { 166572, true }, + { 166587, true }, + { 166601, true }, + { 166614, true }, + { 166622, true }, + { 166630, true }, + { 166639, true }, + { 166651, true }, + { 166663, true }, + { 166672, true }, + { 166684, true }, + { 166692, true }, + { 166704, true }, + { 166730, true }, + { 166753, false }, + { 166769, true }, + { 166783, true }, + { 166803, true }, + { 166814, true }, { 166835, true }, - { 166849, true }, - { 166869, true }, - { 166880, true }, - { 166901, true }, - { 166920, true }, - { 166934, true }, - { 166949, true }, + { 166854, true }, + { 166868, true }, + { 166883, true }, + { 166897, true }, + { 166914, true }, + { 166928, true }, + { 166948, false }, { 166963, true }, - { 166980, true }, - { 166994, true }, - { 167014, false }, - { 167029, true }, - { 167037, true }, - { 167052, true }, - { 167067, true }, + { 166971, true }, + { 166986, true }, + { 167001, true }, + { 167015, true }, + { 167026, true }, + { 167043, true }, + { 167061, true }, { 167081, true }, - { 167092, true }, - { 167102, true }, - { 167119, true }, - { 167137, true }, - { 167157, true }, - { 167181, true }, - { 167188, true }, - { 167199, true }, - { 167210, true }, - { 167223, true }, - { 167235, false }, - { 167250, true }, - { 167266, true }, - { 167279, true }, + { 167105, true }, + { 167112, true }, + { 167123, true }, + { 167134, true }, + { 167147, true }, + { 167159, false }, + { 167174, true }, + { 167190, true }, + { 167203, true }, + { 167211, true }, + { 167221, true }, + { 167234, true }, + { 167249, false }, + { 167258, true }, + { 167272, true }, { 167287, true }, { 167297, true }, - { 167310, true }, - { 167325, false }, - { 167334, true }, - { 167348, true }, - { 167363, true }, - { 167373, true }, - { 167385, true }, - { 167395, true }, - { 167408, true }, - { 167421, true }, - { 167433, true }, - { 167441, true }, - { 167451, true }, - { 167465, true }, - { 167486, true }, - { 167499, true }, - { 167509, false }, - { 167529, true }, - { 167540, true }, - { 167548, true }, - { 167555, true }, - { 167565, true }, - { 167577, true }, - { 167583, true }, - { 167593, true }, - { 167601, false }, - { 167621, true }, - { 167636, true }, - { 167663, true }, - { 167672, true }, - { 167681, true }, - { 167689, true }, - { 167703, true }, - { 167718, true }, - { 167730, true }, - { 167743, true }, - { 167761, true }, - { 167772, true }, - { 167783, true }, - { 167791, true }, - { 167801, true }, - { 167809, true }, - { 167821, true }, - { 167830, true }, + { 167309, true }, + { 167319, true }, + { 167332, true }, + { 167345, true }, + { 167357, true }, + { 167365, true }, + { 167375, true }, + { 167389, true }, + { 167410, true }, + { 167423, true }, + { 167433, false }, + { 167453, true }, + { 167464, true }, + { 167472, true }, + { 167479, true }, + { 167489, true }, + { 167501, true }, + { 167507, true }, + { 167517, true }, + { 167525, false }, + { 167545, true }, + { 167560, true }, + { 167587, true }, + { 167596, true }, + { 167605, true }, + { 167613, true }, + { 167627, true }, + { 167642, true }, + { 167654, true }, + { 167667, true }, + { 167685, true }, + { 167696, true }, + { 167707, true }, + { 167715, true }, + { 167725, true }, + { 167733, true }, + { 167745, true }, + { 167754, true }, + { 167764, true }, + { 167777, true }, + { 167787, true }, + { 167799, true }, + { 167814, true }, + { 167826, true }, { 167840, true }, - { 167853, true }, - { 167863, true }, - { 167875, true }, - { 167890, true }, - { 167902, true }, - { 167916, true }, + { 167856, true }, + { 167874, true }, + { 167887, true }, + { 167900, true }, + { 167917, true }, { 167932, true }, - { 167950, true }, - { 167963, true }, - { 167976, true }, - { 167993, true }, - { 168008, true }, - { 168027, true }, - { 168042, true }, - { 168050, true }, - { 168062, true }, - { 168076, true }, - { 168096, true }, - { 168108, true }, - { 168130, true }, - { 168148, true }, - { 168165, true }, - { 168182, true }, - { 168193, true }, - { 168211, true }, - { 168223, true }, - { 168236, true }, - { 168252, true }, - { 168283, true }, - { 168297, true }, - { 168314, true }, - { 168332, true }, - { 168351, true }, - { 168367, true }, - { 168390, true }, - { 168409, true }, - { 168423, true }, - { 168439, true }, - { 168467, true }, - { 168483, true }, - { 168500, true }, - { 168531, true }, - { 168561, false }, - { 168577, true }, - { 168588, true }, - { 168600, true }, - { 168613, true }, - { 168630, true }, - { 168644, true }, - { 168669, true }, - { 168686, true }, - { 168705, true }, - { 168720, true }, - { 168731, true }, - { 168751, true }, - { 168766, true }, - { 168777, true }, - { 168792, true }, - { 168810, true }, - { 168826, true }, - { 168838, true }, - { 168848, true }, - { 168865, true }, - { 168877, false }, - { 168891, true }, - { 168898, false }, - { 168930, true }, - { 168943, true }, - { 168962, true }, - { 168976, true }, - { 168986, true }, - { 169000, true }, - { 169013, true }, - { 169030, true }, - { 169044, true }, - { 169060, false }, - { 169075, true }, - { 169089, true }, - { 169100, true }, - { 169111, true }, - { 169123, true }, - { 169132, true }, - { 169139, true }, + { 167951, true }, + { 167966, true }, + { 167974, true }, + { 167986, true }, + { 168000, true }, + { 168020, true }, + { 168032, true }, + { 168058, true }, + { 168080, true }, + { 168098, true }, + { 168115, true }, + { 168132, true }, + { 168143, true }, + { 168161, true }, + { 168173, true }, + { 168186, true }, + { 168202, true }, + { 168233, true }, + { 168247, true }, + { 168264, true }, + { 168282, true }, + { 168301, true }, + { 168317, true }, + { 168340, true }, + { 168359, true }, + { 168373, true }, + { 168389, true }, + { 168417, true }, + { 168433, true }, + { 168450, true }, + { 168481, true }, + { 168511, false }, + { 168527, true }, + { 168538, true }, + { 168550, true }, + { 168563, true }, + { 168580, true }, + { 168594, true }, + { 168619, true }, + { 168636, true }, + { 168655, true }, + { 168670, true }, + { 168681, true }, + { 168701, true }, + { 168716, true }, + { 168727, true }, + { 168742, true }, + { 168760, true }, + { 168776, true }, + { 168788, true }, + { 168798, true }, + { 168815, true }, + { 168827, false }, + { 168841, true }, + { 168848, false }, + { 168880, true }, + { 168893, true }, + { 168912, true }, + { 168926, true }, + { 168936, true }, + { 168950, true }, + { 168967, true }, + { 168981, true }, + { 168997, false }, + { 169012, true }, + { 169026, true }, + { 169037, true }, + { 169048, true }, + { 169060, true }, + { 169069, true }, + { 169076, true }, + { 169087, true }, + { 169095, true }, + { 169102, true }, + { 169113, true }, + { 169121, true }, + { 169129, true }, + { 169137, true }, { 169150, true }, - { 169158, true }, { 169165, true }, - { 169176, true }, - { 169184, true }, - { 169192, true }, - { 169200, true }, - { 169213, true }, - { 169228, true }, - { 169238, true }, + { 169175, true }, + { 169185, true }, + { 169197, true }, + { 169211, true }, + { 169220, true }, + { 169239, true }, { 169248, true }, - { 169260, true }, - { 169274, true }, - { 169283, true }, - { 169302, true }, + { 169264, true }, + { 169276, true }, + { 169288, true }, + { 169300, true }, { 169311, true }, - { 169327, true }, - { 169339, true }, - { 169351, true }, - { 169363, true }, - { 169374, true }, - { 169386, true }, - { 169397, true }, - { 169408, true }, - { 169423, true }, - { 169431, true }, + { 169323, true }, + { 169334, true }, + { 169345, true }, + { 169360, true }, + { 169368, true }, + { 169393, true }, + { 169404, true }, + { 169415, true }, + { 169426, true }, + { 169440, true }, { 169456, true }, - { 169467, true }, - { 169478, true }, - { 169489, true }, - { 169503, true }, - { 169519, true }, - { 169531, true }, - { 169545, true }, - { 169559, true }, - { 169574, true }, - { 169595, true }, - { 169616, true }, - { 169624, true }, - { 169638, true }, - { 169645, true }, - { 169657, true }, - { 169669, true }, - { 169683, true }, - { 169700, true }, - { 169713, true }, - { 169729, false }, - { 169742, true }, - { 169755, true }, - { 169769, true }, - { 169780, true }, - { 169790, true }, - { 169797, true }, - { 169809, true }, - { 169818, true }, - { 169827, true }, - { 169835, true }, - { 169850, true }, - { 169858, true }, - { 169870, true }, - { 169882, true }, - { 169892, true }, - { 169902, true }, - { 169913, true }, - { 169922, true }, - { 169940, true }, - { 169958, true }, - { 169968, true }, - { 169979, false }, - { 169990, true }, - { 170012, true }, - { 170020, true }, - { 170028, false }, - { 170036, true }, - { 170044, true }, - { 170060, true }, - { 170076, true }, - { 170089, true }, - { 170100, true }, - { 170112, true }, - { 170131, true }, - { 170157, true }, - { 170171, true }, - { 170185, true }, - { 170199, true }, - { 170214, true }, - { 170226, true }, - { 170239, true }, - { 170251, true }, - { 170261, false }, - { 170279, true }, - { 170295, true }, - { 170310, true }, - { 170321, true }, - { 170338, true }, - { 170350, true }, - { 170361, true }, - { 170380, true }, - { 170396, true }, - { 170408, true }, - { 170420, true }, - { 170433, true }, - { 170445, true }, - { 170462, true }, - { 170469, true }, + { 169468, true }, + { 169482, true }, + { 169496, true }, + { 169511, true }, + { 169532, true }, + { 169547, true }, + { 169568, true }, + { 169576, true }, + { 169590, true }, + { 169597, true }, + { 169609, true }, + { 169621, true }, + { 169635, true }, + { 169652, true }, + { 169665, true }, + { 169681, false }, + { 169694, true }, + { 169707, true }, + { 169721, true }, + { 169732, true }, + { 169741, true }, + { 169751, true }, + { 169758, true }, + { 169770, true }, + { 169779, true }, + { 169788, true }, + { 169796, true }, + { 169811, true }, + { 169819, true }, + { 169831, true }, + { 169843, true }, + { 169853, true }, + { 169863, true }, + { 169874, true }, + { 169883, true }, + { 169901, true }, + { 169919, true }, + { 169929, true }, + { 169940, false }, + { 169951, true }, + { 169973, true }, + { 169981, true }, + { 169989, false }, + { 169997, true }, + { 170005, true }, + { 170021, true }, + { 170037, true }, + { 170050, true }, + { 170061, true }, + { 170073, true }, + { 170092, true }, + { 170118, true }, + { 170132, true }, + { 170146, true }, + { 170160, true }, + { 170175, true }, + { 170187, true }, + { 170200, true }, + { 170212, true }, + { 170222, false }, + { 170240, true }, + { 170256, true }, + { 170271, true }, + { 170282, true }, + { 170299, true }, + { 170311, true }, + { 170322, true }, + { 170341, true }, + { 170357, true }, + { 170369, true }, + { 170381, true }, + { 170394, true }, + { 170406, true }, + { 170423, true }, + { 170430, true }, + { 170443, true }, + { 170460, true }, { 170482, true }, - { 170499, true }, - { 170521, true }, - { 170532, true }, - { 170542, true }, - { 170552, true }, - { 170564, false }, - { 170575, true }, - { 170589, true }, - { 170598, true }, - { 170609, true }, - { 170627, true }, - { 170646, true }, - { 170662, true }, - { 170675, true }, + { 170493, true }, + { 170503, true }, + { 170513, true }, + { 170525, false }, + { 170536, true }, + { 170550, true }, + { 170559, true }, + { 170570, true }, + { 170588, true }, + { 170607, true }, + { 170623, true }, + { 170636, true }, + { 170652, true }, + { 170679, true }, { 170691, true }, - { 170718, true }, - { 170730, true }, - { 170740, true }, - { 170755, true }, - { 170763, true }, - { 170780, true }, - { 170809, true }, - { 170823, true }, - { 170833, true }, - { 170869, true }, - { 170902, true }, - { 170925, true }, - { 170938, true }, + { 170701, true }, + { 170716, true }, + { 170724, true }, + { 170741, true }, + { 170770, true }, + { 170784, true }, + { 170794, true }, + { 170817, true }, + { 170830, true }, + { 170842, true }, + { 170854, true }, + { 170863, true }, + { 170876, false }, + { 170899, true }, + { 170915, true }, + { 170933, true }, { 170950, true }, - { 170962, true }, - { 170971, true }, - { 170984, false }, - { 171007, true }, - { 171023, true }, - { 171041, true }, - { 171058, true }, - { 171082, true }, - { 171094, true }, - { 171103, true }, - { 171112, true }, - { 171121, true }, - { 171133, true }, + { 170974, true }, + { 170986, true }, + { 170995, true }, + { 171004, true }, + { 171013, true }, + { 171025, true }, + { 171034, true }, + { 171042, true }, + { 171055, true }, + { 171066, true }, + { 171091, true }, + { 171102, true }, + { 171115, true }, + { 171128, true }, { 171141, true }, - { 171154, true }, - { 171165, true }, + { 171155, true }, + { 171168, true }, + { 171179, false }, { 171190, true }, - { 171201, true }, - { 171214, true }, - { 171227, true }, - { 171240, true }, - { 171254, true }, - { 171267, true }, - { 171278, true }, - { 171286, true }, - { 171294, true }, - { 171309, true }, - { 171317, true }, - { 171325, true }, - { 171337, true }, - { 171345, true }, - { 171358, false }, - { 171369, true }, - { 171384, true }, - { 171404, true }, - { 171412, true }, - { 171430, true }, - { 171440, true }, + { 171198, true }, + { 171206, true }, + { 171221, true }, + { 171229, true }, + { 171237, true }, + { 171249, true }, + { 171257, true }, + { 171270, false }, + { 171281, true }, + { 171296, true }, + { 171316, true }, + { 171324, true }, + { 171342, true }, + { 171352, true }, + { 171372, true }, + { 171392, false }, + { 171405, true }, + { 171416, true }, + { 171437, true }, { 171460, true }, - { 171480, false }, - { 171493, true }, - { 171504, true }, - { 171525, true }, - { 171548, true }, - { 171563, true }, - { 171589, true }, - { 171599, true }, - { 171612, true }, - { 171628, true }, - { 171643, false }, - { 171661, true }, - { 171692, true }, - { 171712, true }, - { 171729, true }, - { 171746, true }, - { 171764, true }, - { 171777, true }, - { 171792, true }, - { 171804, true }, - { 171814, true }, + { 171475, true }, + { 171501, true }, + { 171511, true }, + { 171524, true }, + { 171540, true }, + { 171555, false }, + { 171573, true }, + { 171604, true }, + { 171624, true }, + { 171641, true }, + { 171658, true }, + { 171676, true }, + { 171689, true }, + { 171704, true }, + { 171716, true }, + { 171726, true }, + { 171733, true }, + { 171753, true }, + { 171766, true }, + { 171783, true }, + { 171795, true }, + { 171809, true }, { 171821, true }, - { 171841, true }, + { 171836, true }, { 171854, true }, - { 171871, true }, - { 171883, true }, - { 171897, true }, - { 171909, true }, - { 171924, true }, - { 171942, true }, - { 171955, true }, + { 171867, true }, + { 171880, true }, + { 171891, true }, + { 171902, true }, + { 171919, true }, + { 171930, true }, + { 171945, true }, + { 171956, true }, { 171968, true }, - { 171979, true }, - { 171990, true }, - { 172007, true }, - { 172018, true }, + { 171980, false }, + { 171992, true }, + { 172006, true }, + { 172023, true }, { 172033, true }, - { 172044, true }, - { 172056, true }, - { 172068, false }, - { 172080, true }, - { 172094, true }, - { 172111, true }, - { 172121, true }, - { 172134, false }, - { 172152, false }, - { 172163, true }, - { 172180, true }, - { 172197, true }, - { 172208, true }, - { 172218, true }, - { 172233, true }, - { 172243, true }, - { 172258, true }, - { 172275, true }, - { 172287, true }, - { 172298, true }, - { 172316, true }, - { 172327, true }, - { 172342, true }, - { 172357, true }, - { 172372, true }, - { 172397, true }, - { 172422, true }, - { 172435, true }, - { 172452, true }, - { 172471, true }, - { 172483, true }, - { 172500, true }, - { 172520, true }, - { 172541, true }, - { 172555, true }, - { 172572, true }, - { 172597, true }, - { 172618, true }, - { 172640, true }, - { 172670, true }, - { 172691, true }, - { 172712, true }, - { 172736, true }, - { 172751, true }, - { 172764, true }, - { 172774, true }, - { 172797, true }, - { 172808, true }, - { 172815, true }, - { 172830, true }, - { 172849, true }, - { 172858, true }, - { 172865, true }, - { 172876, true }, - { 172893, true }, + { 172046, false }, + { 172064, false }, + { 172075, true }, + { 172092, true }, + { 172109, true }, + { 172120, true }, + { 172130, true }, + { 172145, true }, + { 172155, true }, + { 172170, true }, + { 172187, true }, + { 172199, true }, + { 172210, true }, + { 172228, true }, + { 172239, true }, + { 172254, true }, + { 172269, true }, + { 172284, true }, + { 172309, true }, + { 172334, true }, + { 172347, true }, + { 172364, true }, + { 172383, true }, + { 172395, true }, + { 172412, true }, + { 172432, true }, + { 172453, true }, + { 172467, true }, + { 172484, true }, + { 172509, true }, + { 172530, true }, + { 172552, true }, + { 172582, true }, + { 172603, true }, + { 172624, true }, + { 172648, true }, + { 172663, true }, + { 172676, true }, + { 172686, true }, + { 172709, true }, + { 172720, true }, + { 172727, true }, + { 172742, true }, + { 172761, true }, + { 172770, true }, + { 172777, true }, + { 172788, true }, + { 172805, true }, + { 172821, true }, + { 172831, true }, + { 172842, true }, + { 172852, true }, + { 172863, true }, + { 172875, true }, + { 172891, true }, + { 172901, true }, { 172909, true }, { 172919, true }, - { 172930, true }, - { 172940, true }, - { 172951, true }, - { 172963, true }, - { 172979, true }, - { 172989, true }, - { 172997, true }, + { 172929, true }, + { 172941, true }, + { 172952, true }, + { 172967, true }, + { 172991, true }, { 173007, true }, - { 173017, true }, - { 173029, true }, - { 173040, true }, - { 173055, true }, - { 173079, true }, - { 173095, true }, - { 173109, true }, - { 173134, true }, - { 173142, true }, - { 173160, true }, - { 173171, true }, - { 173184, true }, - { 173195, true }, - { 173210, true }, - { 173229, true }, - { 173241, true }, - { 173252, true }, - { 173267, true }, - { 173282, true }, - { 173296, true }, - { 173312, true }, - { 173330, true }, - { 173342, true }, - { 173360, true }, - { 173380, true }, - { 173392, true }, - { 173409, true }, - { 173423, true }, - { 173438, true }, - { 173452, true }, + { 173021, true }, + { 173046, true }, + { 173054, true }, + { 173072, true }, + { 173083, true }, + { 173096, true }, + { 173107, true }, + { 173122, true }, + { 173141, true }, + { 173153, true }, + { 173164, true }, + { 173179, true }, + { 173194, true }, + { 173208, true }, + { 173224, true }, + { 173242, true }, + { 173254, true }, + { 173272, true }, + { 173292, true }, + { 173304, true }, + { 173321, true }, + { 173335, true }, + { 173350, true }, + { 173364, true }, + { 173378, true }, + { 173389, true }, + { 173406, true }, + { 173415, true }, + { 173428, true }, + { 173437, true }, + { 173455, true }, { 173466, true }, { 173477, true }, - { 173494, true }, - { 173503, true }, - { 173516, true }, - { 173525, true }, - { 173543, true }, - { 173554, true }, - { 173565, true }, - { 173577, true }, - { 173598, true }, - { 173605, true }, - { 173616, true }, - { 173633, false }, - { 173659, false }, - { 173671, true }, - { 173684, true }, - { 173703, true }, + { 173489, true }, + { 173510, true }, + { 173517, true }, + { 173528, true }, + { 173545, false }, + { 173571, false }, + { 173583, true }, + { 173596, true }, + { 173615, true }, + { 173632, true }, + { 173643, true }, + { 173660, true }, + { 173670, true }, + { 173683, true }, + { 173704, true }, { 173720, true }, - { 173731, true }, - { 173748, true }, + { 173744, true }, { 173758, true }, - { 173771, true }, - { 173792, true }, - { 173808, true }, - { 173832, true }, - { 173846, true }, - { 173857, true }, - { 173871, true }, + { 173769, true }, + { 173783, true }, + { 173800, true }, + { 173810, true }, + { 173825, true }, + { 173837, true }, + { 173852, true }, + { 173862, true }, + { 173875, true }, { 173888, true }, - { 173898, true }, - { 173913, true }, - { 173925, true }, - { 173940, true }, - { 173950, true }, - { 173963, true }, - { 173976, true }, - { 173989, true }, - { 174009, true }, + { 173901, true }, + { 173921, true }, + { 173943, true }, + { 173957, true }, + { 173972, false }, + { 173985, true }, + { 174000, true }, + { 174011, true }, { 174031, true }, - { 174045, true }, - { 174060, false }, - { 174073, true }, - { 174088, true }, + { 174047, true }, + { 174066, true }, + { 174080, true }, { 174099, true }, - { 174119, true }, - { 174135, true }, - { 174154, true }, - { 174168, true }, - { 174187, true }, - { 174208, true }, - { 174219, true }, - { 174238, true }, - { 174246, true }, - { 174254, true }, - { 174265, true }, - { 174274, true }, + { 174120, true }, + { 174131, true }, + { 174150, true }, + { 174158, true }, + { 174166, true }, + { 174177, true }, + { 174186, true }, + { 174202, true }, + { 174211, true }, + { 174226, true }, + { 174237, true }, + { 174248, true }, + { 174259, true }, + { 174269, true }, + { 174279, true }, { 174290, true }, - { 174299, true }, - { 174314, true }, - { 174325, true }, + { 174300, true }, + { 174311, true }, + { 174318, true }, { 174336, true }, - { 174347, true }, - { 174357, true }, - { 174367, true }, - { 174378, true }, - { 174388, true }, - { 174399, true }, - { 174406, true }, - { 174424, true }, - { 174436, true }, - { 174447, true }, - { 174469, true }, - { 174483, true }, + { 174348, true }, + { 174359, true }, + { 174381, true }, + { 174395, true }, + { 174414, true }, + { 174422, true }, + { 174441, true }, + { 174463, true }, + { 174472, true }, + { 174484, true }, { 174502, true }, - { 174510, true }, - { 174529, true }, - { 174551, true }, - { 174560, true }, - { 174572, true }, - { 174590, true }, - { 174604, true }, - { 174616, true }, - { 174635, true }, - { 174645, true }, + { 174516, true }, + { 174528, true }, + { 174547, true }, + { 174557, true }, + { 174569, true }, + { 174578, true }, + { 174594, true }, + { 174602, true }, + { 174614, true }, + { 174629, true }, + { 174649, true }, { 174657, true }, - { 174666, true }, - { 174682, true }, - { 174690, true }, - { 174702, true }, - { 174717, true }, - { 174737, true }, + { 174670, true }, + { 174687, true }, + { 174696, true }, + { 174714, true }, + { 174726, true }, { 174745, true }, - { 174758, true }, - { 174775, true }, - { 174784, true }, + { 174759, true }, + { 174779, true }, { 174802, true }, - { 174814, true }, - { 174833, true }, - { 174847, true }, + { 174815, true }, + { 174827, true }, + { 174851, true }, { 174867, true }, { 174890, true }, - { 174903, true }, - { 174915, true }, - { 174939, true }, - { 174955, true }, - { 174978, true }, - { 174992, true }, - { 175009, true }, - { 175025, true }, - { 175042, true }, - { 175057, true }, - { 175072, true }, - { 175091, true }, - { 175107, true }, - { 175115, true }, - { 175133, true }, - { 175142, false }, - { 175151, true }, - { 175163, true }, - { 175177, true }, - { 175191, true }, - { 175201, true }, - { 175214, true }, + { 174904, true }, + { 174921, true }, + { 174937, true }, + { 174954, true }, + { 174969, true }, + { 174984, true }, + { 175003, true }, + { 175019, true }, + { 175027, true }, + { 175045, true }, + { 175054, false }, + { 175063, true }, + { 175075, true }, + { 175089, true }, + { 175103, true }, + { 175113, true }, + { 175124, true }, + { 175137, true }, + { 175146, true }, + { 175169, true }, + { 175181, true }, + { 175197, true }, + { 175207, false }, + { 175216, true }, { 175223, true }, - { 175246, true }, - { 175258, true }, - { 175274, true }, - { 175284, false }, - { 175293, true }, - { 175300, true }, - { 175309, true }, - { 175317, true }, - { 175326, false }, - { 175340, true }, - { 175354, true }, - { 175364, true }, - { 175374, true }, - { 175384, true }, - { 175396, true }, - { 175409, true }, - { 175421, true }, - { 175433, true }, - { 175447, true }, - { 175465, false }, - { 175478, true }, - { 175493, true }, - { 175511, true }, - { 175521, true }, - { 175532, true }, - { 175544, true }, - { 175557, true }, - { 175571, true }, - { 175585, true }, - { 175595, true }, - { 175608, true }, - { 175618, true }, - { 175629, true }, - { 175646, true }, - { 175657, true }, - { 175666, true }, - { 175679, true }, - { 175690, true }, - { 175708, true }, - { 175718, true }, - { 175728, true }, - { 175740, true }, - { 175752, true }, - { 175767, true }, - { 175778, true }, - { 175794, true }, - { 175811, true }, - { 175824, true }, - { 175838, true }, - { 175847, true }, - { 175860, false }, - { 175869, false }, - { 175880, true }, - { 175896, false }, - { 175911, false }, - { 175922, false }, + { 175232, true }, + { 175240, true }, + { 175249, false }, + { 175263, true }, + { 175277, true }, + { 175287, true }, + { 175297, true }, + { 175307, true }, + { 175319, true }, + { 175332, true }, + { 175344, true }, + { 175356, true }, + { 175370, true }, + { 175388, false }, + { 175401, true }, + { 175416, true }, + { 175434, true }, + { 175444, true }, + { 175455, true }, + { 175467, true }, + { 175480, true }, + { 175494, true }, + { 175508, true }, + { 175518, true }, + { 175531, true }, + { 175541, true }, + { 175552, true }, + { 175561, true }, + { 175578, true }, + { 175589, true }, + { 175598, true }, + { 175611, true }, + { 175622, true }, + { 175640, true }, + { 175650, true }, + { 175660, true }, + { 175672, true }, + { 175684, true }, + { 175699, true }, + { 175710, true }, + { 175726, true }, + { 175743, true }, + { 175756, true }, + { 175770, true }, + { 175779, true }, + { 175792, false }, + { 175801, false }, + { 175812, true }, + { 175828, false }, + { 175843, false }, + { 175854, false }, + { 175861, true }, + { 175877, true }, + { 175895, true }, + { 175914, true }, { 175929, true }, - { 175945, true }, - { 175963, true }, - { 175982, true }, + { 175946, true }, + { 175962, true }, + { 175983, true }, { 175997, true }, - { 176014, true }, - { 176030, true }, - { 176051, true }, - { 176065, true }, - { 176090, true }, - { 176107, true }, - { 176126, true }, - { 176141, false }, - { 176155, true }, - { 176169, true }, - { 176182, true }, - { 176203, true }, - { 176215, true }, - { 176228, true }, - { 176238, true }, + { 176022, true }, + { 176039, true }, + { 176058, true }, + { 176073, false }, + { 176087, true }, + { 176101, true }, + { 176114, true }, + { 176135, true }, + { 176147, true }, + { 176160, true }, + { 176170, true }, + { 176184, true }, + { 176204, true }, + { 176217, true }, + { 176236, true }, { 176252, true }, - { 176272, true }, - { 176285, true }, - { 176304, true }, + { 176270, true }, + { 176284, false }, + { 176296, true }, + { 176306, true }, { 176320, true }, - { 176338, true }, - { 176352, false }, - { 176364, true }, - { 176374, true }, - { 176388, true }, - { 176398, true }, - { 176414, true }, - { 176440, true }, + { 176330, true }, + { 176346, true }, + { 176372, true }, + { 176400, true }, + { 176413, true }, + { 176428, true }, + { 176444, true }, { 176468, true }, - { 176481, true }, - { 176496, true }, - { 176512, true }, - { 176536, true }, - { 176552, true }, + { 176484, true }, + { 176499, true }, + { 176513, true }, + { 176525, true }, + { 176537, true }, + { 176549, false }, { 176567, true }, - { 176581, true }, - { 176593, true }, - { 176605, true }, - { 176617, false }, - { 176635, true }, - { 176648, true }, - { 176667, true }, - { 176685, true }, - { 176700, true }, - { 176723, true }, - { 176740, true }, - { 176759, true }, - { 176779, true }, - { 176802, true }, - { 176821, true }, - { 176840, true }, - { 176859, true }, - { 176877, true }, - { 176896, true }, - { 176907, true }, - { 176917, true }, - { 176932, true }, - { 176952, true }, - { 176973, true }, - { 176993, true }, - { 177012, true }, - { 177026, true }, - { 177050, true }, - { 177065, true }, - { 177079, true }, - { 177091, true }, - { 177101, true }, - { 177121, true }, - { 177151, true }, - { 177174, true }, - { 177197, true }, - { 177226, true }, - { 177244, true }, - { 177260, true }, - { 177272, true }, - { 177282, true }, - { 177302, false }, - { 177314, true }, - { 177327, true }, - { 177345, true }, - { 177362, true }, - { 177380, true }, - { 177400, true }, - { 177415, true }, - { 177424, true }, - { 177436, true }, - { 177447, true }, - { 177459, true }, - { 177471, false }, - { 177488, true }, - { 177501, true }, - { 177519, true }, - { 177534, true }, - { 177549, true }, - { 177563, true }, - { 177575, true }, - { 177595, true }, - { 177606, true }, - { 177618, true }, - { 177628, true }, - { 177642, true }, - { 177662, true }, - { 177676, true }, - { 177694, true }, - { 177707, true }, - { 177722, true }, + { 176580, true }, + { 176599, true }, + { 176617, true }, + { 176632, true }, + { 176655, true }, + { 176672, true }, + { 176691, true }, + { 176711, true }, + { 176734, true }, + { 176753, true }, + { 176772, true }, + { 176791, true }, + { 176809, true }, + { 176828, true }, + { 176839, true }, + { 176849, true }, + { 176864, true }, + { 176884, true }, + { 176905, true }, + { 176925, true }, + { 176944, true }, + { 176958, true }, + { 176982, true }, + { 176997, true }, + { 177011, true }, + { 177023, true }, + { 177033, true }, + { 177053, true }, + { 177083, true }, + { 177106, true }, + { 177129, true }, + { 177158, true }, + { 177176, true }, + { 177192, true }, + { 177204, true }, + { 177214, true }, + { 177234, false }, + { 177246, true }, + { 177259, true }, + { 177277, true }, + { 177294, true }, + { 177312, true }, + { 177332, true }, + { 177347, true }, + { 177356, true }, + { 177368, true }, + { 177379, true }, + { 177391, true }, + { 177403, false }, + { 177420, true }, + { 177433, true }, + { 177451, true }, + { 177466, true }, + { 177481, true }, + { 177495, true }, + { 177507, true }, + { 177527, true }, + { 177538, true }, + { 177550, true }, + { 177560, true }, + { 177574, true }, + { 177594, true }, + { 177608, true }, + { 177626, true }, + { 177639, true }, + { 177654, true }, + { 177670, true }, + { 177685, true }, + { 177697, true }, + { 177712, true }, + { 177728, true }, { 177738, true }, - { 177753, true }, - { 177765, true }, + { 177745, true }, + { 177760, true }, { 177780, true }, - { 177796, true }, - { 177806, true }, - { 177813, true }, - { 177828, true }, - { 177848, true }, - { 177860, true }, - { 177871, true }, - { 177884, true }, - { 177893, true }, - { 177913, true }, - { 177933, true }, - { 177956, true }, - { 177976, true }, - { 177990, true }, - { 178002, true }, - { 178013, true }, - { 178023, true }, - { 178034, false }, - { 178045, true }, - { 178056, true }, - { 178067, false }, - { 178077, false }, - { 178094, true }, - { 178106, true }, - { 178122, true }, - { 178135, true }, - { 178144, true }, - { 178158, true }, - { 178169, true }, - { 178181, true }, - { 178199, true }, - { 178213, true }, - { 178224, true }, - { 178235, true }, - { 178248, true }, - { 178261, true }, - { 178270, true }, - { 178285, true }, - { 178296, true }, - { 178314, true }, - { 178334, true }, - { 178346, true }, - { 178356, true }, - { 178367, true }, - { 178400, true }, - { 178412, true }, - { 178426, true }, - { 178440, true }, - { 178455, true }, - { 178469, true }, - { 178483, false }, - { 178503, true }, - { 178520, true }, - { 178533, true }, - { 178548, true }, - { 178564, true }, - { 178582, true }, - { 178598, true }, - { 178615, true }, - { 178627, true }, - { 178640, true }, - { 178653, true }, - { 178667, true }, - { 178680, true }, - { 178693, true }, - { 178709, true }, - { 178723, true }, - { 178736, true }, - { 178749, true }, + { 177792, true }, + { 177803, true }, + { 177816, true }, + { 177825, true }, + { 177845, true }, + { 177865, true }, + { 177888, true }, + { 177908, true }, + { 177922, true }, + { 177934, true }, + { 177945, true }, + { 177955, true }, + { 177966, false }, + { 177977, true }, + { 177988, true }, + { 177999, false }, + { 178009, false }, + { 178026, true }, + { 178038, true }, + { 178054, true }, + { 178067, true }, + { 178076, true }, + { 178090, true }, + { 178101, true }, + { 178113, true }, + { 178131, true }, + { 178145, true }, + { 178156, true }, + { 178167, true }, + { 178180, true }, + { 178193, true }, + { 178202, true }, + { 178217, true }, + { 178228, true }, + { 178246, true }, + { 178266, true }, + { 178278, true }, + { 178288, true }, + { 178299, true }, + { 178332, true }, + { 178344, true }, + { 178358, true }, + { 178372, true }, + { 178387, true }, + { 178401, true }, + { 178415, false }, + { 178435, true }, + { 178452, true }, + { 178465, true }, + { 178480, true }, + { 178496, true }, + { 178514, true }, + { 178530, true }, + { 178547, true }, + { 178559, true }, + { 178572, true }, + { 178585, true }, + { 178599, true }, + { 178612, true }, + { 178625, true }, + { 178641, true }, + { 178655, true }, + { 178668, true }, + { 178681, true }, + { 178694, true }, + { 178707, true }, + { 178720, true }, + { 178735, true }, + { 178748, true }, { 178762, true }, { 178775, true }, - { 178788, true }, - { 178803, true }, - { 178816, true }, - { 178830, true }, - { 178843, true }, - { 178857, true }, - { 178870, true }, - { 178883, true }, - { 178896, true }, - { 178909, true }, - { 178922, true }, + { 178789, true }, + { 178802, true }, + { 178815, true }, + { 178828, true }, + { 178841, true }, + { 178854, true }, + { 178866, true }, + { 178877, true }, + { 178884, true }, + { 178901, true }, + { 178914, true }, + { 178923, true }, { 178934, true }, - { 178945, true }, - { 178952, true }, - { 178969, true }, - { 178982, true }, - { 178991, true }, - { 179002, true }, - { 179011, true }, - { 179024, true }, - { 179055, true }, - { 179072, true }, - { 179085, true }, - { 179098, true }, - { 179111, true }, - { 179124, true }, - { 179135, true }, - { 179144, true }, + { 178943, true }, + { 178956, true }, + { 178987, true }, + { 179004, true }, + { 179017, true }, + { 179030, true }, + { 179043, true }, + { 179056, true }, + { 179067, true }, + { 179076, true }, + { 179086, true }, + { 179101, true }, + { 179113, true }, + { 179129, true }, { 179154, true }, - { 179169, true }, - { 179181, true }, - { 179197, true }, - { 179222, true }, - { 179246, true }, - { 179267, true }, - { 179284, false }, - { 179297, true }, - { 179310, true }, - { 179321, true }, - { 179338, true }, - { 179349, true }, - { 179368, true }, - { 179386, false }, - { 179398, true }, - { 179411, true }, - { 179421, true }, - { 179457, true }, + { 179178, true }, + { 179199, true }, + { 179216, false }, + { 179229, true }, + { 179242, true }, + { 179253, true }, + { 179270, true }, + { 179281, true }, + { 179300, true }, + { 179318, false }, + { 179330, true }, + { 179343, true }, + { 179353, true }, + { 179389, true }, + { 179402, true }, + { 179416, true }, + { 179429, true }, + { 179438, true }, + { 179446, false }, + { 179456, true }, { 179470, true }, - { 179484, true }, - { 179497, true }, - { 179506, true }, - { 179514, false }, - { 179524, true }, - { 179538, true }, - { 179550, true }, - { 179568, true }, - { 179597, true }, - { 179611, true }, - { 179629, true }, - { 179650, true }, - { 179670, true }, - { 179693, true }, - { 179709, true }, - { 179726, true }, - { 179740, true }, + { 179482, true }, + { 179500, true }, + { 179529, true }, + { 179543, true }, + { 179561, true }, + { 179582, true }, + { 179602, true }, + { 179625, true }, + { 179641, true }, + { 179658, true }, + { 179672, true }, + { 179688, true }, + { 179701, true }, + { 179722, true }, + { 179742, true }, { 179756, true }, - { 179769, true }, - { 179790, true }, - { 179810, true }, - { 179824, true }, - { 179834, true }, - { 179847, true }, - { 179856, true }, - { 179890, true }, - { 179907, true }, - { 179918, true }, + { 179766, true }, + { 179779, true }, + { 179788, true }, + { 179822, true }, + { 179839, true }, + { 179850, true }, + { 179861, true }, + { 179873, true }, + { 179887, true }, + { 179898, true }, + { 179917, true }, { 179929, true }, - { 179941, true }, - { 179955, true }, - { 179966, true }, - { 179985, true }, - { 179997, true }, - { 180010, true }, - { 180026, true }, - { 180045, true }, - { 180060, true }, - { 180074, true }, - { 180089, true }, - { 180106, false }, - { 180121, true }, - { 180141, true }, - { 180152, true }, - { 180172, false }, - { 180181, true }, - { 180190, true }, - { 180201, true }, - { 180213, true }, - { 180227, true }, - { 180245, true }, - { 180257, true }, - { 180272, true }, - { 180284, true }, - { 180295, false }, - { 180312, true }, - { 180322, true }, - { 180343, true }, - { 180371, false }, - { 180382, true }, - { 180402, true }, - { 180409, true }, - { 180420, true }, - { 180430, true }, - { 180440, true }, - { 180454, true }, - { 180468, true }, - { 180479, false }, - { 180490, true }, - { 180498, false }, - { 180518, true }, - { 180533, true }, - { 180546, true }, - { 180562, true }, - { 180577, true }, - { 180593, true }, - { 180607, true }, - { 180622, true }, - { 180635, true }, - { 180651, true }, - { 180664, true }, - { 180673, true }, - { 180693, true }, - { 180706, true }, - { 180725, true }, - { 180743, true }, - { 180753, true }, - { 180767, true }, - { 180785, true }, - { 180805, true }, - { 180837, true }, - { 180851, true }, + { 179942, true }, + { 179958, true }, + { 179977, true }, + { 179992, true }, + { 180006, true }, + { 180021, true }, + { 180038, false }, + { 180053, true }, + { 180073, true }, + { 180084, true }, + { 180104, false }, + { 180113, true }, + { 180122, true }, + { 180133, true }, + { 180145, true }, + { 180159, true }, + { 180177, true }, + { 180189, true }, + { 180204, true }, + { 180216, true }, + { 180227, false }, + { 180244, true }, + { 180254, true }, + { 180275, true }, + { 180303, false }, + { 180314, true }, + { 180334, true }, + { 180341, true }, + { 180352, true }, + { 180362, true }, + { 180372, true }, + { 180386, true }, + { 180400, true }, + { 180411, false }, + { 180422, true }, + { 180430, false }, + { 180450, true }, + { 180465, true }, + { 180478, true }, + { 180494, true }, + { 180509, true }, + { 180525, true }, + { 180539, true }, + { 180554, true }, + { 180567, true }, + { 180583, true }, + { 180596, true }, + { 180605, true }, + { 180625, true }, + { 180638, true }, + { 180657, true }, + { 180675, true }, + { 180685, true }, + { 180699, true }, + { 180717, true }, + { 180737, true }, + { 180769, true }, + { 180783, true }, + { 180798, true }, + { 180817, true }, + { 180836, true }, + { 180853, true }, { 180866, true }, - { 180885, true }, - { 180904, true }, - { 180921, true }, - { 180934, true }, - { 180949, true }, - { 180970, true }, - { 180991, true }, - { 181005, true }, - { 181027, true }, - { 181043, true }, - { 181068, true }, - { 181080, true }, - { 181091, true }, - { 181108, true }, - { 181132, true }, - { 181141, true }, - { 181155, true }, - { 181168, true }, - { 181181, true }, - { 181193, true }, - { 181206, true }, - { 181224, true }, - { 181241, true }, - { 181266, true }, - { 181279, true }, - { 181294, true }, - { 181308, true }, - { 181322, true }, - { 181339, true }, - { 181359, true }, - { 181375, true }, - { 181393, true }, - { 181404, true }, - { 181419, true }, - { 181432, true }, - { 181447, true }, - { 181455, false }, - { 181468, true }, - { 181480, true }, - { 181495, true }, - { 181509, true }, - { 181518, true }, - { 181527, true }, - { 181543, true }, - { 181565, true }, - { 181582, true }, - { 181596, true }, - { 181606, true }, - { 181620, true }, - { 181638, true }, - { 181655, true }, - { 181674, true }, - { 181691, true }, - { 181709, true }, - { 181727, true }, - { 181740, true }, - { 181748, true }, - { 181760, true }, - { 181771, true }, - { 181787, true }, - { 181797, true }, - { 181810, true }, - { 181823, true }, + { 180881, true }, + { 180902, true }, + { 180923, true }, + { 180937, true }, + { 180959, true }, + { 180975, true }, + { 181000, true }, + { 181012, true }, + { 181023, true }, + { 181040, true }, + { 181064, true }, + { 181073, true }, + { 181087, true }, + { 181100, true }, + { 181113, true }, + { 181125, true }, + { 181138, true }, + { 181156, true }, + { 181173, true }, + { 181198, true }, + { 181211, true }, + { 181226, true }, + { 181240, true }, + { 181254, true }, + { 181271, true }, + { 181291, true }, + { 181307, true }, + { 181325, true }, + { 181336, true }, + { 181351, true }, + { 181364, true }, + { 181379, true }, + { 181387, true }, + { 181399, true }, + { 181414, true }, + { 181428, true }, + { 181437, true }, + { 181446, true }, + { 181462, true }, + { 181484, true }, + { 181501, true }, + { 181515, true }, + { 181525, true }, + { 181539, true }, + { 181557, true }, + { 181574, true }, + { 181593, true }, + { 181610, true }, + { 181628, true }, + { 181646, true }, + { 181659, true }, + { 181667, true }, + { 181679, true }, + { 181690, true }, + { 181706, true }, + { 181716, true }, + { 181729, true }, + { 181742, true }, + { 181756, true }, + { 181772, true }, + { 181785, true }, + { 181799, true }, + { 181816, true }, + { 181827, true }, { 181837, true }, - { 181853, true }, - { 181866, true }, - { 181880, true }, - { 181897, true }, - { 181908, true }, - { 181918, true }, - { 181938, true }, + { 181857, true }, + { 181869, true }, + { 181883, true }, + { 181898, true }, + { 181910, true }, + { 181919, true }, + { 181927, true }, + { 181939, true }, { 181950, true }, { 181964, true }, - { 181979, true }, - { 181991, true }, - { 182000, true }, - { 182008, true }, - { 182020, true }, - { 182031, true }, - { 182045, true }, - { 182066, true }, - { 182085, true }, + { 181985, true }, + { 182004, true }, + { 182022, true }, + { 182040, true }, + { 182060, true }, + { 182069, true }, + { 182081, true }, { 182103, true }, { 182121, true }, - { 182141, true }, - { 182150, true }, - { 182162, true }, - { 182184, true }, + { 182134, true }, + { 182148, true }, + { 182167, true }, + { 182179, true }, + { 182191, true }, { 182202, true }, - { 182215, true }, - { 182229, true }, - { 182248, true }, - { 182261, true }, - { 182273, true }, - { 182285, true }, - { 182296, true }, - { 182310, false }, - { 182325, true }, - { 182345, true }, - { 182358, true }, - { 182375, true }, - { 182386, true }, - { 182397, true }, - { 182411, true }, - { 182432, true }, - { 182448, true }, - { 182459, true }, - { 182478, true }, + { 182216, false }, + { 182231, true }, + { 182251, true }, + { 182264, true }, + { 182281, true }, + { 182292, true }, + { 182303, true }, + { 182317, true }, + { 182338, true }, + { 182354, true }, + { 182365, true }, + { 182384, true }, + { 182400, true }, + { 182418, true }, + { 182434, true }, + { 182457, true }, + { 182473, true }, + { 182485, true }, { 182494, true }, - { 182512, true }, - { 182528, true }, - { 182551, true }, - { 182567, true }, - { 182579, true }, - { 182588, true }, + { 182507, true }, + { 182525, true }, + { 182540, true }, + { 182555, true }, + { 182571, true }, + { 182586, true }, { 182601, true }, - { 182619, true }, - { 182634, true }, - { 182649, true }, - { 182665, true }, - { 182680, true }, - { 182695, true }, - { 182710, true }, - { 182726, true }, - { 182741, true }, - { 182756, true }, - { 182773, true }, + { 182616, true }, + { 182632, true }, + { 182647, true }, + { 182662, true }, + { 182679, true }, + { 182689, true }, + { 182702, true }, + { 182715, true }, + { 182725, true }, + { 182746, true }, + { 182758, false }, + { 182769, true }, { 182783, true }, - { 182796, true }, - { 182809, true }, - { 182819, true }, - { 182840, true }, - { 182852, false }, - { 182863, true }, - { 182877, true }, - { 182889, true }, - { 182898, true }, - { 182913, false }, - { 182932, true }, - { 182949, true }, - { 182962, true }, - { 182977, true }, - { 182993, true }, - { 183007, true }, - { 183017, false }, - { 183030, false }, - { 183040, true }, - { 183053, true }, - { 183063, true }, - { 183075, true }, - { 183085, false }, - { 183094, false }, - { 183102, true }, - { 183110, false }, - { 183130, true }, - { 183143, true }, - { 183161, true }, - { 183173, false }, - { 183185, true }, - { 183202, true }, - { 183216, true }, - { 183233, true }, - { 183249, true }, - { 183268, true }, - { 183284, true }, - { 183301, true }, - { 183321, true }, - { 183335, true }, - { 183349, true }, - { 183363, true }, - { 183377, true }, - { 183398, true }, - { 183412, true }, - { 183428, true }, - { 183441, true }, - { 183470, true }, - { 183484, true }, - { 183503, false }, - { 183525, true }, - { 183540, true }, - { 183557, true }, - { 183565, true }, + { 182795, true }, + { 182804, true }, + { 182819, false }, + { 182838, true }, + { 182855, true }, + { 182868, true }, + { 182883, true }, + { 182899, true }, + { 182913, true }, + { 182923, false }, + { 182936, false }, + { 182946, true }, + { 182959, true }, + { 182969, true }, + { 182981, true }, + { 182991, false }, + { 183000, false }, + { 183008, true }, + { 183016, false }, + { 183036, true }, + { 183049, true }, + { 183067, true }, + { 183079, false }, + { 183091, true }, + { 183108, true }, + { 183122, true }, + { 183139, true }, + { 183155, true }, + { 183174, true }, + { 183190, true }, + { 183207, true }, + { 183227, true }, + { 183241, true }, + { 183255, true }, + { 183269, true }, + { 183283, true }, + { 183304, true }, + { 183318, true }, + { 183334, true }, + { 183347, true }, + { 183376, true }, + { 183391, true }, + { 183405, true }, + { 183424, false }, + { 183446, true }, + { 183461, true }, + { 183478, true }, + { 183486, true }, + { 183498, true }, + { 183511, true }, + { 183524, true }, + { 183537, false }, + { 183548, true }, + { 183559, true }, { 183577, true }, - { 183590, true }, - { 183603, true }, - { 183616, false }, - { 183627, true }, - { 183638, true }, - { 183656, true }, - { 183675, true }, - { 183691, true }, - { 183707, true }, - { 183716, false }, - { 183730, true }, - { 183748, true }, - { 183766, true }, - { 183783, true }, - { 183794, false }, - { 183810, false }, - { 183834, true }, - { 183848, true }, - { 183875, true }, - { 183890, true }, - { 183909, true }, - { 183919, true }, - { 183964, true }, - { 184009, true }, - { 184023, true }, - { 184031, true }, - { 184040, true }, - { 184048, true }, - { 184060, true }, - { 184072, true }, - { 184086, true }, - { 184111, true }, - { 184128, true }, - { 184145, true }, - { 184160, true }, - { 184172, true }, - { 184184, true }, - { 184197, true }, - { 184205, true }, - { 184223, true }, - { 184232, false }, - { 184240, true }, - { 184252, true }, - { 184273, true }, + { 183596, true }, + { 183612, true }, + { 183628, true }, + { 183637, false }, + { 183651, true }, + { 183669, true }, + { 183687, true }, + { 183704, true }, + { 183715, false }, + { 183731, false }, + { 183755, true }, + { 183769, true }, + { 183796, true }, + { 183811, true }, + { 183830, true }, + { 183840, true }, + { 183885, true }, + { 183930, true }, + { 183944, true }, + { 183952, true }, + { 183961, true }, + { 183969, true }, + { 183981, true }, + { 183993, true }, + { 184007, true }, + { 184032, true }, + { 184049, true }, + { 184066, true }, + { 184081, true }, + { 184093, true }, + { 184105, true }, + { 184118, true }, + { 184126, true }, + { 184144, true }, + { 184153, false }, + { 184161, true }, + { 184173, true }, + { 184194, true }, + { 184207, true }, + { 184220, true }, + { 184232, true }, + { 184244, true }, + { 184257, false }, + { 184270, true }, { 184286, true }, - { 184299, true }, - { 184311, true }, - { 184323, true }, - { 184336, false }, - { 184349, true }, - { 184365, true }, + { 184300, true }, + { 184318, true }, + { 184339, true }, + { 184360, true }, { 184379, true }, - { 184397, true }, - { 184418, true }, - { 184439, true }, - { 184458, true }, - { 184483, true }, - { 184492, true }, - { 184504, true }, - { 184517, true }, - { 184530, true }, - { 184542, true }, - { 184554, true }, - { 184573, true }, - { 184585, true }, - { 184602, true }, - { 184614, false }, - { 184623, true }, - { 184632, true }, - { 184647, true }, - { 184669, true }, + { 184404, true }, + { 184413, true }, + { 184425, true }, + { 184438, true }, + { 184451, true }, + { 184463, true }, + { 184475, true }, + { 184494, true }, + { 184506, true }, + { 184523, true }, + { 184535, false }, + { 184544, true }, + { 184553, true }, + { 184568, true }, + { 184590, true }, + { 184609, true }, + { 184624, true }, + { 184639, true }, + { 184653, true }, + { 184666, true }, { 184688, true }, { 184703, true }, { 184718, true }, - { 184732, true }, - { 184745, true }, - { 184767, true }, - { 184782, true }, - { 184797, true }, - { 184812, true }, - { 184823, true }, - { 184832, true }, - { 184857, true }, - { 184869, true }, - { 184886, true }, + { 184733, true }, + { 184744, true }, + { 184753, true }, + { 184778, true }, + { 184790, true }, + { 184807, true }, + { 184819, true }, + { 184835, false }, + { 184851, true }, + { 184862, false }, + { 184877, true }, + { 184890, true }, { 184898, true }, - { 184914, false }, - { 184930, true }, - { 184941, false }, - { 184956, true }, - { 184969, false }, - { 184993, true }, - { 185001, true }, - { 185012, true }, - { 185023, true }, - { 185034, true }, - { 185045, true }, - { 185056, false }, - { 185069, true }, - { 185083, true }, - { 185095, true }, - { 185108, true }, - { 185120, true }, - { 185136, true }, - { 185151, true }, - { 185170, true }, + { 184909, true }, + { 184920, true }, + { 184931, true }, + { 184942, true }, + { 184953, false }, + { 184966, true }, + { 184980, true }, + { 184992, true }, + { 185005, true }, + { 185017, true }, + { 185033, true }, + { 185048, true }, + { 185067, true }, + { 185091, true }, + { 185105, true }, + { 185119, true }, + { 185139, true }, + { 185155, true }, + { 185174, true }, { 185194, true }, - { 185208, true }, - { 185222, true }, - { 185242, true }, - { 185258, true }, - { 185277, true }, - { 185297, true }, + { 185206, true }, + { 185229, true }, + { 185246, true }, + { 185276, true }, + { 185288, true }, + { 185299, true }, { 185309, true }, - { 185332, true }, - { 185349, true }, + { 185323, true }, + { 185336, true }, + { 185354, false }, + { 185364, true }, { 185379, true }, - { 185391, true }, - { 185402, true }, - { 185412, true }, - { 185426, true }, - { 185439, true }, - { 185457, false }, - { 185467, true }, - { 185482, true }, - { 185500, true }, - { 185509, true }, - { 185522, false }, - { 185539, true }, - { 185550, true }, + { 185397, true }, + { 185406, true }, + { 185419, false }, + { 185436, true }, + { 185447, true }, + { 185458, true }, + { 185468, true }, + { 185477, true }, + { 185491, true }, + { 185512, true }, + { 185523, true }, + { 185545, true }, { 185561, true }, - { 185571, true }, - { 185580, true }, - { 185594, true }, - { 185615, true }, - { 185626, true }, - { 185648, true }, - { 185664, true }, - { 185679, true }, - { 185699, true }, - { 185714, true }, - { 185731, true }, - { 185753, true }, - { 185763, true }, - { 185785, true }, - { 185804, true }, + { 185576, true }, + { 185596, true }, + { 185611, true }, + { 185628, true }, + { 185650, true }, + { 185660, true }, + { 185682, true }, + { 185701, true }, + { 185723, true }, + { 185740, true }, + { 185754, true }, + { 185767, true }, + { 185784, true }, + { 185809, true }, { 185826, true }, - { 185843, true }, - { 185857, true }, - { 185870, true }, - { 185887, true }, + { 185842, true }, + { 185852, true }, + { 185863, true }, + { 185872, false }, + { 185881, true }, + { 185888, true }, + { 185898, true }, { 185912, true }, - { 185929, true }, - { 185945, true }, - { 185955, true }, - { 185966, true }, - { 185975, false }, - { 185984, true }, - { 185991, true }, - { 186001, true }, - { 186015, true }, - { 186033, true }, - { 186053, true }, - { 186067, true }, - { 186076, true }, - { 186100, true }, - { 186121, true }, - { 186141, true }, - { 186159, true }, - { 186172, true }, - { 186193, true }, - { 186211, true }, - { 186223, true }, + { 185930, true }, + { 185950, true }, + { 185964, true }, + { 185973, true }, + { 185997, true }, + { 186018, true }, + { 186038, true }, + { 186056, true }, + { 186069, true }, + { 186090, true }, + { 186108, true }, + { 186120, true }, + { 186128, true }, + { 186150, true }, + { 186163, true }, + { 186188, true }, + { 186199, true }, + { 186220, true }, { 186231, true }, - { 186253, true }, - { 186266, true }, - { 186291, true }, - { 186302, true }, - { 186323, true }, - { 186334, true }, - { 186355, true }, - { 186370, true }, - { 186382, true }, - { 186399, true }, - { 186425, true }, - { 186442, true }, - { 186471, false }, - { 186489, true }, - { 186505, true }, - { 186521, true }, - { 186540, false }, - { 186559, true }, - { 186571, true }, - { 186591, true }, - { 186613, true }, - { 186626, true }, - { 186648, true }, - { 186661, true }, - { 186684, true }, - { 186699, true }, - { 186713, true }, - { 186736, true }, - { 186746, true }, + { 186252, true }, + { 186267, true }, + { 186279, true }, + { 186296, true }, + { 186322, true }, + { 186339, true }, + { 186368, false }, + { 186386, true }, + { 186402, true }, + { 186418, true }, + { 186437, false }, + { 186456, true }, + { 186468, true }, + { 186488, true }, + { 186510, true }, + { 186523, true }, + { 186545, true }, + { 186558, true }, + { 186581, true }, + { 186596, true }, + { 186610, true }, + { 186633, true }, + { 186643, true }, + { 186653, true }, + { 186672, true }, + { 186685, true }, + { 186707, true }, + { 186727, true }, + { 186737, true }, { 186756, true }, - { 186775, true }, - { 186788, true }, - { 186810, true }, - { 186830, true }, - { 186840, true }, - { 186859, true }, - { 186871, true }, - { 186884, true }, - { 186897, true }, - { 186918, true }, - { 186944, true }, - { 186965, true }, - { 186986, true }, - { 187007, true }, + { 186768, true }, + { 186781, true }, + { 186794, true }, + { 186815, true }, + { 186841, true }, + { 186862, true }, + { 186883, true }, + { 186904, true }, + { 186924, true }, + { 186936, true }, + { 186956, true }, + { 186970, true }, + { 186988, true }, + { 187006, true }, + { 187018, true }, { 187027, true }, - { 187039, true }, - { 187059, true }, - { 187073, true }, - { 187091, true }, - { 187109, true }, + { 187050, true }, + { 187066, true }, + { 187078, true }, + { 187096, true }, { 187121, true }, - { 187130, true }, - { 187153, true }, - { 187169, true }, - { 187181, true }, - { 187199, true }, - { 187224, true }, - { 187239, true }, - { 187260, true }, - { 187276, true }, - { 187293, true }, - { 187314, false }, - { 187331, false }, - { 187349, true }, - { 187359, true }, - { 187373, true }, - { 187387, true }, - { 187397, true }, - { 187409, true }, - { 187421, true }, - { 187431, true }, - { 187442, true }, - { 187453, true }, - { 187467, true }, - { 187479, true }, - { 187503, true }, + { 187136, true }, + { 187157, true }, + { 187173, true }, + { 187190, true }, + { 187211, false }, + { 187228, false }, + { 187246, true }, + { 187256, true }, + { 187270, true }, + { 187284, true }, + { 187294, true }, + { 187306, true }, + { 187318, true }, + { 187328, true }, + { 187339, true }, + { 187350, true }, + { 187364, true }, + { 187376, true }, + { 187400, true }, + { 187412, true }, + { 187441, true }, + { 187456, true }, + { 187470, true }, + { 187484, true }, + { 187500, true }, { 187515, true }, - { 187544, true }, - { 187559, true }, - { 187573, true }, - { 187587, true }, - { 187603, true }, - { 187618, true }, - { 187632, true }, - { 187644, true }, - { 187664, true }, - { 187677, true }, - { 187691, true }, + { 187529, true }, + { 187541, true }, + { 187561, true }, + { 187574, true }, + { 187588, true }, + { 187601, true }, + { 187613, true }, + { 187626, true }, + { 187638, true }, + { 187656, true }, + { 187668, true }, + { 187687, true }, { 187704, true }, - { 187716, true }, - { 187729, true }, - { 187741, true }, - { 187759, true }, - { 187771, true }, - { 187790, true }, - { 187807, true }, - { 187828, true }, - { 187852, true }, - { 187875, true }, - { 187887, true }, - { 187905, true }, - { 187923, true }, - { 187943, false }, + { 187725, true }, + { 187749, true }, + { 187772, true }, + { 187784, true }, + { 187802, true }, + { 187820, true }, + { 187836, true }, + { 187856, false }, + { 187874, true }, + { 187894, true }, + { 187909, true }, + { 187935, true }, { 187961, true }, - { 187981, true }, - { 187996, true }, - { 188022, true }, - { 188048, true }, - { 188061, true }, + { 187974, true }, + { 187987, true }, + { 188007, true }, + { 188015, true }, + { 188026, true }, + { 188036, true }, + { 188055, true }, { 188074, true }, - { 188094, true }, - { 188102, true }, - { 188113, true }, - { 188123, true }, - { 188142, true }, - { 188161, true }, - { 188175, true }, - { 188193, true }, - { 188208, true }, - { 188224, false }, - { 188243, true }, - { 188257, true }, - { 188266, true }, - { 188283, true }, - { 188299, true }, - { 188321, true }, - { 188338, true }, - { 188356, true }, - { 188375, true }, - { 188392, true }, - { 188405, true }, - { 188415, true }, - { 188430, true }, - { 188438, true }, - { 188456, true }, - { 188484, true }, - { 188499, true }, - { 188514, true }, - { 188532, true }, - { 188549, true }, - { 188563, true }, - { 188578, false }, - { 188591, false }, - { 188601, false }, - { 188614, false }, + { 188088, true }, + { 188106, true }, + { 188121, true }, + { 188137, false }, + { 188156, true }, + { 188170, true }, + { 188179, true }, + { 188196, true }, + { 188212, true }, + { 188234, true }, + { 188251, true }, + { 188269, true }, + { 188288, true }, + { 188305, true }, + { 188318, true }, + { 188328, true }, + { 188343, true }, + { 188351, true }, + { 188369, true }, + { 188397, true }, + { 188412, true }, + { 188427, true }, + { 188445, true }, + { 188462, true }, + { 188476, true }, + { 188491, false }, + { 188504, false }, + { 188514, false }, + { 188527, false }, + { 188542, true }, + { 188560, true }, + { 188577, true }, + { 188589, true }, + { 188601, true }, + { 188613, true }, { 188629, true }, - { 188647, true }, - { 188664, true }, - { 188676, true }, - { 188688, true }, - { 188700, true }, - { 188716, true }, - { 188728, true }, - { 188741, true }, - { 188753, true }, - { 188765, true }, - { 188781, true }, - { 188793, true }, - { 188806, true }, - { 188816, true }, - { 188826, true }, - { 188839, true }, - { 188854, true }, - { 188865, true }, - { 188877, true }, - { 188888, true }, - { 188906, true }, - { 188914, true }, - { 188922, true }, - { 188932, true }, - { 188944, true }, - { 188958, true }, + { 188641, true }, + { 188654, true }, + { 188666, true }, + { 188678, true }, + { 188694, true }, + { 188706, true }, + { 188719, true }, + { 188729, true }, + { 188739, true }, + { 188752, true }, + { 188767, true }, + { 188778, true }, + { 188790, true }, + { 188801, true }, + { 188819, true }, + { 188827, true }, + { 188835, true }, + { 188845, true }, + { 188857, true }, + { 188871, true }, + { 188885, true }, + { 188898, true }, + { 188915, true }, + { 188945, true }, { 188972, true }, - { 188985, true }, - { 189002, true }, - { 189032, true }, - { 189059, true }, - { 189074, true }, - { 189090, true }, - { 189105, true }, - { 189120, true }, - { 189135, true }, - { 189143, true }, - { 189158, true }, - { 189169, true }, - { 189182, true }, - { 189190, true }, - { 189200, true }, - { 189216, true }, - { 189233, true }, - { 189258, true }, + { 188987, true }, + { 189003, true }, + { 189018, true }, + { 189033, true }, + { 189048, true }, + { 189056, true }, + { 189071, true }, + { 189082, true }, + { 189095, true }, + { 189103, true }, + { 189113, true }, + { 189129, true }, + { 189146, true }, + { 189171, true }, + { 189188, true }, + { 189209, true }, + { 189222, true }, + { 189234, true }, + { 189242, true }, + { 189259, true }, { 189275, true }, - { 189296, true }, - { 189309, true }, - { 189321, true }, - { 189329, true }, - { 189346, true }, - { 189362, true }, - { 189369, true }, - { 189377, true }, - { 189389, false }, - { 189413, true }, - { 189445, true }, - { 189472, true }, - { 189492, true }, - { 189516, true }, - { 189533, false }, - { 189546, true }, - { 189561, true }, - { 189572, true }, - { 189583, true }, - { 189593, true }, - { 189606, true }, - { 189614, true }, - { 189626, true }, - { 189638, false }, - { 189650, false }, - { 189658, false }, - { 189683, true }, - { 189702, true }, - { 189715, true }, + { 189282, true }, + { 189290, true }, + { 189302, false }, + { 189326, true }, + { 189358, true }, + { 189385, true }, + { 189405, true }, + { 189429, true }, + { 189446, false }, + { 189459, true }, + { 189474, true }, + { 189485, true }, + { 189496, true }, + { 189506, true }, + { 189519, true }, + { 189527, true }, + { 189539, true }, + { 189551, false }, + { 189563, false }, + { 189571, false }, + { 189596, true }, + { 189615, true }, + { 189628, true }, + { 189643, true }, + { 189657, true }, + { 189670, true }, + { 189682, true }, + { 189699, true }, + { 189713, true }, { 189730, true }, - { 189744, true }, - { 189757, true }, - { 189769, true }, + { 189742, true }, + { 189756, true }, + { 189771, true }, { 189786, true }, - { 189800, true }, - { 189817, true }, - { 189829, true }, - { 189843, true }, - { 189858, true }, - { 189873, true }, - { 189884, true }, - { 189891, true }, - { 189911, true }, - { 189925, true }, - { 189933, true }, - { 189941, false }, - { 189956, true }, - { 189968, true }, - { 189982, false }, - { 189993, true }, - { 190004, true }, - { 190017, true }, - { 190027, true }, - { 190037, true }, - { 190044, true }, - { 190057, true }, - { 190065, true }, - { 190082, true }, - { 190090, true }, - { 190099, true }, - { 190115, true }, - { 190134, true }, - { 190145, true }, - { 190157, true }, - { 190167, true }, - { 190184, false }, - { 190195, true }, - { 190203, true }, + { 189797, true }, + { 189804, true }, + { 189824, true }, + { 189838, true }, + { 189846, true }, + { 189854, false }, + { 189869, true }, + { 189881, true }, + { 189895, false }, + { 189906, true }, + { 189917, true }, + { 189930, true }, + { 189940, true }, + { 189950, true }, + { 189957, true }, + { 189970, true }, + { 189978, true }, + { 189995, true }, + { 190003, true }, + { 190012, true }, + { 190028, true }, + { 190047, true }, + { 190058, true }, + { 190070, true }, + { 190080, true }, + { 190097, false }, + { 190108, true }, + { 190116, true }, + { 190126, true }, + { 190135, true }, + { 190151, true }, + { 190172, true }, + { 190197, false }, { 190213, true }, - { 190222, true }, - { 190238, true }, - { 190259, true }, - { 190284, false }, - { 190300, true }, - { 190312, true }, - { 190324, true }, - { 190337, true }, - { 190345, true }, - { 190353, false }, - { 190373, false }, - { 190392, false }, - { 190411, false }, - { 190431, true }, - { 190451, false }, - { 190471, false }, - { 190490, false }, - { 190509, true }, - { 190528, true }, - { 190539, true }, - { 190549, true }, - { 190561, true }, - { 190570, true }, - { 190583, true }, + { 190225, true }, + { 190237, true }, + { 190250, true }, + { 190258, true }, + { 190266, false }, + { 190286, false }, + { 190305, false }, + { 190324, false }, + { 190344, true }, + { 190364, false }, + { 190384, false }, + { 190403, false }, + { 190422, true }, + { 190441, true }, + { 190452, true }, + { 190462, true }, + { 190474, true }, + { 190483, true }, + { 190496, true }, + { 190511, true }, + { 190521, true }, + { 190534, false }, + { 190545, true }, + { 190556, true }, + { 190565, true }, + { 190577, true }, + { 190585, true }, { 190598, true }, - { 190608, true }, - { 190621, false }, - { 190632, true }, - { 190643, true }, - { 190652, true }, - { 190664, true }, - { 190672, true }, - { 190685, true }, + { 190606, true }, + { 190616, true }, + { 190625, true }, + { 190640, true }, + { 190663, true }, + { 190682, false }, { 190693, true }, - { 190703, true }, - { 190712, true }, - { 190727, true }, - { 190750, true }, - { 190769, false }, - { 190780, true }, - { 190802, true }, - { 190816, true }, - { 190825, true }, - { 190834, true }, - { 190842, true }, - { 190854, true }, - { 190871, true }, - { 190880, true }, - { 190887, true }, - { 190895, true }, - { 190906, true }, - { 190920, true }, - { 190932, true }, - { 190944, true }, - { 190953, true }, - { 190962, true }, - { 190974, false }, - { 190985, true }, - { 190998, true }, - { 191024, true }, - { 191047, false }, - { 191067, true }, - { 191084, true }, - { 191099, true }, - { 191113, true }, - { 191132, true }, - { 191147, true }, - { 191163, true }, - { 191176, true }, + { 190715, true }, + { 190729, true }, + { 190738, true }, + { 190747, true }, + { 190755, true }, + { 190767, true }, + { 190784, true }, + { 190793, true }, + { 190800, true }, + { 190808, true }, + { 190819, true }, + { 190833, true }, + { 190845, true }, + { 190857, true }, + { 190866, true }, + { 190875, true }, + { 190887, false }, + { 190898, true }, + { 190911, true }, + { 190937, true }, + { 190960, false }, + { 190980, true }, + { 190997, true }, + { 191012, true }, + { 191026, true }, + { 191045, true }, + { 191060, true }, + { 191076, true }, + { 191089, true }, + { 191100, true }, + { 191115, true }, + { 191135, true }, + { 191155, true }, + { 191170, true }, { 191187, true }, - { 191202, true }, - { 191222, true }, - { 191242, true }, - { 191257, true }, - { 191274, true }, - { 191283, true }, - { 191303, true }, - { 191321, true }, - { 191336, true }, - { 191357, true }, - { 191377, true }, - { 191392, true }, - { 191407, true }, + { 191196, true }, + { 191216, true }, + { 191234, true }, + { 191249, true }, + { 191270, true }, + { 191290, true }, + { 191305, true }, + { 191320, true }, + { 191335, true }, + { 191350, true }, + { 191364, true }, + { 191378, true }, + { 191387, true }, + { 191398, true }, + { 191413, true }, { 191422, true }, - { 191437, true }, + { 191440, true }, { 191451, true }, - { 191465, true }, - { 191474, true }, - { 191485, true }, + { 191461, true }, + { 191470, true }, + { 191481, true }, + { 191491, true }, { 191500, true }, - { 191509, true }, - { 191527, true }, - { 191538, true }, - { 191548, true }, - { 191557, true }, - { 191568, true }, - { 191578, true }, + { 191510, true }, + { 191523, true }, + { 191534, true }, + { 191544, true }, + { 191553, true }, + { 191569, true }, + { 191576, true }, { 191587, true }, - { 191597, true }, - { 191610, true }, - { 191621, true }, - { 191631, true }, - { 191640, true }, - { 191656, true }, - { 191663, true }, - { 191674, true }, - { 191685, true }, - { 191696, true }, - { 191710, true }, - { 191721, true }, - { 191729, true }, - { 191747, true }, - { 191759, true }, - { 191767, true }, - { 191787, false }, - { 191803, true }, - { 191822, true }, - { 191845, true }, - { 191864, true }, - { 191881, true }, - { 191892, true }, - { 191914, true }, - { 191937, true }, - { 191950, true }, + { 191598, true }, + { 191609, true }, + { 191623, true }, + { 191634, true }, + { 191642, true }, + { 191660, true }, + { 191672, true }, + { 191680, true }, + { 191700, false }, + { 191716, true }, + { 191735, true }, + { 191758, true }, + { 191777, true }, + { 191794, true }, + { 191805, true }, + { 191827, true }, + { 191850, true }, + { 191863, true }, + { 191872, true }, + { 191895, true }, + { 191929, true }, + { 191945, true }, { 191959, true }, - { 191982, true }, - { 192016, true }, - { 192032, true }, - { 192046, true }, - { 192062, true }, - { 192084, true }, - { 192097, true }, - { 192124, true }, - { 192138, true }, - { 192148, true }, - { 192166, true }, - { 192176, true }, - { 192195, true }, - { 192209, true }, - { 192223, true }, - { 192239, true }, + { 191975, true }, + { 191997, true }, + { 192010, true }, + { 192037, true }, + { 192051, true }, + { 192061, true }, + { 192079, true }, + { 192089, true }, + { 192108, true }, + { 192122, true }, + { 192136, true }, + { 192152, true }, + { 192163, true }, + { 192178, true }, + { 192189, true }, + { 192212, true }, + { 192227, true }, { 192250, true }, - { 192265, true }, - { 192276, true }, - { 192299, true }, - { 192314, true }, - { 192337, true }, - { 192346, true }, - { 192359, true }, - { 192377, true }, - { 192394, true }, - { 192404, true }, - { 192429, true }, - { 192447, true }, - { 192462, true }, + { 192259, true }, + { 192272, true }, + { 192290, true }, + { 192307, true }, + { 192317, true }, + { 192342, true }, + { 192360, true }, + { 192375, true }, + { 192385, true }, + { 192397, true }, + { 192410, false }, + { 192422, true }, + { 192439, true }, + { 192449, true }, { 192472, true }, - { 192484, true }, - { 192497, false }, - { 192509, true }, - { 192526, true }, - { 192536, true }, - { 192559, true }, - { 192580, true }, - { 192602, true }, - { 192620, true }, - { 192631, true }, - { 192645, true }, - { 192658, true }, + { 192493, true }, + { 192515, true }, + { 192533, true }, + { 192544, true }, + { 192558, true }, + { 192571, true }, + { 192588, true }, + { 192596, true }, + { 192604, true }, + { 192615, true }, + { 192627, true }, + { 192641, true }, + { 192654, true }, + { 192665, true }, { 192675, true }, - { 192683, true }, - { 192691, true }, - { 192702, true }, + { 192689, true }, + { 192704, true }, { 192714, true }, - { 192728, true }, - { 192741, true }, - { 192752, true }, - { 192762, true }, - { 192776, true }, - { 192791, true }, - { 192801, true }, - { 192812, true }, - { 192825, true }, - { 192834, true }, - { 192843, true }, - { 192856, true }, - { 192872, false }, - { 192885, false }, - { 192898, false }, - { 192910, true }, - { 192924, true }, - { 192941, true }, - { 192952, true }, - { 192967, true }, - { 192977, true }, - { 192989, true }, - { 193007, true }, + { 192725, true }, + { 192738, true }, + { 192747, true }, + { 192756, true }, + { 192769, true }, + { 192785, false }, + { 192798, false }, + { 192811, false }, + { 192823, true }, + { 192837, true }, + { 192854, true }, + { 192865, true }, + { 192880, true }, + { 192890, true }, + { 192902, true }, + { 192920, true }, + { 192934, true }, + { 192947, true }, + { 192965, true }, + { 192974, true }, + { 192985, true }, + { 192996, true }, + { 193008, true }, { 193021, true }, - { 193034, true }, - { 193052, true }, - { 193061, true }, - { 193072, true }, - { 193083, true }, - { 193095, true }, - { 193108, true }, - { 193120, true }, - { 193129, true }, - { 193140, true }, - { 193157, true }, - { 193173, true }, - { 193185, true }, - { 193197, true }, - { 193209, true }, - { 193226, true }, - { 193238, true }, - { 193248, true }, - { 193261, true }, - { 193269, true }, - { 193286, true }, - { 193300, true }, - { 193315, true }, - { 193327, true }, - { 193334, true }, - { 193350, true }, - { 193366, true }, - { 193374, true }, - { 193383, true }, - { 193390, true }, + { 193033, true }, + { 193042, true }, + { 193053, true }, + { 193070, true }, + { 193086, true }, + { 193098, true }, + { 193110, true }, + { 193122, true }, + { 193139, true }, + { 193151, true }, + { 193161, true }, + { 193174, true }, + { 193182, true }, + { 193199, true }, + { 193213, true }, + { 193228, true }, + { 193240, true }, + { 193247, true }, + { 193263, true }, + { 193279, true }, + { 193287, true }, + { 193296, true }, + { 193303, true }, + { 193320, true }, + { 193333, true }, + { 193348, true }, + { 193358, true }, + { 193377, true }, + { 193388, true }, { 193407, true }, - { 193420, true }, - { 193435, true }, - { 193445, true }, - { 193464, true }, - { 193475, true }, - { 193494, true }, - { 193517, true }, - { 193529, false }, - { 193543, true }, - { 193559, true }, - { 193577, true }, - { 193589, true }, - { 193606, true }, - { 193617, true }, - { 193633, false }, - { 193652, true }, - { 193665, true }, - { 193680, true }, - { 193699, true }, - { 193710, true }, - { 193726, true }, - { 193747, true }, - { 193763, true }, - { 193775, true }, - { 193789, true }, + { 193430, true }, + { 193442, false }, + { 193456, true }, + { 193472, true }, + { 193490, true }, + { 193502, true }, + { 193519, true }, + { 193530, true }, + { 193546, false }, + { 193565, true }, + { 193578, true }, + { 193593, true }, + { 193612, true }, + { 193623, true }, + { 193639, true }, + { 193660, true }, + { 193676, true }, + { 193688, true }, + { 193702, true }, + { 193716, true }, + { 193737, true }, + { 193750, true }, + { 193760, true }, + { 193781, true }, { 193803, true }, - { 193824, true }, - { 193837, true }, - { 193847, true }, - { 193868, true }, - { 193890, true }, - { 193901, true }, - { 193918, true }, - { 193933, true }, - { 193953, true }, - { 193984, true }, - { 193999, true }, - { 194018, false }, - { 194035, true }, - { 194050, true }, - { 194066, true }, - { 194078, true }, - { 194101, true }, - { 194116, true }, - { 194127, true }, - { 194135, true }, - { 194158, true }, - { 194170, true }, - { 194183, true }, - { 194191, true }, - { 194217, true }, - { 194235, true }, - { 194248, true }, - { 194265, true }, - { 194291, true }, - { 194303, true }, - { 194330, true }, - { 194361, true }, - { 194372, true }, + { 193814, true }, + { 193831, true }, + { 193846, true }, + { 193866, true }, + { 193897, true }, + { 193912, true }, + { 193931, false }, + { 193948, true }, + { 193963, true }, + { 193979, true }, + { 193991, true }, + { 194014, true }, + { 194029, true }, + { 194040, true }, + { 194048, true }, + { 194071, true }, + { 194083, true }, + { 194096, true }, + { 194104, true }, + { 194130, true }, + { 194148, true }, + { 194161, true }, + { 194178, true }, + { 194204, true }, + { 194216, true }, + { 194243, true }, + { 194274, true }, + { 194285, true }, + { 194295, true }, + { 194310, true }, + { 194321, true }, + { 194332, true }, + { 194348, true }, + { 194360, true }, + { 194369, true }, { 194382, true }, - { 194397, true }, - { 194408, true }, - { 194419, true }, - { 194435, true }, - { 194447, true }, - { 194456, true }, - { 194469, true }, - { 194497, true }, - { 194511, true }, - { 194533, true }, - { 194550, true }, - { 194560, true }, - { 194572, true }, - { 194588, true }, - { 194602, true }, - { 194613, true }, + { 194410, true }, + { 194431, true }, + { 194445, true }, + { 194467, true }, + { 194484, true }, + { 194494, true }, + { 194506, true }, + { 194522, true }, + { 194536, true }, + { 194547, true }, + { 194561, true }, + { 194579, true }, + { 194596, true }, + { 194616, true }, { 194627, true }, + { 194638, false }, { 194645, true }, - { 194662, true }, + { 194655, true }, { 194682, true }, - { 194693, true }, - { 194704, false }, - { 194711, true }, - { 194721, true }, - { 194748, true }, - { 194768, true }, - { 194786, true }, - { 194801, false }, - { 194812, true }, - { 194828, true }, - { 194845, true }, - { 194862, true }, - { 194884, true }, - { 194898, true }, - { 194914, false }, - { 194931, true }, - { 194947, true }, - { 194957, true }, - { 194975, true }, - { 194989, true }, - { 195010, true }, - { 195028, true }, - { 195045, true }, - { 195052, true }, - { 195070, true }, - { 195088, true }, - { 195106, true }, - { 195120, true }, - { 195130, true }, - { 195141, true }, - { 195163, true }, - { 195179, true }, - { 195201, true }, - { 195218, true }, - { 195238, true }, - { 195249, true }, - { 195268, true }, + { 194702, true }, + { 194720, true }, + { 194735, false }, + { 194746, true }, + { 194762, true }, + { 194779, true }, + { 194796, true }, + { 194818, true }, + { 194832, true }, + { 194848, false }, + { 194865, true }, + { 194881, true }, + { 194891, true }, + { 194909, true }, + { 194923, true }, + { 194944, true }, + { 194962, true }, + { 194979, true }, + { 194986, true }, + { 195004, true }, + { 195022, true }, + { 195040, true }, + { 195054, true }, + { 195064, true }, + { 195075, true }, + { 195097, true }, + { 195113, true }, + { 195135, true }, + { 195152, true }, + { 195172, true }, + { 195183, true }, + { 195202, true }, + { 195216, true }, + { 195228, true }, + { 195245, true }, + { 195266, true }, { 195282, true }, { 195294, true }, - { 195311, true }, - { 195332, true }, - { 195348, true }, - { 195360, true }, + { 195317, true }, + { 195335, true }, + { 195346, true }, + { 195356, true }, + { 195372, true }, { 195383, true }, - { 195401, true }, - { 195412, true }, - { 195422, true }, - { 195438, true }, - { 195449, true }, - { 195461, false }, - { 195481, true }, - { 195500, true }, - { 195513, true }, - { 195534, true }, - { 195544, true }, + { 195395, false }, + { 195415, true }, + { 195434, true }, + { 195447, true }, + { 195468, true }, + { 195478, true }, + { 195492, true }, + { 195509, true }, + { 195529, true }, + { 195543, true }, { 195558, true }, - { 195575, true }, - { 195595, true }, - { 195609, true }, - { 195624, true }, - { 195638, true }, - { 195652, true }, - { 195670, true }, - { 195684, true }, - { 195699, true }, - { 195720, true }, - { 195731, true }, - { 195745, true }, - { 195761, true }, - { 195774, false }, - { 195788, true }, - { 195804, true }, - { 195821, true }, - { 195837, true }, - { 195860, true }, - { 195869, false }, - { 195877, true }, - { 195887, false }, - { 195909, true }, - { 195923, true }, - { 195936, true }, - { 195951, true }, - { 195965, true }, - { 195980, true }, - { 195994, true }, - { 196008, true }, - { 196021, true }, - { 196035, true }, - { 196048, true }, + { 195572, true }, + { 195586, true }, + { 195604, true }, + { 195618, true }, + { 195633, true }, + { 195654, true }, + { 195665, true }, + { 195679, true }, + { 195695, true }, + { 195708, false }, + { 195722, true }, + { 195738, true }, + { 195755, true }, + { 195771, true }, + { 195794, true }, + { 195803, false }, + { 195811, true }, + { 195821, false }, + { 195843, true }, + { 195857, true }, + { 195870, true }, + { 195885, true }, + { 195899, true }, + { 195914, true }, + { 195928, true }, + { 195942, true }, + { 195955, true }, + { 195969, true }, + { 195982, true }, + { 196010, true }, + { 196022, true }, + { 196037, true }, + { 196062, true }, { 196076, true }, - { 196088, true }, - { 196103, true }, - { 196128, true }, - { 196142, true }, - { 196163, true }, - { 196174, true }, - { 196184, true }, - { 196192, true }, - { 196210, true }, - { 196222, true }, - { 196239, true }, - { 196249, true }, + { 196097, true }, + { 196108, true }, + { 196118, true }, + { 196126, true }, + { 196144, true }, + { 196156, true }, + { 196173, true }, + { 196183, true }, + { 196201, true }, + { 196226, true }, + { 196246, true }, { 196267, true }, - { 196292, true }, - { 196312, true }, - { 196333, true }, - { 196353, true }, - { 196363, true }, - { 196376, false }, - { 196401, true }, - { 196422, true }, - { 196448, true }, - { 196468, true }, + { 196287, true }, + { 196297, true }, + { 196310, false }, + { 196335, true }, + { 196356, true }, + { 196382, true }, + { 196402, true }, + { 196416, true }, + { 196433, true }, + { 196446, true }, + { 196457, true }, + { 196465, true }, + { 196474, true }, { 196482, true }, - { 196499, true }, - { 196512, true }, + { 196496, true }, + { 196510, true }, { 196523, true }, - { 196531, true }, - { 196540, true }, - { 196548, true }, + { 196539, true }, + { 196552, true }, { 196562, true }, - { 196576, true }, - { 196589, true }, - { 196605, true }, + { 196573, true }, + { 196584, true }, + { 196602, true }, { 196618, true }, - { 196628, true }, - { 196639, true }, - { 196650, true }, - { 196668, true }, - { 196684, true }, - { 196694, false }, - { 196706, true }, - { 196718, true }, - { 196736, true }, - { 196757, true }, - { 196781, true }, - { 196793, true }, - { 196803, true }, - { 196819, true }, + { 196628, false }, + { 196640, true }, + { 196652, true }, + { 196670, true }, + { 196691, true }, + { 196715, true }, + { 196727, true }, + { 196737, true }, + { 196753, true }, + { 196777, true }, + { 196784, true }, + { 196800, true }, + { 196817, true }, + { 196831, true }, { 196843, true }, - { 196850, true }, - { 196866, true }, - { 196883, true }, - { 196897, true }, - { 196909, true }, - { 196921, true }, + { 196855, true }, + { 196868, true }, + { 196880, true }, + { 196890, true }, + { 196904, true }, + { 196913, true }, { 196934, true }, - { 196946, true }, - { 196956, true }, - { 196970, true }, + { 196947, true }, + { 196964, true }, { 196979, true }, - { 197000, true }, - { 197013, true }, + { 197004, true }, { 197030, true }, { 197045, true }, - { 197070, true }, - { 197096, true }, - { 197111, true }, + { 197055, true }, + { 197066, true }, + { 197075, true }, + { 197097, true }, + { 197106, true }, { 197121, true }, - { 197132, true }, - { 197141, true }, - { 197163, true }, + { 197131, true }, + { 197147, true }, + { 197160, true }, { 197172, true }, - { 197187, true }, - { 197197, true }, - { 197213, true }, - { 197226, true }, - { 197238, true }, - { 197255, true }, - { 197276, true }, - { 197297, true }, - { 197314, true }, - { 197330, true }, - { 197349, true }, - { 197361, true }, - { 197375, true }, - { 197390, true }, - { 197406, true }, - { 197420, true }, - { 197432, true }, - { 197446, true }, - { 197458, true }, + { 197189, true }, + { 197210, true }, + { 197231, true }, + { 197248, true }, + { 197264, true }, + { 197283, true }, + { 197295, true }, + { 197309, true }, + { 197324, true }, + { 197340, true }, + { 197354, true }, + { 197366, true }, + { 197380, true }, + { 197392, true }, + { 197411, true }, + { 197427, true }, + { 197443, true }, + { 197459, true }, { 197477, true }, - { 197493, true }, - { 197509, true }, - { 197525, true }, - { 197543, true }, - { 197562, true }, - { 197572, true }, - { 197589, true }, - { 197606, true }, - { 197624, true }, - { 197642, true }, - { 197657, true }, - { 197673, true }, - { 197687, true }, - { 197705, true }, - { 197722, true }, - { 197735, true }, - { 197754, true }, - { 197774, true }, - { 197791, true }, - { 197807, true }, - { 197825, true }, - { 197838, false }, - { 197855, false }, - { 197876, true }, - { 197893, true }, - { 197903, true }, - { 197922, true }, - { 197936, true }, - { 197949, true }, - { 197957, true }, - { 197968, true }, - { 197983, true }, - { 197996, true }, - { 198007, true }, - { 198025, true }, - { 198037, true }, - { 198050, true }, - { 198074, true }, + { 197496, true }, + { 197506, true }, + { 197523, true }, + { 197540, true }, + { 197558, true }, + { 197576, true }, + { 197591, true }, + { 197607, true }, + { 197621, true }, + { 197639, true }, + { 197656, true }, + { 197669, true }, + { 197688, true }, + { 197708, true }, + { 197725, true }, + { 197741, true }, + { 197759, true }, + { 197772, false }, + { 197789, false }, + { 197810, true }, + { 197827, true }, + { 197837, true }, + { 197856, true }, + { 197870, true }, + { 197883, true }, + { 197891, true }, + { 197902, true }, + { 197917, true }, + { 197930, true }, + { 197941, true }, + { 197959, true }, + { 197971, true }, + { 197984, true }, + { 198008, true }, + { 198017, true }, + { 198032, true }, + { 198056, true }, { 198083, true }, - { 198098, true }, + { 198101, true }, + { 198113, true }, { 198122, true }, - { 198149, true }, - { 198167, true }, - { 198179, true }, + { 198132, true }, + { 198143, true }, + { 198152, true }, + { 198175, true }, { 198188, true }, - { 198198, true }, - { 198209, true }, - { 198218, true }, - { 198241, true }, - { 198254, true }, - { 198262, true }, + { 198196, true }, + { 198204, true }, + { 198212, true }, + { 198222, true }, + { 198229, true }, + { 198248, true }, + { 198255, true }, { 198270, true }, - { 198278, true }, - { 198288, true }, - { 198295, true }, - { 198314, true }, + { 198279, true }, + { 198291, false }, + { 198311, true }, { 198321, true }, - { 198336, true }, - { 198345, true }, - { 198357, false }, - { 198377, true }, - { 198387, true }, - { 198398, true }, - { 198415, true }, - { 198431, true }, - { 198450, true }, - { 198468, true }, - { 198485, true }, - { 198507, false }, - { 198520, true }, - { 198545, true }, - { 198564, true }, - { 198576, true }, - { 198587, true }, - { 198600, true }, - { 198619, true }, - { 198634, true }, - { 198649, true }, - { 198665, true }, - { 198688, true }, - { 198708, true }, - { 198721, true }, - { 198734, true }, + { 198332, true }, + { 198349, true }, + { 198365, true }, + { 198384, true }, + { 198402, true }, + { 198419, true }, + { 198441, false }, + { 198454, true }, + { 198479, true }, + { 198498, true }, + { 198510, true }, + { 198521, true }, + { 198534, true }, + { 198553, true }, + { 198568, true }, + { 198583, true }, + { 198599, true }, + { 198622, true }, + { 198642, true }, + { 198655, true }, + { 198668, true }, + { 198682, true }, + { 198696, true }, + { 198707, true }, + { 198718, true }, + { 198728, true }, { 198748, true }, - { 198762, true }, - { 198773, true }, - { 198784, true }, - { 198794, true }, + { 198767, true }, + { 198779, true }, + { 198796, true }, { 198814, true }, - { 198833, true }, - { 198845, true }, - { 198862, true }, - { 198880, true }, - { 198889, true }, - { 198901, true }, - { 198918, true }, - { 198933, true }, - { 198952, true }, - { 198963, true }, - { 198987, true }, - { 199009, true }, - { 199019, true }, - { 199031, true }, - { 199041, true }, - { 199058, true }, - { 199068, true }, - { 199082, true }, - { 199098, true }, - { 199129, true }, - { 199138, true }, - { 199152, true }, - { 199165, true }, - { 199182, true }, - { 199199, true }, - { 199211, true }, - { 199227, true }, - { 199244, true }, - { 199257, true }, - { 199270, true }, - { 199280, true }, - { 199294, true }, - { 199308, true }, - { 199317, true }, - { 199327, true }, - { 199342, true }, - { 199352, true }, - { 199366, true }, - { 199382, true }, - { 199399, true }, - { 199412, true }, - { 199426, true }, - { 199436, true }, - { 199454, true }, - { 199471, true }, - { 199487, true }, - { 199504, true }, - { 199526, true }, - { 199548, true }, - { 199559, true }, - { 199571, true }, - { 199589, true }, - { 199603, true }, - { 199616, true }, - { 199629, true }, - { 199648, true }, - { 199668, true }, - { 199680, true }, - { 199687, true }, - { 199699, true }, - { 199709, true }, - { 199721, true }, - { 199732, true }, - { 199747, true }, + { 198823, true }, + { 198835, true }, + { 198852, true }, + { 198867, true }, + { 198886, true }, + { 198897, true }, + { 198921, true }, + { 198943, true }, + { 198953, true }, + { 198965, true }, + { 198975, true }, + { 198992, true }, + { 199002, true }, + { 199016, true }, + { 199032, true }, + { 199063, true }, + { 199072, true }, + { 199086, true }, + { 199099, true }, + { 199116, true }, + { 199133, true }, + { 199145, true }, + { 199161, true }, + { 199178, true }, + { 199191, true }, + { 199204, true }, + { 199214, true }, + { 199228, true }, + { 199242, true }, + { 199251, true }, + { 199261, true }, + { 199276, true }, + { 199286, true }, + { 199300, true }, + { 199316, true }, + { 199333, true }, + { 199346, true }, + { 199360, true }, + { 199370, true }, + { 199388, true }, + { 199405, true }, + { 199421, true }, + { 199438, true }, + { 199460, true }, + { 199482, true }, + { 199493, true }, + { 199505, true }, + { 199523, true }, + { 199537, true }, + { 199550, true }, + { 199563, true }, + { 199582, true }, + { 199602, true }, + { 199614, true }, + { 199621, true }, + { 199633, true }, + { 199643, true }, + { 199655, true }, + { 199666, true }, + { 199681, true }, + { 199693, true }, + { 199705, true }, + { 199724, true }, + { 199750, true }, { 199759, true }, - { 199771, true }, - { 199790, true }, - { 199816, true }, - { 199825, true }, - { 199840, true }, + { 199774, true }, + { 199788, true }, + { 199804, true }, + { 199819, true }, + { 199841, true }, { 199854, true }, - { 199870, true }, - { 199885, true }, - { 199907, true }, - { 199920, true }, - { 199934, true }, - { 199959, true }, - { 199975, false }, - { 199993, true }, - { 200007, true }, - { 200017, true }, - { 200028, true }, - { 200043, true }, - { 200053, true }, - { 200066, true }, - { 200078, true }, - { 200096, true }, - { 200112, true }, - { 200127, true }, - { 200136, true }, - { 200151, false }, + { 199868, true }, + { 199893, true }, + { 199909, false }, + { 199927, true }, + { 199941, true }, + { 199951, true }, + { 199962, true }, + { 199977, true }, + { 199987, true }, + { 200000, true }, + { 200012, true }, + { 200030, true }, + { 200046, true }, + { 200061, true }, + { 200070, true }, + { 200085, false }, + { 200108, true }, + { 200124, true }, + { 200137, true }, + { 200148, true }, + { 200158, true }, { 200174, true }, - { 200190, true }, - { 200203, true }, - { 200214, true }, - { 200224, true }, - { 200240, true }, - { 200257, true }, - { 200277, true }, - { 200289, true }, - { 200320, true }, - { 200341, true }, - { 200366, true }, + { 200191, true }, + { 200211, true }, + { 200223, true }, + { 200254, true }, + { 200275, true }, + { 200300, true }, + { 200321, true }, + { 200332, true }, + { 200349, true }, + { 200360, true }, + { 200372, true }, { 200387, true }, - { 200398, true }, - { 200415, true }, - { 200426, true }, - { 200438, true }, - { 200453, true }, - { 200465, true }, - { 200478, true }, + { 200399, true }, + { 200412, true }, + { 200432, true }, + { 200440, true }, + { 200451, true }, + { 200460, true }, + { 200469, true }, + { 200476, true }, + { 200484, true }, { 200498, true }, - { 200506, true }, - { 200517, true }, - { 200526, true }, - { 200535, true }, - { 200542, true }, - { 200550, true }, - { 200564, true }, - { 200575, true }, - { 200587, false }, - { 200594, true }, - { 200606, true }, - { 200613, true }, + { 200509, true }, + { 200521, false }, + { 200528, true }, + { 200540, true }, + { 200547, true }, + { 200555, true }, + { 200568, false }, + { 200577, true }, + { 200586, true }, + { 200597, true }, + { 200604, true }, { 200621, true }, - { 200634, false }, - { 200643, true }, + { 200630, true }, + { 200638, true }, { 200652, true }, - { 200663, true }, - { 200670, true }, - { 200687, true }, - { 200696, true }, - { 200704, true }, - { 200718, true }, - { 200726, true }, - { 200745, false }, - { 200765, true }, - { 200775, true }, - { 200796, true }, - { 200805, true }, - { 200816, false }, - { 200828, true }, + { 200671, false }, + { 200691, true }, + { 200701, true }, + { 200722, true }, + { 200731, true }, + { 200742, false }, + { 200754, true }, + { 200768, true }, + { 200785, true }, + { 200802, true }, + { 200813, true }, { 200842, true }, - { 200859, true }, + { 200855, true }, { 200876, true }, - { 200887, true }, + { 200890, true }, + { 200902, true }, { 200916, true }, - { 200929, true }, - { 200950, true }, - { 200964, true }, - { 200976, true }, + { 200924, true }, + { 200941, true }, + { 200953, true }, + { 200968, true }, + { 200982, true }, { 200990, true }, { 200998, true }, - { 201015, true }, - { 201027, true }, - { 201042, true }, - { 201056, true }, - { 201064, true }, - { 201072, true }, - { 201084, true }, + { 201010, true }, + { 201018, true }, + { 201031, true }, + { 201043, true }, + { 201057, true }, + { 201074, true }, { 201092, true }, { 201105, true }, - { 201117, true }, - { 201131, true }, - { 201148, true }, - { 201166, true }, - { 201179, true }, - { 201189, true }, - { 201198, true }, - { 201208, true }, - { 201220, false }, - { 201232, true }, - { 201245, true }, - { 201258, true }, + { 201115, true }, + { 201124, true }, + { 201134, true }, + { 201146, false }, + { 201158, true }, + { 201171, true }, + { 201184, true }, + { 201193, true }, + { 201216, true }, + { 201230, true }, + { 201238, true }, + { 201251, true }, { 201267, true }, - { 201290, true }, - { 201304, true }, - { 201312, true }, - { 201325, true }, - { 201341, true }, - { 201358, true }, - { 201371, true }, + { 201284, true }, + { 201297, true }, + { 201309, true }, + { 201320, true }, + { 201339, true }, + { 201361, true }, { 201383, true }, - { 201394, true }, - { 201413, true }, - { 201435, true }, - { 201457, true }, + { 201403, true }, + { 201421, false }, + { 201437, true }, + { 201460, true }, + { 201469, true }, { 201477, true }, - { 201495, false }, + { 201492, true }, { 201511, true }, - { 201534, true }, - { 201543, true }, - { 201551, true }, - { 201566, true }, - { 201585, true }, - { 201601, true }, - { 201615, true }, - { 201631, true }, - { 201651, false }, - { 201676, true }, - { 201686, true }, + { 201527, true }, + { 201541, true }, + { 201557, true }, + { 201577, false }, + { 201602, true }, + { 201612, true }, + { 201630, true }, + { 201637, true }, + { 201649, true }, + { 201662, true }, + { 201672, true }, + { 201688, true }, + { 201696, true }, { 201704, true }, - { 201711, true }, - { 201723, true }, - { 201736, true }, - { 201746, true }, - { 201762, true }, - { 201770, true }, - { 201778, true }, + { 201712, true }, + { 201719, false }, + { 201742, true }, + { 201761, true }, { 201786, true }, - { 201793, false }, - { 201816, true }, - { 201835, true }, - { 201860, true }, - { 201877, true }, - { 201889, true }, - { 201901, true }, - { 201911, true }, - { 201922, true }, - { 201937, true }, - { 201946, true }, - { 201960, true }, - { 201969, true }, - { 201984, true }, - { 201995, true }, - { 202008, true }, - { 202030, true }, - { 202042, true }, - { 202052, true }, - { 202073, true }, - { 202090, true }, - { 202111, true }, - { 202125, true }, - { 202141, true }, + { 201803, true }, + { 201815, true }, + { 201827, true }, + { 201837, true }, + { 201848, true }, + { 201863, true }, + { 201872, true }, + { 201886, true }, + { 201895, true }, + { 201910, true }, + { 201921, true }, + { 201934, true }, + { 201956, true }, + { 201968, true }, + { 201978, true }, + { 201999, true }, + { 202016, true }, + { 202037, true }, + { 202051, true }, + { 202067, true }, + { 202080, true }, + { 202092, true }, + { 202107, true }, + { 202117, true }, + { 202130, true }, { 202154, true }, - { 202166, true }, - { 202181, true }, - { 202191, true }, - { 202204, true }, - { 202228, true }, + { 202173, true }, + { 202185, true }, + { 202203, true }, + { 202212, false }, + { 202229, true }, { 202247, true }, - { 202259, true }, - { 202277, true }, - { 202286, false }, - { 202303, true }, - { 202321, true }, - { 202335, true }, - { 202348, true }, - { 202361, false }, - { 202382, true }, - { 202392, true }, - { 202411, true }, - { 202424, true }, - { 202444, true }, - { 202469, true }, - { 202480, true }, - { 202492, true }, - { 202507, true }, - { 202520, true }, - { 202535, true }, - { 202550, true }, - { 202570, true }, - { 202583, true }, - { 202611, true }, - { 202628, false }, + { 202261, true }, + { 202274, true }, + { 202287, false }, + { 202308, true }, + { 202318, true }, + { 202337, true }, + { 202350, true }, + { 202370, true }, + { 202395, true }, + { 202406, true }, + { 202418, true }, + { 202433, true }, + { 202446, true }, + { 202461, true }, + { 202476, true }, + { 202496, true }, + { 202509, true }, + { 202537, true }, + { 202554, false }, + { 202563, true }, + { 202582, true }, + { 202599, false }, + { 202614, true }, + { 202624, true }, { 202637, true }, - { 202656, true }, - { 202673, false }, - { 202688, true }, - { 202698, true }, - { 202711, true }, - { 202727, true }, - { 202743, true }, - { 202761, true }, - { 202771, true }, - { 202784, true }, - { 202796, true }, - { 202809, true }, - { 202822, true }, - { 202831, true }, - { 202855, true }, - { 202879, true }, - { 202896, false }, - { 202909, true }, - { 202920, true }, + { 202653, true }, + { 202669, true }, + { 202687, true }, + { 202697, true }, + { 202710, true }, + { 202722, true }, + { 202735, true }, + { 202748, true }, + { 202757, true }, + { 202781, true }, + { 202805, true }, + { 202822, false }, + { 202835, true }, + { 202846, true }, + { 202862, true }, + { 202874, true }, + { 202890, true }, + { 202907, true }, + { 202924, false }, { 202936, true }, - { 202948, true }, - { 202964, true }, + { 202953, true }, + { 202972, false }, { 202981, true }, - { 202998, false }, - { 203010, true }, - { 203027, true }, - { 203046, false }, - { 203055, true }, - { 203077, true }, - { 203090, false }, - { 203105, true }, - { 203127, true }, - { 203142, true }, + { 203003, true }, + { 203016, false }, + { 203031, true }, + { 203053, true }, + { 203068, true }, + { 203080, true }, + { 203099, false }, + { 203122, true }, + { 203138, true }, { 203154, true }, - { 203173, false }, - { 203196, true }, - { 203212, true }, - { 203228, true }, - { 203246, true }, - { 203264, false }, - { 203284, true }, - { 203296, true }, - { 203309, true }, - { 203325, true }, - { 203336, true }, - { 203355, true }, - { 203366, true }, - { 203376, true }, - { 203393, true }, - { 203405, true }, - { 203417, true }, - { 203436, true }, - { 203448, true }, - { 203465, true }, - { 203486, true }, - { 203497, true }, - { 203516, true }, - { 203537, true }, - { 203547, true }, - { 203556, true }, - { 203569, true }, - { 203585, true }, - { 203609, false }, - { 203627, true }, - { 203645, false }, - { 203665, true }, - { 203681, true }, - { 203699, true }, - { 203711, true }, - { 203728, true }, - { 203751, true }, - { 203770, true }, - { 203790, true }, - { 203803, true }, - { 203815, true }, - { 203825, true }, - { 203833, true }, - { 203855, true }, - { 203875, true }, + { 203172, true }, + { 203190, false }, + { 203210, true }, + { 203222, true }, + { 203235, true }, + { 203251, true }, + { 203262, true }, + { 203281, true }, + { 203292, true }, + { 203302, true }, + { 203319, true }, + { 203331, true }, + { 203343, true }, + { 203362, true }, + { 203374, true }, + { 203391, true }, + { 203412, true }, + { 203423, true }, + { 203442, true }, + { 203463, true }, + { 203473, true }, + { 203482, true }, + { 203495, true }, + { 203503, true }, + { 203519, true }, + { 203543, false }, + { 203561, true }, + { 203579, false }, + { 203599, true }, + { 203615, true }, + { 203633, true }, + { 203645, true }, + { 203662, true }, + { 203685, true }, + { 203704, true }, + { 203724, true }, + { 203737, true }, + { 203749, true }, + { 203759, true }, + { 203767, true }, + { 203789, true }, + { 203809, true }, + { 203817, true }, + { 203831, true }, + { 203847, true }, + { 203857, true }, + { 203871, true }, { 203883, true }, - { 203897, true }, - { 203913, true }, - { 203923, true }, - { 203937, true }, + { 203892, true }, + { 203901, true }, + { 203918, true }, + { 203928, true }, { 203949, true }, - { 203958, true }, - { 203967, true }, - { 203984, true }, - { 203994, true }, - { 204015, true }, - { 204028, true }, - { 204045, true }, - { 204066, true }, - { 204084, true }, - { 204095, true }, - { 204113, true }, + { 203962, true }, + { 203979, true }, + { 204000, true }, + { 204018, true }, + { 204029, true }, + { 204047, true }, + { 204063, true }, + { 204076, true }, + { 204086, true }, + { 204103, true }, + { 204120, true }, { 204129, true }, - { 204142, true }, - { 204152, true }, + { 204143, true }, + { 204157, true }, { 204169, true }, - { 204186, true }, - { 204195, true }, - { 204209, true }, - { 204223, true }, - { 204235, true }, - { 204254, true }, - { 204264, true }, - { 204281, true }, - { 204303, true }, - { 204325, true }, - { 204339, true }, - { 204353, true }, - { 204371, true }, - { 204386, true }, - { 204400, true }, - { 204407, true }, - { 204416, true }, - { 204428, true }, - { 204434, true }, - { 204440, true }, + { 204188, true }, + { 204198, true }, + { 204215, true }, + { 204237, true }, + { 204259, true }, + { 204273, true }, + { 204287, true }, + { 204305, true }, + { 204320, true }, + { 204334, true }, + { 204341, true }, + { 204350, true }, + { 204362, true }, + { 204368, true }, + { 204374, true }, + { 204382, true }, + { 204394, true }, + { 204415, true }, + { 204427, true }, + { 204437, true }, { 204448, true }, { 204460, true }, - { 204481, true }, - { 204493, true }, - { 204503, true }, - { 204514, true }, + { 204478, true }, + { 204491, true }, + { 204510, true }, { 204526, true }, - { 204544, true }, - { 204557, true }, - { 204576, true }, - { 204592, true }, - { 204605, true }, - { 204616, true }, - { 204629, true }, - { 204647, true }, - { 204661, true }, - { 204683, false }, - { 204697, true }, - { 204716, true }, - { 204732, true }, - { 204743, true }, - { 204753, true }, - { 204761, true }, - { 204778, true }, - { 204792, true }, - { 204804, true }, - { 204821, true }, - { 204835, true }, - { 204849, false }, - { 204862, true }, - { 204880, true }, - { 204892, true }, - { 204904, true }, - { 204923, true }, - { 204942, true }, - { 204959, true }, - { 204972, true }, - { 204986, true }, - { 204998, true }, - { 205011, true }, - { 205027, true }, + { 204539, true }, + { 204550, true }, + { 204563, true }, + { 204581, true }, + { 204595, true }, + { 204617, false }, + { 204631, true }, + { 204650, true }, + { 204666, true }, + { 204677, true }, + { 204687, true }, + { 204695, true }, + { 204712, true }, + { 204726, true }, + { 204738, true }, + { 204755, true }, + { 204769, true }, + { 204783, false }, + { 204796, true }, + { 204814, true }, + { 204826, true }, + { 204838, true }, + { 204857, true }, + { 204876, true }, + { 204893, true }, + { 204906, true }, + { 204920, true }, + { 204932, true }, + { 204945, true }, + { 204961, true }, + { 204974, true }, + { 204987, true }, + { 205002, true }, + { 205030, true }, { 205040, true }, - { 205053, true }, - { 205068, true }, - { 205096, true }, - { 205106, true }, - { 205117, true }, - { 205130, true }, - { 205145, true }, - { 205158, true }, - { 205170, true }, - { 205184, true }, - { 205198, true }, - { 205214, true }, - { 205237, true }, + { 205051, true }, + { 205064, true }, + { 205079, true }, + { 205092, true }, + { 205104, true }, + { 205118, true }, + { 205132, true }, + { 205148, true }, + { 205171, true }, + { 205187, true }, + { 205202, true }, + { 205226, true }, + { 205241, true }, { 205253, true }, - { 205268, true }, - { 205292, true }, - { 205307, true }, - { 205319, true }, - { 205341, true }, - { 205360, true }, - { 205378, true }, - { 205391, true }, - { 205408, true }, - { 205419, true }, - { 205439, true }, - { 205451, true }, - { 205463, true }, - { 205481, true }, - { 205498, true }, + { 205275, true }, + { 205294, true }, + { 205312, true }, + { 205325, true }, + { 205342, true }, + { 205353, true }, + { 205373, true }, + { 205385, true }, + { 205397, true }, + { 205415, true }, + { 205432, true }, + { 205447, true }, + { 205466, true }, + { 205479, true }, + { 205495, true }, { 205513, true }, - { 205532, true }, - { 205545, true }, - { 205561, true }, - { 205579, true }, - { 205595, true }, - { 205608, true }, - { 205628, true }, - { 205641, true }, - { 205663, true }, - { 205680, true }, - { 205695, true }, - { 205711, true }, - { 205732, true }, - { 205752, true }, - { 205765, true }, - { 205780, true }, + { 205529, true }, + { 205542, true }, + { 205562, true }, + { 205575, true }, + { 205597, true }, + { 205614, true }, + { 205629, true }, + { 205645, true }, + { 205666, true }, + { 205686, true }, + { 205699, true }, + { 205714, true }, + { 205726, true }, + { 205740, true }, + { 205758, true }, + { 205773, true }, { 205792, true }, - { 205806, true }, - { 205824, true }, - { 205839, true }, - { 205858, true }, - { 205877, true }, - { 205892, true }, - { 205904, true }, - { 205921, true }, - { 205936, true }, - { 205953, true }, - { 205971, true }, - { 205991, true }, - { 206003, true }, + { 205811, true }, + { 205826, true }, + { 205838, true }, + { 205855, true }, + { 205870, true }, + { 205887, true }, + { 205905, true }, + { 205925, true }, + { 205937, true }, + { 205951, true }, + { 205962, true }, + { 205974, true }, + { 205996, true }, + { 206008, true }, { 206017, true }, - { 206028, true }, - { 206040, true }, + { 206029, true }, + { 206044, true }, { 206062, true }, - { 206074, true }, - { 206083, true }, - { 206095, true }, - { 206110, true }, - { 206128, true }, - { 206147, true }, - { 206163, true }, - { 206182, true }, - { 206198, true }, - { 206215, true }, - { 206228, true }, - { 206247, true }, - { 206265, true }, - { 206271, true }, - { 206289, true }, - { 206312, true }, - { 206321, true }, - { 206329, false }, - { 206349, true }, - { 206366, true }, - { 206380, true }, + { 206081, true }, + { 206097, true }, + { 206116, true }, + { 206132, true }, + { 206149, true }, + { 206162, true }, + { 206181, true }, + { 206199, true }, + { 206205, true }, + { 206223, true }, + { 206246, true }, + { 206255, true }, + { 206263, false }, + { 206283, true }, + { 206300, true }, + { 206314, true }, + { 206326, true }, + { 206345, false }, + { 206362, true }, + { 206381, true }, { 206392, true }, - { 206411, false }, + { 206411, true }, { 206428, true }, - { 206447, true }, - { 206458, true }, + { 206451, true }, { 206477, true }, - { 206494, true }, - { 206517, true }, + { 206488, true }, + { 206506, true }, + { 206526, true }, { 206543, true }, - { 206554, true }, - { 206572, true }, - { 206592, true }, - { 206609, true }, - { 206628, true }, - { 206646, true }, - { 206664, true }, - { 206673, true }, - { 206680, true }, - { 206687, true }, - { 206698, true }, - { 206710, true }, - { 206720, true }, - { 206731, false }, - { 206751, true }, - { 206759, true }, - { 206770, true }, - { 206781, true }, - { 206792, true }, - { 206815, true }, - { 206839, true }, - { 206862, true }, - { 206885, true }, - { 206913, true }, - { 206942, true }, - { 206957, true }, - { 206976, true }, - { 206989, true }, - { 207007, true }, - { 207030, true }, - { 207047, true }, - { 207058, true }, - { 207075, true }, - { 207086, true }, - { 207101, true }, - { 207114, true }, - { 207125, true }, - { 207143, true }, - { 207169, true }, - { 207198, true }, + { 206562, true }, + { 206580, true }, + { 206598, true }, + { 206607, true }, + { 206614, true }, + { 206621, true }, + { 206632, true }, + { 206644, true }, + { 206654, true }, + { 206665, false }, + { 206685, true }, + { 206693, true }, + { 206704, true }, + { 206715, true }, + { 206726, true }, + { 206749, true }, + { 206773, true }, + { 206796, true }, + { 206819, true }, + { 206847, true }, + { 206876, true }, + { 206891, true }, + { 206910, true }, + { 206923, true }, + { 206941, true }, + { 206964, true }, + { 206981, true }, + { 206992, true }, + { 207009, true }, + { 207020, true }, + { 207035, true }, + { 207048, true }, + { 207059, true }, + { 207077, true }, + { 207103, true }, + { 207132, true }, + { 207144, true }, + { 207157, false }, + { 207177, true }, + { 207192, true }, { 207210, true }, - { 207223, false }, - { 207243, true }, - { 207258, true }, - { 207276, true }, - { 207291, true }, - { 207312, false }, + { 207225, true }, + { 207246, false }, + { 207262, true }, + { 207278, true }, + { 207296, true }, + { 207312, true }, { 207328, true }, - { 207344, true }, - { 207362, true }, - { 207378, true }, - { 207394, true }, - { 207409, true }, - { 207427, true }, - { 207443, true }, - { 207455, true }, - { 207467, true }, - { 207489, true }, - { 207511, true }, - { 207531, true }, - { 207545, true }, - { 207566, true }, - { 207585, true }, - { 207605, true }, - { 207626, true }, - { 207645, true }, - { 207662, true }, - { 207680, false }, - { 207698, true }, - { 207718, true }, - { 207737, true }, - { 207753, true }, - { 207773, true }, - { 207794, true }, - { 207821, true }, - { 207833, true }, - { 207844, true }, - { 207858, true }, + { 207343, true }, + { 207361, true }, + { 207377, true }, + { 207389, true }, + { 207401, true }, + { 207423, true }, + { 207445, true }, + { 207465, true }, + { 207479, true }, + { 207500, true }, + { 207519, true }, + { 207539, true }, + { 207560, true }, + { 207579, true }, + { 207596, true }, + { 207614, false }, + { 207632, true }, + { 207652, true }, + { 207671, true }, + { 207690, true }, + { 207706, true }, + { 207726, true }, + { 207747, true }, + { 207774, true }, + { 207786, true }, + { 207797, true }, + { 207811, true }, + { 207826, true }, + { 207837, true }, + { 207848, true }, + { 207862, true }, { 207873, true }, - { 207884, true }, - { 207903, true }, - { 207914, true }, - { 207928, true }, - { 207939, true }, + { 207885, true }, + { 207894, true }, + { 207909, true }, + { 207919, true }, + { 207932, true }, { 207951, true }, - { 207960, true }, - { 207975, true }, - { 207985, true }, + { 207969, true }, + { 207989, true }, { 207998, true }, - { 208017, true }, - { 208035, true }, - { 208055, true }, - { 208064, true }, - { 208074, true }, - { 208095, false }, - { 208112, true }, - { 208132, true }, - { 208141, true }, - { 208154, true }, - { 208171, true }, - { 208194, true }, - { 208208, true }, - { 208222, true }, - { 208234, true }, - { 208251, true }, + { 208008, true }, + { 208029, false }, + { 208046, true }, + { 208066, true }, + { 208075, true }, + { 208088, true }, + { 208105, true }, + { 208128, true }, + { 208142, true }, + { 208156, true }, + { 208168, true }, + { 208185, true }, + { 208200, true }, + { 208217, true }, + { 208233, true }, + { 208250, true }, { 208266, true }, - { 208283, true }, - { 208299, true }, - { 208316, true }, - { 208332, true }, - { 208344, true }, + { 208278, true }, + { 208289, true }, + { 208303, false }, + { 208319, true }, + { 208330, true }, + { 208346, true }, { 208355, true }, - { 208369, false }, - { 208385, true }, - { 208396, true }, - { 208412, true }, + { 208370, true }, + { 208386, true }, + { 208399, true }, + { 208408, true }, { 208421, true }, - { 208436, true }, - { 208452, true }, - { 208465, true }, + { 208438, true }, + { 208450, true }, + { 208462, true }, { 208474, true }, - { 208487, true }, - { 208504, true }, - { 208516, true }, - { 208528, true }, - { 208540, true }, - { 208549, true }, - { 208561, true }, - { 208576, true }, - { 208590, true }, - { 208602, true }, + { 208486, true }, + { 208495, true }, + { 208507, true }, + { 208522, true }, + { 208536, true }, + { 208548, true }, + { 208565, true }, + { 208577, true }, + { 208587, true }, + { 208603, true }, { 208619, true }, - { 208631, true }, - { 208641, true }, - { 208657, true }, - { 208673, true }, - { 208694, true }, - { 208712, true }, - { 208728, true }, - { 208744, true }, - { 208764, true }, - { 208776, true }, - { 208791, true }, + { 208640, true }, + { 208658, true }, + { 208674, true }, + { 208690, true }, + { 208710, true }, + { 208722, true }, + { 208737, true }, + { 208747, true }, + { 208762, true }, + { 208774, true }, + { 208786, true }, { 208801, true }, - { 208816, true }, - { 208828, true }, - { 208840, true }, - { 208855, true }, - { 208869, true }, + { 208815, true }, + { 208826, true }, + { 208837, true }, + { 208848, true }, + { 208859, true }, + { 208867, true }, { 208880, true }, - { 208891, true }, - { 208902, true }, - { 208913, true }, - { 208921, true }, - { 208934, true }, - { 208948, true }, - { 208961, true }, - { 208979, true }, + { 208894, true }, + { 208907, true }, + { 208925, true }, + { 208942, true }, + { 208952, true }, + { 208965, true }, + { 208982, true }, { 208996, true }, - { 209006, true }, - { 209019, true }, - { 209036, true }, - { 209050, true }, - { 209059, true }, - { 209074, true }, - { 209088, true }, - { 209101, true }, - { 209115, true }, - { 209129, true }, - { 209137, true }, - { 209156, true }, - { 209176, true }, - { 209193, true }, - { 209208, true }, - { 209223, true }, - { 209237, true }, - { 209255, true }, - { 209271, true }, - { 209287, true }, - { 209301, true }, - { 209317, true }, - { 209339, true }, - { 209356, true }, - { 209375, true }, - { 209388, true }, - { 209402, true }, - { 209418, false }, - { 209436, true }, - { 209451, true }, - { 209468, true }, - { 209483, true }, - { 209500, false }, - { 209526, true }, - { 209541, true }, - { 209559, true }, - { 209572, true }, - { 209585, true }, - { 209597, true }, - { 209616, true }, - { 209631, true }, - { 209641, true }, - { 209657, true }, - { 209669, true }, - { 209691, true }, - { 209704, true }, - { 209732, true }, - { 209749, true }, - { 209780, true }, - { 209790, true }, + { 209005, true }, + { 209020, true }, + { 209034, true }, + { 209047, true }, + { 209061, true }, + { 209075, true }, + { 209083, true }, + { 209102, true }, + { 209122, true }, + { 209139, true }, + { 209154, true }, + { 209169, true }, + { 209183, true }, + { 209201, true }, + { 209217, true }, + { 209233, true }, + { 209247, true }, + { 209263, true }, + { 209285, true }, + { 209302, true }, + { 209321, true }, + { 209334, true }, + { 209348, true }, + { 209364, false }, + { 209382, true }, + { 209397, true }, + { 209414, true }, + { 209429, true }, + { 209446, false }, + { 209472, true }, + { 209487, true }, + { 209505, true }, + { 209518, true }, + { 209531, true }, + { 209543, true }, + { 209562, true }, + { 209577, true }, + { 209587, true }, + { 209603, true }, + { 209615, true }, + { 209637, true }, + { 209650, true }, + { 209678, true }, + { 209695, true }, + { 209726, true }, + { 209736, true }, + { 209747, true }, + { 209759, true }, + { 209773, true }, + { 209785, true }, + { 209793, true }, { 209801, true }, - { 209813, true }, - { 209827, true }, - { 209839, true }, - { 209847, true }, - { 209855, true }, - { 209873, true }, - { 209884, false }, - { 209904, true }, - { 209922, true }, - { 209942, true }, - { 209957, true }, - { 209972, true }, - { 209989, false }, - { 210003, true }, - { 210023, true }, - { 210034, true }, + { 209819, true }, + { 209830, false }, + { 209850, true }, + { 209868, true }, + { 209888, true }, + { 209903, true }, + { 209918, true }, + { 209935, false }, + { 209949, true }, + { 209969, true }, + { 209980, true }, + { 210005, true }, + { 210026, true }, + { 210044, true }, { 210059, true }, - { 210080, true }, - { 210098, true }, - { 210113, true }, - { 210130, true }, - { 210145, true }, - { 210161, true }, - { 210180, true }, - { 210205, true }, - { 210218, true }, - { 210229, true }, - { 210240, true }, - { 210254, true }, - { 210267, false }, - { 210295, true }, - { 210307, true }, - { 210320, true }, - { 210333, false }, - { 210341, true }, - { 210351, true }, - { 210367, true }, - { 210382, true }, - { 210400, true }, - { 210412, true }, - { 210431, true }, + { 210076, true }, + { 210091, true }, + { 210107, true }, + { 210126, true }, + { 210151, true }, + { 210164, true }, + { 210175, true }, + { 210186, true }, + { 210200, true }, + { 210213, false }, + { 210241, true }, + { 210253, true }, + { 210266, true }, + { 210279, false }, + { 210287, true }, + { 210297, true }, + { 210313, true }, + { 210328, true }, + { 210346, true }, + { 210358, true }, + { 210377, true }, + { 210389, true }, + { 210402, true }, + { 210415, true }, + { 210430, true }, { 210443, true }, - { 210456, true }, - { 210469, true }, - { 210484, true }, - { 210497, true }, - { 210519, true }, - { 210533, true }, - { 210546, true }, - { 210561, true }, - { 210575, true }, - { 210588, true }, - { 210608, false }, - { 210625, true }, - { 210643, true }, - { 210656, true }, - { 210670, true }, - { 210681, true }, - { 210692, true }, - { 210705, true }, - { 210715, true }, - { 210732, true }, - { 210740, true }, - { 210755, true }, + { 210465, true }, + { 210479, true }, + { 210492, true }, + { 210507, true }, + { 210521, true }, + { 210534, true }, + { 210554, false }, + { 210571, true }, + { 210589, true }, + { 210602, true }, + { 210616, true }, + { 210627, true }, + { 210638, true }, + { 210651, true }, + { 210661, true }, + { 210678, true }, + { 210686, true }, + { 210701, true }, + { 210714, true }, + { 210728, true }, + { 210743, true }, { 210768, true }, - { 210782, true }, - { 210797, true }, - { 210822, true }, - { 210858, true }, - { 210871, true }, - { 210886, true }, - { 210899, true }, - { 210916, true }, - { 210938, true }, + { 210804, true }, + { 210817, true }, + { 210832, true }, + { 210845, true }, + { 210862, true }, + { 210884, true }, + { 210906, true }, + { 210924, true }, + { 210937, true }, + { 210948, true }, { 210960, true }, - { 210978, true }, - { 210991, true }, - { 211002, true }, - { 211014, true }, - { 211025, true }, - { 211043, true }, - { 211051, true }, - { 211084, true }, - { 211091, true }, - { 211108, true }, + { 210971, true }, + { 210989, true }, + { 210997, true }, + { 211030, true }, + { 211037, true }, + { 211054, true }, + { 211070, true }, + { 211087, true }, + { 211097, true }, + { 211110, true }, { 211124, true }, - { 211141, true }, - { 211151, true }, - { 211164, true }, - { 211178, true }, - { 211188, true }, - { 211201, false }, - { 211219, true }, - { 211237, true }, - { 211249, true }, - { 211261, true }, - { 211272, true }, - { 211285, true }, - { 211298, true }, - { 211314, true }, - { 211331, true }, - { 211345, true }, - { 211365, true }, - { 211379, true }, - { 211391, true }, - { 211411, true }, - { 211430, true }, - { 211443, true }, - { 211463, true }, - { 211474, true }, - { 211491, true }, - { 211501, true }, - { 211510, true }, - { 211522, true }, - { 211544, true }, - { 211555, true }, - { 211569, true }, - { 211588, true }, - { 211605, true }, - { 211622, true }, - { 211636, true }, - { 211650, true }, - { 211664, true }, - { 211687, true }, + { 211134, true }, + { 211147, false }, + { 211165, true }, + { 211183, true }, + { 211195, true }, + { 211207, true }, + { 211218, true }, + { 211231, true }, + { 211244, true }, + { 211260, true }, + { 211277, true }, + { 211291, true }, + { 211305, true }, + { 211325, true }, + { 211339, true }, + { 211351, true }, + { 211371, true }, + { 211390, true }, + { 211403, true }, + { 211423, true }, + { 211434, true }, + { 211451, true }, + { 211461, true }, + { 211470, true }, + { 211482, true }, + { 211504, true }, + { 211515, true }, + { 211529, true }, + { 211548, true }, + { 211565, true }, + { 211582, true }, + { 211596, true }, + { 211610, true }, + { 211624, true }, + { 211647, true }, + { 211667, true }, + { 211681, true }, + { 211695, true }, { 211707, true }, - { 211721, true }, + { 211719, true }, { 211735, true }, - { 211749, true }, - { 211761, true }, - { 211773, true }, - { 211789, true }, - { 211799, true }, - { 211813, true }, - { 211823, true }, - { 211837, true }, - { 211846, true }, - { 211858, true }, - { 211869, true }, - { 211880, true }, - { 211892, true }, - { 211901, true }, - { 211910, true }, - { 211921, true }, - { 211935, true }, - { 211947, true }, - { 211960, true }, - { 211975, false }, - { 212002, true }, - { 212012, true }, - { 212025, true }, - { 212038, true }, - { 212054, true }, - { 212075, true }, - { 212096, true }, - { 212115, true }, + { 211745, true }, + { 211759, true }, + { 211769, true }, + { 211783, true }, + { 211792, true }, + { 211804, true }, + { 211815, true }, + { 211826, true }, + { 211838, true }, + { 211847, true }, + { 211856, true }, + { 211867, true }, + { 211881, true }, + { 211893, true }, + { 211906, true }, + { 211921, false }, + { 211948, true }, + { 211958, true }, + { 211971, true }, + { 211984, true }, + { 212000, true }, + { 212021, true }, + { 212042, true }, + { 212061, true }, + { 212071, true }, + { 212083, true }, + { 212094, true }, + { 212117, false }, { 212125, true }, - { 212137, true }, - { 212148, true }, - { 212171, false }, - { 212179, true }, - { 212194, true }, - { 212208, true }, - { 212222, true }, - { 212234, true }, - { 212247, true }, - { 212257, true }, - { 212265, true }, - { 212286, true }, - { 212298, true }, - { 212309, true }, - { 212329, true }, - { 212348, true }, - { 212359, true }, - { 212374, true }, - { 212399, false }, - { 212427, false }, - { 212439, true }, - { 212450, true }, - { 212466, true }, - { 212481, true }, - { 212496, true }, - { 212507, true }, - { 212524, true }, - { 212536, true }, - { 212552, true }, - { 212567, true }, - { 212582, true }, - { 212598, true }, - { 212615, true }, + { 212140, true }, + { 212154, true }, + { 212168, true }, + { 212180, true }, + { 212193, true }, + { 212203, true }, + { 212211, true }, + { 212232, true }, + { 212244, true }, + { 212255, true }, + { 212275, true }, + { 212294, true }, + { 212305, true }, + { 212320, true }, + { 212345, false }, + { 212373, false }, + { 212385, true }, + { 212396, true }, + { 212412, true }, + { 212427, true }, + { 212442, true }, + { 212453, true }, + { 212470, true }, + { 212482, true }, + { 212498, true }, + { 212513, true }, + { 212528, true }, + { 212544, true }, + { 212561, true }, + { 212584, true }, + { 212603, true }, + { 212617, true }, { 212638, true }, - { 212657, true }, - { 212671, true }, - { 212692, true }, - { 212712, true }, - { 212730, true }, - { 212749, true }, - { 212767, true }, - { 212785, true }, - { 212801, true }, + { 212658, true }, + { 212676, true }, + { 212695, true }, + { 212713, true }, + { 212731, true }, + { 212747, true }, + { 212762, true }, + { 212774, false }, + { 212789, false }, + { 212803, true }, { 212816, true }, - { 212828, false }, - { 212843, false }, - { 212857, true }, - { 212870, true }, - { 212886, true }, - { 212897, true }, - { 212908, true }, - { 212919, true }, - { 212930, true }, - { 212942, true }, - { 212957, true }, + { 212832, true }, + { 212843, true }, + { 212854, true }, + { 212865, true }, + { 212876, true }, + { 212888, true }, + { 212903, true }, + { 212921, true }, + { 212939, true }, + { 212961, true }, { 212975, true }, - { 212993, true }, - { 213015, true }, - { 213029, true }, - { 213048, true }, - { 213066, true }, - { 213087, true }, - { 213101, false }, - { 213113, true }, - { 213128, true }, - { 213144, true }, - { 213162, true }, - { 213172, true }, - { 213184, false }, - { 213195, true }, - { 213214, false }, - { 213233, true }, - { 213248, true }, - { 213261, false }, + { 212994, true }, + { 213012, true }, + { 213033, true }, + { 213047, false }, + { 213059, true }, + { 213074, true }, + { 213090, true }, + { 213108, true }, + { 213118, true }, + { 213130, false }, + { 213141, true }, + { 213160, false }, + { 213179, true }, + { 213194, true }, + { 213207, false }, + { 213226, true }, + { 213237, true }, + { 213255, true }, { 213280, true }, - { 213291, true }, - { 213309, true }, - { 213334, true }, - { 213349, true }, - { 213364, true }, - { 213382, true }, - { 213397, true }, - { 213412, true }, - { 213429, true }, - { 213440, true }, - { 213450, true }, - { 213462, true }, + { 213295, true }, + { 213310, true }, + { 213328, true }, + { 213343, true }, + { 213358, true }, + { 213375, true }, + { 213386, true }, + { 213396, true }, + { 213408, true }, + { 213422, true }, + { 213434, true }, + { 213449, true }, + { 213458, true }, { 213476, true }, - { 213488, true }, - { 213503, true }, - { 213512, true }, - { 213530, true }, - { 213541, true }, - { 213554, true }, - { 213569, false }, - { 213582, true }, - { 213594, true }, - { 213615, true }, - { 213628, true }, - { 213645, true }, - { 213665, true }, + { 213487, true }, + { 213500, true }, + { 213515, false }, + { 213528, true }, + { 213540, true }, + { 213561, true }, + { 213574, true }, + { 213591, true }, + { 213611, true }, + { 213634, true }, + { 213653, true }, + { 213664, true }, + { 213678, true }, { 213688, true }, - { 213707, true }, - { 213718, true }, - { 213732, true }, - { 213742, true }, - { 213757, true }, - { 213771, true }, - { 213781, true }, - { 213795, true }, + { 213703, true }, + { 213717, true }, + { 213727, true }, + { 213741, true }, + { 213761, true }, + { 213784, true }, + { 213797, true }, { 213815, true }, - { 213838, true }, - { 213851, true }, - { 213869, true }, - { 213877, true }, - { 213888, true }, - { 213895, true }, - { 213903, true }, - { 213918, true }, - { 213930, true }, - { 213945, true }, - { 213962, true }, + { 213823, true }, + { 213834, true }, + { 213841, true }, + { 213849, true }, + { 213864, true }, + { 213876, true }, + { 213891, true }, + { 213908, true }, + { 213920, true }, + { 213937, true }, + { 213954, true }, + { 213965, false }, { 213974, true }, - { 213991, true }, - { 214008, true }, - { 214019, false }, - { 214028, true }, - { 214041, false }, + { 213987, false }, + { 214004, true }, + { 214017, true }, + { 214028, false }, + { 214041, true }, { 214058, true }, - { 214071, true }, - { 214082, false }, - { 214095, true }, - { 214112, true }, - { 214127, false }, - { 214151, false }, - { 214163, true }, - { 214188, true }, - { 214197, true }, - { 214209, true }, - { 214229, true }, + { 214073, false }, + { 214097, false }, + { 214109, true }, + { 214134, true }, + { 214143, true }, + { 214155, true }, + { 214175, true }, + { 214192, true }, + { 214202, true }, + { 214211, true }, + { 214227, true }, { 214246, true }, - { 214256, true }, - { 214265, true }, - { 214281, true }, + { 214264, true }, + { 214280, true }, { 214300, true }, - { 214318, true }, - { 214334, true }, - { 214354, true }, - { 214367, true }, - { 214380, true }, - { 214393, true }, - { 214402, true }, - { 214415, true }, - { 214429, true }, - { 214443, true }, - { 214466, true }, - { 214477, true }, - { 214499, true }, + { 214313, true }, + { 214326, true }, + { 214339, true }, + { 214348, true }, + { 214361, true }, + { 214375, true }, + { 214389, true }, + { 214412, true }, + { 214423, true }, + { 214445, true }, + { 214471, true }, + { 214486, true }, + { 214501, true }, + { 214511, true }, { 214525, true }, - { 214540, true }, - { 214555, true }, - { 214565, true }, - { 214579, true }, - { 214591, true }, - { 214614, true }, - { 214623, true }, - { 214631, true }, - { 214647, true }, - { 214661, true }, - { 214673, true }, - { 214686, true }, - { 214703, false }, - { 214721, true }, + { 214537, true }, + { 214560, true }, + { 214569, true }, + { 214577, true }, + { 214593, true }, + { 214607, true }, + { 214619, true }, + { 214632, true }, + { 214649, false }, + { 214667, true }, + { 214691, true }, + { 214704, true }, + { 214715, true }, + { 214732, true }, { 214745, true }, - { 214758, true }, - { 214769, true }, - { 214786, true }, - { 214799, true }, + { 214756, true }, + { 214766, true }, + { 214781, true }, + { 214794, true }, { 214810, true }, - { 214820, true }, - { 214835, true }, - { 214848, true }, - { 214864, true }, - { 214874, false }, + { 214820, false }, + { 214830, true }, + { 214843, true }, + { 214858, true }, + { 214868, true }, { 214884, true }, - { 214897, true }, - { 214912, true }, - { 214922, true }, - { 214938, true }, - { 214952, true }, - { 214964, true }, - { 214973, true }, - { 214988, true }, - { 214999, true }, - { 215017, true }, - { 215026, true }, - { 215046, true }, - { 215062, true }, - { 215079, true }, - { 215092, true }, - { 215102, true }, - { 215112, true }, - { 215126, true }, - { 215138, true }, - { 215151, true }, - { 215168, true }, - { 215183, true }, - { 215200, true }, - { 215212, true }, - { 215229, true }, - { 215243, true }, - { 215252, true }, - { 215268, true }, - { 215281, true }, - { 215294, true }, - { 215309, false }, - { 215321, true }, - { 215334, true }, - { 215344, true }, - { 215353, true }, - { 215365, true }, - { 215373, true }, - { 215381, true }, - { 215389, true }, - { 215395, true }, - { 215406, true }, - { 215421, true }, - { 215436, true }, - { 215455, true }, - { 215479, true }, - { 215492, true }, - { 215507, true }, - { 215531, true }, - { 215541, true }, - { 215553, true }, - { 215570, true }, - { 215580, true }, - { 215596, true }, - { 215617, true }, - { 215632, false }, - { 215655, true }, - { 215676, true }, - { 215689, true }, - { 215702, true }, - { 215719, true }, - { 215733, true }, - { 215745, true }, - { 215764, true }, - { 215777, true }, - { 215795, true }, - { 215819, false }, - { 215846, true }, - { 215872, true }, - { 215887, true }, - { 215904, true }, - { 215920, true }, - { 215937, true }, - { 215954, true }, - { 215969, true }, - { 215982, true }, - { 215993, true }, + { 214898, true }, + { 214910, true }, + { 214919, true }, + { 214934, true }, + { 214945, true }, + { 214963, true }, + { 214972, true }, + { 214992, true }, + { 215008, true }, + { 215025, true }, + { 215038, true }, + { 215048, true }, + { 215058, true }, + { 215072, true }, + { 215084, true }, + { 215097, true }, + { 215114, true }, + { 215129, true }, + { 215146, true }, + { 215158, true }, + { 215175, true }, + { 215189, true }, + { 215198, true }, + { 215214, true }, + { 215227, true }, + { 215240, true }, + { 215255, false }, + { 215267, true }, + { 215280, true }, + { 215290, true }, + { 215299, true }, + { 215311, true }, + { 215319, true }, + { 215327, true }, + { 215335, true }, + { 215341, true }, + { 215352, true }, + { 215367, true }, + { 215382, true }, + { 215401, true }, + { 215425, true }, + { 215438, true }, + { 215453, true }, + { 215477, true }, + { 215487, true }, + { 215499, true }, + { 215516, true }, + { 215526, true }, + { 215542, true }, + { 215563, true }, + { 215578, false }, + { 215601, true }, + { 215622, true }, + { 215635, true }, + { 215648, true }, + { 215665, true }, + { 215679, true }, + { 215691, true }, + { 215710, true }, + { 215723, true }, + { 215741, true }, + { 215765, false }, + { 215792, true }, + { 215818, true }, + { 215833, true }, + { 215850, true }, + { 215866, true }, + { 215883, true }, + { 215900, true }, + { 215915, true }, + { 215928, true }, + { 215939, true }, + { 215950, true }, + { 215960, true }, + { 215973, true }, + { 215991, true }, { 216004, true }, - { 216014, true }, - { 216027, true }, - { 216045, true }, - { 216058, true }, - { 216072, true }, - { 216082, true }, - { 216093, true }, - { 216102, true }, - { 216123, true }, + { 216018, true }, + { 216028, true }, + { 216039, true }, + { 216048, true }, + { 216069, true }, + { 216083, true }, + { 216092, true }, + { 216099, true }, + { 216106, true }, + { 216114, true }, { 216137, true }, - { 216146, true }, - { 216153, true }, - { 216160, true }, - { 216168, true }, - { 216191, true }, - { 216204, true }, - { 216218, true }, - { 216231, true }, - { 216246, true }, - { 216260, true }, - { 216275, true }, - { 216284, true }, - { 216292, true }, - { 216303, true }, + { 216150, true }, + { 216164, true }, + { 216177, true }, + { 216192, true }, + { 216206, true }, + { 216221, true }, + { 216230, true }, + { 216238, true }, + { 216251, true }, + { 216262, true }, + { 216270, true }, + { 216288, true }, + { 216300, true }, { 216311, true }, - { 216329, true }, - { 216341, true }, - { 216352, true }, - { 216368, true }, - { 216377, true }, - { 216390, true }, - { 216401, true }, - { 216413, true }, - { 216428, false }, - { 216441, true }, - { 216450, true }, - { 216462, true }, - { 216473, true }, + { 216327, true }, + { 216336, true }, + { 216349, true }, + { 216360, true }, + { 216372, true }, + { 216387, false }, + { 216400, true }, + { 216409, true }, + { 216421, true }, + { 216432, true }, + { 216444, true }, + { 216457, true }, + { 216470, true }, { 216485, true }, - { 216498, true }, - { 216511, true }, - { 216526, true }, - { 216546, true }, - { 216558, true }, - { 216575, true }, - { 216585, true }, - { 216598, true }, - { 216605, true }, - { 216615, true }, - { 216627, true }, - { 216643, true }, - { 216658, true }, - { 216667, true }, - { 216681, true }, - { 216701, true }, - { 216713, true }, - { 216726, true }, - { 216740, true }, + { 216505, true }, + { 216517, true }, + { 216534, true }, + { 216544, true }, + { 216557, true }, + { 216564, true }, + { 216574, true }, + { 216586, true }, + { 216602, true }, + { 216617, true }, + { 216626, true }, + { 216640, true }, + { 216660, true }, + { 216672, true }, + { 216685, true }, + { 216699, true }, + { 216717, true }, + { 216724, true }, + { 216741, true }, { 216758, true }, - { 216765, true }, - { 216782, true }, - { 216799, true }, - { 216819, true }, - { 216831, true }, + { 216778, true }, + { 216796, true }, + { 216812, false }, + { 216830, true }, { 216849, true }, - { 216865, false }, - { 216883, true }, - { 216902, true }, - { 216929, true }, - { 216946, true }, - { 216960, true }, - { 216976, true }, - { 216990, true }, - { 217006, true }, - { 217021, false }, - { 217040, true }, + { 216876, true }, + { 216893, true }, + { 216907, true }, + { 216923, true }, + { 216937, true }, + { 216953, true }, + { 216968, false }, + { 216987, true }, + { 217005, true }, + { 217023, true }, + { 217041, true }, { 217058, true }, - { 217076, true }, - { 217094, true }, - { 217111, true }, - { 217132, true }, - { 217151, true }, - { 217165, true }, - { 217176, true }, - { 217184, true }, - { 217194, true }, - { 217209, true }, - { 217224, true }, - { 217235, true }, - { 217257, true }, - { 217270, true }, - { 217290, true }, - { 217305, true }, - { 217324, true }, - { 217350, true }, - { 217366, true }, - { 217384, true }, - { 217402, true }, - { 217417, true }, - { 217425, true }, - { 217438, true }, - { 217446, true }, - { 217457, true }, - { 217471, true }, - { 217485, true }, + { 217079, true }, + { 217098, true }, + { 217112, true }, + { 217123, true }, + { 217131, true }, + { 217141, true }, + { 217156, true }, + { 217171, true }, + { 217182, true }, + { 217204, true }, + { 217217, true }, + { 217237, true }, + { 217252, true }, + { 217271, true }, + { 217297, true }, + { 217313, true }, + { 217331, true }, + { 217349, true }, + { 217364, true }, + { 217372, true }, + { 217385, true }, + { 217393, true }, + { 217404, true }, + { 217418, true }, + { 217432, true }, + { 217443, true }, + { 217459, true }, + { 217476, true }, + { 217486, true }, { 217496, true }, - { 217512, true }, - { 217529, true }, - { 217539, true }, - { 217549, true }, - { 217562, true }, - { 217575, true }, - { 217601, true }, - { 217620, false }, - { 217630, true }, - { 217646, true }, - { 217663, true }, - { 217679, true }, - { 217702, true }, - { 217727, true }, - { 217740, true }, - { 217751, true }, - { 217766, true }, - { 217776, true }, - { 217791, true }, - { 217803, true }, - { 217821, true }, - { 217846, true }, + { 217509, true }, + { 217527, true }, + { 217540, true }, + { 217566, true }, + { 217585, false }, + { 217595, true }, + { 217611, true }, + { 217628, true }, + { 217644, true }, + { 217667, true }, + { 217692, true }, + { 217705, true }, + { 217716, true }, + { 217731, true }, + { 217741, true }, + { 217756, true }, + { 217768, true }, + { 217786, true }, + { 217811, true }, + { 217823, true }, + { 217835, true }, + { 217847, true }, { 217858, true }, { 217870, true }, - { 217882, true }, - { 217893, true }, - { 217905, true }, - { 217923, true }, + { 217888, true }, + { 217909, true }, + { 217933, true }, { 217944, true }, - { 217968, true }, - { 217979, true }, - { 217995, true }, - { 218007, true }, - { 218021, true }, - { 218036, true }, - { 218049, true }, - { 218065, false }, - { 218074, true }, - { 218092, true }, - { 218106, true }, - { 218114, false }, - { 218126, true }, - { 218136, true }, - { 218153, true }, - { 218163, true }, - { 218174, true }, - { 218181, true }, - { 218192, true }, - { 218212, true }, - { 218229, true }, - { 218241, true }, + { 217960, true }, + { 217972, true }, + { 217986, true }, + { 218001, true }, + { 218014, true }, + { 218030, false }, + { 218039, true }, + { 218057, true }, + { 218071, true }, + { 218079, false }, + { 218091, true }, + { 218101, true }, + { 218118, true }, + { 218128, true }, + { 218139, true }, + { 218146, true }, + { 218157, true }, + { 218177, true }, + { 218194, true }, + { 218206, true }, + { 218223, true }, + { 218243, false }, { 218258, true }, + { 218269, true }, { 218278, false }, - { 218293, true }, - { 218304, true }, - { 218313, false }, - { 218320, true }, - { 218330, true }, - { 218341, true }, - { 218357, true }, - { 218366, true }, - { 218381, true }, - { 218393, true }, - { 218407, true }, - { 218417, true }, - { 218438, true }, - { 218447, true }, - { 218465, false }, - { 218476, true }, - { 218492, false }, - { 218505, true }, - { 218521, true }, - { 218533, true }, - { 218545, true }, - { 218565, true }, - { 218579, true }, - { 218595, true }, - { 218609, true }, - { 218624, true }, - { 218632, true }, - { 218647, true }, - { 218660, true }, - { 218676, true }, - { 218689, true }, - { 218702, true }, - { 218716, true }, - { 218738, true }, - { 218758, true }, - { 218779, true }, - { 218804, true }, - { 218823, true }, - { 218839, true }, - { 218867, true }, - { 218888, true }, - { 218917, true }, - { 218936, true }, + { 218285, true }, + { 218295, true }, + { 218306, true }, + { 218322, true }, + { 218331, true }, + { 218346, true }, + { 218360, true }, + { 218370, true }, + { 218391, true }, + { 218400, true }, + { 218418, false }, + { 218429, true }, + { 218445, false }, + { 218458, true }, + { 218474, true }, + { 218486, true }, + { 218498, true }, + { 218518, true }, + { 218532, true }, + { 218548, true }, + { 218562, true }, + { 218577, true }, + { 218585, true }, + { 218600, true }, + { 218613, true }, + { 218629, true }, + { 218642, true }, + { 218655, true }, + { 218669, true }, + { 218691, true }, + { 218711, true }, + { 218732, true }, + { 218757, true }, + { 218776, true }, + { 218792, true }, + { 218820, true }, + { 218841, true }, + { 218870, true }, + { 218889, true }, + { 218913, true }, + { 218923, true }, + { 218932, true }, + { 218945, true }, + { 218954, true }, { 218960, true }, - { 218970, true }, - { 218979, true }, - { 218992, true }, - { 219001, true }, - { 219007, true }, - { 219019, true }, + { 218972, true }, + { 218989, true }, + { 219003, true }, + { 219022, true }, { 219036, true }, - { 219050, true }, - { 219069, true }, - { 219083, true }, - { 219097, false }, - { 219110, true }, - { 219123, true }, - { 219136, true }, + { 219050, false }, + { 219063, true }, + { 219076, true }, + { 219089, true }, + { 219107, true }, + { 219128, true }, { 219154, true }, - { 219175, true }, - { 219201, true }, - { 219214, true }, - { 219224, true }, - { 219243, true }, - { 219262, true }, - { 219279, true }, - { 219299, true }, - { 219315, true }, - { 219335, true }, - { 219344, true }, - { 219355, true }, - { 219364, true }, - { 219383, false }, - { 219399, false }, - { 219412, false }, - { 219425, true }, - { 219436, true }, - { 219447, true }, - { 219466, true }, - { 219479, true }, + { 219167, true }, + { 219177, true }, + { 219196, true }, + { 219215, true }, + { 219232, true }, + { 219252, true }, + { 219268, true }, + { 219288, true }, + { 219297, true }, + { 219308, true }, + { 219317, true }, + { 219336, false }, + { 219352, false }, + { 219365, false }, + { 219378, true }, + { 219389, true }, + { 219400, true }, + { 219419, true }, + { 219432, true }, + { 219444, true }, + { 219457, true }, + { 219476, true }, { 219491, true }, - { 219504, true }, - { 219523, true }, - { 219538, true }, - { 219547, true }, - { 219560, true }, + { 219500, true }, + { 219513, true }, + { 219528, true }, + { 219544, true }, + { 219558, true }, { 219575, true }, - { 219591, true }, - { 219605, true }, + { 219584, true }, + { 219598, true }, { 219622, true }, - { 219631, true }, - { 219645, true }, - { 219669, true }, - { 219684, true }, - { 219700, true }, - { 219718, true }, - { 219735, true }, - { 219752, true }, + { 219637, true }, + { 219653, true }, + { 219671, true }, + { 219688, true }, + { 219705, true }, + { 219720, true }, + { 219738, true }, + { 219754, true }, { 219767, true }, - { 219785, true }, - { 219801, true }, - { 219814, true }, - { 219823, true }, - { 219836, true }, - { 219856, true }, - { 219867, true }, - { 219881, true }, - { 219890, true }, - { 219899, true }, - { 219917, true }, - { 219933, true }, - { 219947, true }, - { 219961, true }, - { 219974, true }, - { 219989, true }, - { 220009, true }, - { 220026, true }, - { 220043, true }, - { 220081, true }, - { 220093, true }, - { 220109, true }, - { 220121, true }, - { 220135, true }, - { 220149, true }, - { 220170, true }, - { 220189, true }, - { 220214, false }, - { 220230, true }, - { 220249, true }, - { 220264, true }, - { 220288, true }, - { 220300, true }, + { 219776, true }, + { 219789, true }, + { 219809, true }, + { 219820, true }, + { 219834, true }, + { 219843, true }, + { 219852, true }, + { 219870, true }, + { 219886, true }, + { 219900, true }, + { 219914, true }, + { 219927, true }, + { 219942, true }, + { 219962, true }, + { 219979, true }, + { 219996, true }, + { 220034, true }, + { 220046, true }, + { 220062, true }, + { 220074, true }, + { 220088, true }, + { 220102, true }, + { 220123, true }, + { 220142, true }, + { 220167, false }, + { 220183, true }, + { 220202, true }, + { 220217, true }, + { 220241, true }, + { 220253, true }, + { 220263, true }, + { 220274, true }, + { 220287, true }, + { 220301, true }, { 220310, true }, - { 220321, true }, - { 220334, true }, - { 220348, true }, - { 220357, true }, - { 220386, true }, - { 220411, true }, - { 220436, true }, - { 220465, true }, - { 220477, true }, - { 220493, true }, - { 220502, true }, - { 220514, true }, - { 220528, true }, - { 220542, true }, - { 220556, true }, - { 220573, true }, - { 220586, true }, - { 220605, true }, - { 220616, true }, - { 220629, true }, - { 220646, true }, - { 220655, true }, - { 220670, true }, - { 220688, true }, - { 220702, false }, - { 220713, true }, - { 220726, true }, - { 220746, false }, - { 220759, true }, - { 220769, true }, - { 220788, true }, - { 220801, true }, - { 220820, true }, - { 220832, true }, - { 220854, true }, - { 220862, true }, - { 220873, true }, - { 220884, true }, - { 220897, true }, - { 220908, true }, - { 220918, true }, + { 220339, true }, + { 220364, true }, + { 220389, true }, + { 220418, true }, + { 220430, true }, + { 220446, true }, + { 220455, true }, + { 220467, true }, + { 220481, true }, + { 220495, true }, + { 220509, true }, + { 220526, true }, + { 220539, true }, + { 220558, true }, + { 220569, true }, + { 220582, true }, + { 220599, true }, + { 220608, true }, + { 220623, true }, + { 220641, true }, + { 220655, false }, + { 220666, true }, + { 220679, true }, + { 220699, false }, + { 220712, true }, + { 220722, true }, + { 220741, true }, + { 220754, true }, + { 220773, true }, + { 220785, true }, + { 220807, true }, + { 220815, true }, + { 220826, true }, + { 220837, true }, + { 220850, true }, + { 220861, true }, + { 220871, true }, + { 220881, true }, + { 220893, true }, + { 220902, true }, + { 220914, true }, + { 220922, true }, { 220928, true }, - { 220940, true }, - { 220949, true }, - { 220961, true }, - { 220969, true }, - { 220975, true }, - { 220981, false }, - { 220989, true }, - { 220998, true }, - { 221007, true }, - { 221015, true }, - { 221025, true }, - { 221033, true }, - { 221052, true }, - { 221059, true }, - { 221084, true }, + { 220934, false }, + { 220942, true }, + { 220951, true }, + { 220960, true }, + { 220968, true }, + { 220978, true }, + { 220986, true }, + { 221005, true }, + { 221012, true }, + { 221037, true }, + { 221044, true }, + { 221057, true }, + { 221071, true }, + { 221081, true }, { 221091, true }, - { 221104, true }, - { 221118, true }, - { 221128, true }, - { 221138, true }, - { 221157, true }, - { 221169, true }, - { 221184, true }, - { 221195, true }, - { 221207, true }, - { 221220, true }, - { 221228, true }, - { 221241, true }, - { 221253, true }, - { 221265, true }, - { 221284, true }, - { 221311, true }, - { 221322, false }, - { 221333, true }, - { 221348, true }, - { 221364, true }, - { 221386, true }, - { 221400, true }, - { 221413, true }, - { 221426, true }, - { 221445, true }, - { 221474, true }, - { 221490, true }, - { 221511, true }, - { 221524, true }, - { 221544, false }, - { 221571, false }, + { 221110, true }, + { 221122, true }, + { 221137, true }, + { 221148, true }, + { 221160, true }, + { 221173, true }, + { 221181, true }, + { 221194, true }, + { 221206, true }, + { 221218, true }, + { 221237, true }, + { 221264, true }, + { 221275, false }, + { 221286, true }, + { 221301, true }, + { 221317, true }, + { 221339, true }, + { 221353, true }, + { 221366, true }, + { 221379, true }, + { 221398, true }, + { 221427, true }, + { 221443, true }, + { 221464, true }, + { 221477, true }, + { 221497, false }, + { 221524, false }, + { 221540, true }, + { 221556, true }, + { 221571, true }, { 221587, true }, - { 221603, true }, - { 221618, true }, - { 221634, true }, - { 221652, true }, - { 221671, true }, - { 221680, true }, - { 221693, true }, - { 221710, true }, - { 221729, true }, - { 221742, true }, - { 221760, true }, - { 221781, true }, - { 221794, true }, - { 221813, true }, - { 221840, true }, - { 221858, true }, - { 221875, true }, - { 221898, true }, - { 221912, true }, - { 221930, true }, + { 221605, true }, + { 221624, true }, + { 221633, true }, + { 221646, true }, + { 221663, true }, + { 221682, true }, + { 221695, true }, + { 221713, true }, + { 221734, true }, + { 221747, true }, + { 221766, true }, + { 221793, true }, + { 221811, true }, + { 221828, true }, + { 221851, true }, + { 221865, true }, + { 221883, true }, + { 221901, true }, + { 221917, true }, + { 221935, true }, { 221948, true }, { 221964, true }, - { 221982, true }, + { 221985, true }, { 221995, true }, - { 222011, true }, - { 222032, true }, - { 222042, true }, - { 222055, true }, + { 222008, true }, + { 222017, true }, + { 222028, true }, + { 222038, true }, + { 222051, true }, { 222064, true }, - { 222075, true }, - { 222085, true }, - { 222098, true }, - { 222111, true }, - { 222127, true }, - { 222140, true }, - { 222155, true }, - { 222169, true }, - { 222184, true }, - { 222196, true }, - { 222212, true }, + { 222080, true }, + { 222093, true }, + { 222108, true }, + { 222122, true }, + { 222137, true }, + { 222149, true }, + { 222165, true }, + { 222181, true }, + { 222194, true }, + { 222209, true }, + { 222218, true }, { 222228, true }, - { 222241, true }, - { 222256, true }, - { 222265, true }, - { 222275, true }, - { 222284, true }, - { 222296, true }, - { 222329, true }, - { 222363, true }, - { 222397, true }, - { 222412, false }, - { 222429, true }, - { 222447, true }, - { 222471, true }, - { 222492, true }, - { 222511, true }, - { 222528, true }, - { 222552, true }, - { 222571, true }, + { 222237, true }, + { 222249, true }, + { 222282, true }, + { 222316, true }, + { 222350, true }, + { 222365, false }, + { 222382, true }, + { 222400, true }, + { 222424, true }, + { 222445, true }, + { 222464, true }, + { 222481, true }, + { 222505, true }, + { 222524, true }, + { 222537, true }, + { 222551, true }, + { 222559, true }, + { 222570, true }, { 222584, true }, - { 222598, true }, - { 222606, true }, - { 222617, true }, - { 222631, true }, - { 222643, true }, - { 222652, false }, + { 222596, true }, + { 222605, false }, + { 222615, true }, + { 222635, true }, + { 222649, true }, { 222662, true }, { 222682, true }, - { 222696, true }, - { 222709, true }, - { 222729, true }, - { 222747, true }, - { 222759, true }, - { 222774, true }, - { 222789, true }, - { 222800, true }, - { 222815, false }, - { 222832, true }, - { 222844, false }, - { 222867, true }, - { 222892, true }, + { 222700, true }, + { 222712, true }, + { 222727, true }, + { 222742, true }, + { 222753, true }, + { 222768, false }, + { 222785, true }, + { 222797, false }, + { 222820, true }, + { 222845, true }, + { 222864, true }, + { 222881, true }, + { 222898, true }, { 222911, true }, - { 222928, true }, - { 222945, true }, - { 222958, true }, - { 222969, true }, - { 222986, true }, - { 223008, true }, - { 223031, true }, - { 223044, true }, - { 223062, true }, - { 223085, true }, - { 223102, true }, - { 223112, false }, - { 223126, true }, - { 223143, true }, + { 222922, true }, + { 222939, true }, + { 222961, true }, + { 222984, true }, + { 222997, true }, + { 223015, true }, + { 223038, true }, + { 223055, true }, + { 223065, false }, + { 223079, true }, + { 223096, true }, + { 223108, true }, + { 223128, true }, + { 223145, true }, { 223155, true }, - { 223175, true }, - { 223192, true }, - { 223202, true }, - { 223217, true }, - { 223230, true }, - { 223245, true }, - { 223263, true }, + { 223170, true }, + { 223183, true }, + { 223198, true }, + { 223216, true }, + { 223227, true }, + { 223244, true }, + { 223258, true }, { 223274, true }, - { 223291, true }, - { 223305, true }, - { 223321, true }, - { 223333, true }, - { 223370, true }, - { 223389, true }, - { 223403, true }, - { 223415, true }, - { 223430, true }, - { 223443, true }, - { 223458, false }, - { 223470, true }, - { 223487, false }, - { 223502, true }, - { 223515, true }, - { 223523, true }, - { 223544, false }, - { 223556, true }, - { 223573, true }, - { 223586, true }, - { 223602, true }, - { 223632, true }, - { 223648, false }, - { 223656, true }, - { 223669, true }, + { 223286, true }, + { 223323, true }, + { 223342, true }, + { 223356, true }, + { 223368, true }, + { 223383, true }, + { 223396, true }, + { 223411, false }, + { 223423, true }, + { 223440, false }, + { 223455, true }, + { 223468, true }, + { 223476, true }, + { 223497, false }, + { 223509, true }, + { 223526, true }, + { 223539, true }, + { 223555, true }, + { 223585, true }, + { 223601, false }, + { 223609, true }, + { 223622, true }, + { 223641, true }, + { 223657, true }, + { 223670, true }, { 223688, true }, - { 223704, true }, - { 223717, true }, + { 223698, true }, + { 223709, true }, + { 223725, true }, { 223735, true }, - { 223745, true }, - { 223756, true }, - { 223772, true }, - { 223782, true }, - { 223808, true }, - { 223827, true }, - { 223840, true }, - { 223859, true }, - { 223884, true }, - { 223901, true }, - { 223915, true }, - { 223941, true }, - { 223954, true }, - { 223969, false }, - { 223980, true }, - { 224000, true }, - { 224013, true }, - { 224026, true }, + { 223761, true }, + { 223780, true }, + { 223793, true }, + { 223812, true }, + { 223837, true }, + { 223854, true }, + { 223868, true }, + { 223894, true }, + { 223907, true }, + { 223922, false }, + { 223933, true }, + { 223953, true }, + { 223966, true }, + { 223979, true }, + { 223991, true }, + { 224010, true }, + { 224023, true }, { 224038, true }, - { 224057, true }, + { 224049, true }, + { 224060, true }, { 224070, true }, - { 224085, true }, - { 224096, true }, - { 224107, true }, - { 224117, true }, - { 224127, true }, - { 224149, true }, - { 224169, true }, - { 224186, true }, - { 224204, true }, - { 224217, true }, - { 224230, true }, - { 224245, true }, - { 224256, true }, - { 224267, true }, - { 224282, true }, - { 224306, true }, - { 224322, true }, - { 224344, true }, - { 224355, true }, - { 224371, true }, - { 224387, true }, - { 224400, true }, + { 224080, true }, + { 224102, true }, + { 224122, true }, + { 224139, true }, + { 224157, true }, + { 224170, true }, + { 224183, true }, + { 224198, true }, + { 224209, true }, + { 224220, true }, + { 224235, true }, + { 224259, true }, + { 224275, true }, + { 224297, true }, + { 224308, true }, + { 224324, true }, + { 224340, true }, + { 224353, true }, + { 224377, true }, + { 224392, true }, + { 224405, true }, { 224424, true }, - { 224439, true }, - { 224452, true }, - { 224471, true }, - { 224481, true }, - { 224495, true }, - { 224506, true }, - { 224523, true }, - { 224535, true }, - { 224549, true }, - { 224566, true }, - { 224583, true }, - { 224595, true }, - { 224606, true }, - { 224621, true }, - { 224638, true }, - { 224647, true }, - { 224667, true }, - { 224684, true }, - { 224699, true }, - { 224725, true }, - { 224743, true }, - { 224753, true }, - { 224770, true }, + { 224434, true }, + { 224448, true }, + { 224459, true }, + { 224476, true }, + { 224488, true }, + { 224502, true }, + { 224519, true }, + { 224536, true }, + { 224548, true }, + { 224559, true }, + { 224574, true }, + { 224591, true }, + { 224600, true }, + { 224620, true }, + { 224637, true }, + { 224652, true }, + { 224678, true }, + { 224696, true }, + { 224706, true }, + { 224723, true }, + { 224740, true }, + { 224755, true }, + { 224771, true }, { 224787, true }, - { 224802, true }, - { 224818, true }, - { 224834, true }, - { 224853, true }, - { 224870, true }, - { 224887, true }, - { 224898, true }, - { 224909, true }, - { 224921, true }, - { 224933, true }, - { 224948, true }, - { 224966, true }, - { 224976, true }, - { 224985, true }, + { 224806, true }, + { 224823, true }, + { 224840, true }, + { 224851, true }, + { 224862, true }, + { 224874, true }, + { 224889, true }, + { 224907, true }, + { 224917, true }, + { 224926, true }, + { 224941, true }, + { 224951, true }, + { 224963, true }, + { 224977, false }, + { 224986, false }, { 224998, true }, - { 225013, true }, - { 225023, true }, - { 225035, true }, - { 225049, false }, - { 225058, false }, - { 225070, true }, - { 225081, true }, - { 225098, true }, - { 225108, true }, - { 225119, true }, - { 225128, true }, - { 225139, true }, - { 225151, true }, - { 225165, false }, - { 225178, true }, - { 225194, true }, - { 225206, true }, - { 225217, true }, - { 225231, false }, - { 225242, true }, - { 225265, true }, - { 225287, true }, - { 225295, true }, - { 225305, false }, - { 225317, true }, - { 225330, true }, - { 225338, true }, - { 225346, true }, - { 225358, true }, - { 225373, true }, - { 225383, true }, - { 225399, true }, - { 225412, true }, - { 225421, true }, - { 225435, true }, - { 225448, true }, - { 225463, true }, - { 225472, true }, - { 225481, true }, - { 225490, true }, - { 225509, true }, - { 225522, true }, - { 225537, true }, - { 225559, true }, - { 225575, true }, - { 225585, true }, - { 225598, true }, - { 225614, true }, - { 225627, true }, - { 225638, true }, - { 225650, true }, - { 225658, true }, - { 225672, true }, - { 225689, true }, - { 225712, true }, - { 225729, true }, - { 225752, true }, + { 225009, true }, + { 225026, true }, + { 225036, true }, + { 225047, true }, + { 225056, true }, + { 225067, true }, + { 225079, true }, + { 225093, false }, + { 225106, true }, + { 225122, true }, + { 225134, true }, + { 225145, true }, + { 225159, false }, + { 225170, true }, + { 225193, true }, + { 225215, true }, + { 225223, true }, + { 225233, false }, + { 225245, true }, + { 225258, true }, + { 225266, true }, + { 225274, true }, + { 225286, true }, + { 225301, true }, + { 225311, true }, + { 225327, true }, + { 225340, true }, + { 225349, true }, + { 225363, true }, + { 225376, true }, + { 225391, true }, + { 225400, true }, + { 225409, true }, + { 225418, true }, + { 225437, true }, + { 225450, true }, + { 225465, true }, + { 225487, true }, + { 225503, true }, + { 225513, true }, + { 225526, true }, + { 225542, true }, + { 225555, true }, + { 225566, true }, + { 225578, true }, + { 225586, true }, + { 225600, true }, + { 225617, true }, + { 225640, true }, + { 225657, true }, + { 225680, true }, + { 225703, true }, + { 225725, true }, + { 225738, true }, + { 225754, true }, { 225775, true }, - { 225797, true }, - { 225810, true }, - { 225826, true }, + { 225794, true }, + { 225811, true }, + { 225827, true }, { 225847, true }, - { 225866, true }, - { 225883, true }, - { 225899, true }, - { 225919, true }, - { 225932, true }, - { 225943, true }, - { 225957, true }, - { 225977, true }, - { 225997, true }, - { 226021, true }, - { 226044, true }, + { 225860, true }, + { 225871, true }, + { 225885, true }, + { 225905, true }, + { 225925, true }, + { 225949, true }, + { 225972, true }, + { 225983, true }, + { 226005, true }, + { 226030, true }, + { 226042, false }, { 226055, true }, - { 226077, true }, - { 226102, true }, - { 226114, false }, - { 226127, true }, - { 226145, true }, - { 226159, true }, - { 226173, false }, - { 226194, true }, - { 226211, true }, - { 226221, true }, - { 226233, true }, - { 226245, true }, + { 226073, true }, + { 226087, true }, + { 226101, false }, + { 226122, true }, + { 226139, true }, + { 226149, true }, + { 226161, true }, + { 226173, true }, + { 226185, true }, + { 226204, true }, + { 226230, true }, + { 226243, true }, { 226257, true }, - { 226276, true }, - { 226302, true }, - { 226315, true }, - { 226329, true }, - { 226346, true }, - { 226365, true }, - { 226382, true }, - { 226400, true }, - { 226415, true }, - { 226436, true }, - { 226457, true }, - { 226465, false }, - { 226483, true }, - { 226497, true }, - { 226519, true }, - { 226538, true }, - { 226550, true }, - { 226563, true }, - { 226575, true }, - { 226596, true }, - { 226620, true }, - { 226630, true }, + { 226274, true }, + { 226293, true }, + { 226310, true }, + { 226328, true }, + { 226343, true }, + { 226364, true }, + { 226385, true }, + { 226393, false }, + { 226411, true }, + { 226425, true }, + { 226447, true }, + { 226466, true }, + { 226478, true }, + { 226491, true }, + { 226503, true }, + { 226524, true }, + { 226548, true }, + { 226558, true }, + { 226573, true }, + { 226588, true }, + { 226605, true }, + { 226627, true }, { 226645, true }, - { 226660, true }, - { 226677, true }, - { 226699, true }, - { 226715, true }, - { 226733, true }, - { 226749, true }, - { 226768, true }, - { 226782, true }, - { 226799, true }, + { 226661, true }, + { 226680, true }, + { 226694, true }, + { 226711, true }, + { 226721, true }, + { 226736, true }, + { 226752, true }, + { 226779, true }, + { 226793, true }, { 226809, true }, { 226824, true }, - { 226840, true }, - { 226867, true }, - { 226881, true }, - { 226897, true }, - { 226912, true }, - { 226925, true }, - { 226934, true }, - { 226950, true }, - { 226966, true }, - { 226981, true }, - { 226994, true }, - { 227007, false }, - { 227018, true }, - { 227034, true }, - { 227046, true }, - { 227060, true }, - { 227077, true }, - { 227092, true }, + { 226837, true }, + { 226846, true }, + { 226862, true }, + { 226878, true }, + { 226893, true }, + { 226906, true }, + { 226919, false }, + { 226930, true }, + { 226946, true }, + { 226958, true }, + { 226972, true }, + { 226989, true }, + { 227004, true }, + { 227015, true }, + { 227031, true }, + { 227043, true }, + { 227059, true }, + { 227080, true }, { 227103, true }, - { 227119, true }, - { 227131, true }, - { 227147, true }, - { 227168, true }, - { 227191, true }, - { 227206, true }, - { 227216, true }, - { 227230, true }, - { 227239, true }, - { 227246, true }, - { 227260, true }, - { 227280, true }, + { 227118, true }, + { 227128, true }, + { 227142, true }, + { 227151, true }, + { 227158, true }, + { 227172, true }, + { 227192, true }, + { 227203, true }, + { 227217, true }, + { 227230, false }, + { 227244, true }, + { 227252, true }, + { 227263, true }, + { 227281, true }, { 227291, true }, - { 227305, true }, - { 227318, false }, - { 227332, true }, - { 227340, true }, - { 227351, true }, - { 227369, true }, - { 227379, true }, - { 227396, true }, - { 227409, true }, - { 227419, true }, - { 227430, true }, - { 227455, true }, - { 227469, true }, - { 227480, true }, - { 227491, true }, - { 227506, true }, - { 227522, false }, - { 227533, true }, - { 227548, true }, - { 227563, false }, - { 227582, true }, - { 227593, true }, - { 227603, true }, - { 227614, true }, - { 227634, true }, - { 227641, true }, - { 227653, true }, - { 227666, true }, - { 227684, false }, - { 227694, true }, - { 227703, true }, - { 227713, true }, - { 227724, true }, - { 227735, true }, - { 227747, true }, - { 227758, true }, - { 227766, true }, - { 227776, true }, - { 227787, true }, - { 227802, true }, - { 227819, true }, - { 227828, true }, - { 227835, true }, - { 227854, true }, - { 227865, true }, - { 227884, false }, - { 227895, true }, - { 227912, true }, - { 227929, true }, - { 227942, true }, - { 227958, true }, - { 227969, true }, - { 227980, true }, - { 227997, true }, - { 228014, false }, - { 228029, false }, - { 228037, true }, - { 228046, true }, - { 228069, false }, - { 228082, true }, - { 228093, true }, - { 228109, true }, - { 228117, false }, - { 228124, true }, - { 228138, true }, - { 228152, true }, - { 228172, false }, - { 228192, false }, - { 228204, false }, - { 228220, true }, - { 228232, true }, - { 228244, true }, - { 228263, true }, - { 228273, true }, - { 228297, true }, + { 227308, true }, + { 227321, true }, + { 227331, true }, + { 227342, true }, + { 227367, true }, + { 227381, true }, + { 227392, true }, + { 227403, true }, + { 227418, true }, + { 227434, false }, + { 227445, true }, + { 227460, true }, + { 227475, false }, + { 227494, true }, + { 227505, true }, + { 227515, true }, + { 227526, true }, + { 227546, true }, + { 227553, true }, + { 227565, true }, + { 227578, true }, + { 227596, false }, + { 227606, true }, + { 227615, true }, + { 227625, true }, + { 227636, true }, + { 227647, true }, + { 227659, true }, + { 227670, true }, + { 227678, true }, + { 227688, true }, + { 227699, true }, + { 227714, true }, + { 227731, true }, + { 227748, true }, + { 227757, true }, + { 227764, true }, + { 227783, true }, + { 227794, true }, + { 227813, false }, + { 227824, true }, + { 227841, true }, + { 227858, true }, + { 227871, true }, + { 227887, true }, + { 227898, true }, + { 227909, true }, + { 227926, true }, + { 227943, false }, + { 227958, false }, + { 227966, true }, + { 227975, true }, + { 227998, false }, + { 228011, true }, + { 228022, true }, + { 228038, true }, + { 228046, false }, + { 228053, true }, + { 228067, true }, + { 228081, true }, + { 228101, false }, + { 228121, false }, + { 228133, false }, + { 228149, true }, + { 228161, true }, + { 228173, true }, + { 228192, true }, + { 228202, true }, + { 228226, true }, + { 228234, true }, + { 228251, true }, + { 228267, true }, + { 228283, true }, + { 228296, true }, { 228305, true }, - { 228322, true }, - { 228338, true }, - { 228354, true }, - { 228367, true }, - { 228376, true }, - { 228388, true }, - { 228401, true }, - { 228416, true }, + { 228317, true }, + { 228330, true }, + { 228345, true }, + { 228359, true }, + { 228375, false }, + { 228390, true }, + { 228399, true }, + { 228419, true }, { 228430, true }, - { 228446, false }, - { 228461, true }, - { 228470, true }, - { 228490, true }, - { 228501, true }, - { 228509, true }, - { 228523, true }, - { 228536, true }, - { 228547, true }, - { 228557, false }, - { 228567, true }, - { 228581, true }, - { 228593, true }, - { 228603, true }, - { 228623, true }, - { 228642, false }, - { 228655, true }, - { 228671, true }, - { 228693, true }, - { 228710, true }, - { 228724, true }, - { 228737, true }, - { 228746, true }, - { 228755, true }, - { 228770, true }, - { 228784, true }, - { 228794, true }, - { 228804, true }, - { 228833, true }, - { 228845, true }, - { 228857, true }, - { 228878, true }, - { 228892, true }, - { 228903, true }, - { 228918, true }, - { 228932, true }, - { 228952, true }, - { 228968, true }, - { 228980, false }, - { 228996, true }, - { 229010, true }, - { 229025, true }, - { 229040, true }, - { 229054, true }, - { 229064, true }, - { 229077, true }, - { 229088, true }, - { 229099, true }, - { 229115, true }, - { 229131, true }, - { 229140, true }, + { 228438, true }, + { 228452, true }, + { 228465, true }, + { 228476, true }, + { 228486, false }, + { 228496, true }, + { 228510, true }, + { 228522, true }, + { 228532, true }, + { 228552, true }, + { 228571, false }, + { 228584, true }, + { 228600, true }, + { 228622, true }, + { 228639, true }, + { 228653, true }, + { 228666, true }, + { 228675, true }, + { 228684, true }, + { 228699, true }, + { 228713, true }, + { 228723, true }, + { 228733, true }, + { 228762, true }, + { 228774, true }, + { 228786, true }, + { 228807, true }, + { 228821, true }, + { 228832, true }, + { 228847, true }, + { 228861, true }, + { 228881, true }, + { 228897, true }, + { 228909, false }, + { 228925, true }, + { 228939, true }, + { 228954, true }, + { 228969, true }, + { 228983, true }, + { 228993, true }, + { 229006, true }, + { 229017, true }, + { 229028, true }, + { 229044, true }, + { 229060, true }, + { 229069, true }, + { 229079, true }, + { 229103, false }, + { 229122, false }, + { 229134, true }, { 229150, true }, - { 229174, false }, - { 229193, false }, - { 229205, true }, - { 229221, true }, - { 229249, true }, - { 229281, true }, - { 229296, true }, - { 229308, true }, - { 229319, true }, - { 229328, true }, - { 229342, true }, - { 229355, false }, - { 229368, true }, - { 229386, true }, - { 229394, true }, - { 229408, true }, - { 229422, true }, - { 229434, true }, - { 229452, true }, - { 229473, true }, - { 229488, true }, - { 229504, true }, - { 229521, true }, - { 229534, false }, - { 229542, false }, - { 229554, true }, - { 229563, true }, - { 229573, true }, - { 229584, true }, - { 229596, true }, + { 229178, true }, + { 229210, true }, + { 229225, true }, + { 229237, true }, + { 229248, true }, + { 229257, true }, + { 229271, true }, + { 229284, false }, + { 229297, true }, + { 229315, true }, + { 229323, true }, + { 229337, true }, + { 229351, true }, + { 229363, true }, + { 229381, true }, + { 229402, true }, + { 229417, true }, + { 229433, true }, + { 229450, true }, + { 229463, false }, + { 229471, false }, + { 229483, true }, + { 229492, true }, + { 229502, true }, + { 229513, true }, + { 229525, true }, + { 229541, true }, + { 229557, true }, + { 229567, true }, + { 229578, true }, + { 229589, true }, + { 229601, true }, { 229612, true }, - { 229628, true }, - { 229638, true }, - { 229649, true }, - { 229660, true }, - { 229671, true }, - { 229683, true }, - { 229693, true }, - { 229702, true }, - { 229721, true }, - { 229749, true }, - { 229763, true }, - { 229777, true }, - { 229796, true }, - { 229818, true }, - { 229840, true }, - { 229862, true }, + { 229624, true }, + { 229634, true }, + { 229643, true }, + { 229662, true }, + { 229690, true }, + { 229704, true }, + { 229718, true }, + { 229737, true }, + { 229759, true }, + { 229781, true }, + { 229803, true }, + { 229821, true }, + { 229838, true }, + { 229854, true }, + { 229865, true }, { 229880, true }, - { 229897, true }, - { 229913, true }, - { 229924, true }, - { 229939, true }, - { 229955, true }, - { 229968, false }, - { 229984, true }, - { 230000, true }, + { 229896, true }, + { 229909, false }, + { 229925, true }, + { 229941, true }, + { 229954, true }, + { 229972, true }, + { 229986, true }, + { 229998, true }, { 230013, true }, - { 230031, true }, - { 230049, true }, - { 230063, true }, - { 230075, true }, - { 230090, true }, - { 230110, true }, - { 230129, true }, - { 230148, true }, - { 230161, true }, - { 230177, true }, - { 230190, true }, - { 230205, true }, - { 230221, true }, - { 230238, true }, - { 230257, true }, - { 230273, true }, - { 230290, true }, - { 230303, true }, - { 230318, true }, - { 230335, true }, - { 230354, true }, - { 230369, true }, - { 230382, true }, - { 230398, true }, - { 230409, true }, - { 230422, true }, - { 230436, true }, - { 230450, false }, - { 230466, true }, - { 230485, true }, - { 230505, true }, - { 230525, true }, - { 230539, true }, - { 230551, true }, + { 230033, true }, + { 230052, true }, + { 230071, true }, + { 230084, true }, + { 230100, true }, + { 230113, true }, + { 230128, true }, + { 230145, true }, + { 230164, true }, + { 230180, true }, + { 230197, true }, + { 230210, true }, + { 230225, true }, + { 230242, true }, + { 230261, true }, + { 230276, true }, + { 230289, true }, + { 230305, true }, + { 230316, true }, + { 230329, true }, + { 230343, true }, + { 230357, false }, + { 230373, true }, + { 230392, true }, + { 230412, true }, + { 230432, true }, + { 230446, true }, + { 230458, true }, + { 230473, true }, + { 230484, true }, + { 230495, true }, + { 230511, true }, + { 230535, true }, + { 230550, true }, { 230566, true }, - { 230577, true }, - { 230588, true }, - { 230604, true }, - { 230628, true }, - { 230643, true }, - { 230659, true }, - { 230685, true }, + { 230592, true }, + { 230609, true }, + { 230630, true }, + { 230647, true }, + { 230665, true }, + { 230683, false }, { 230702, true }, - { 230723, true }, - { 230740, true }, - { 230758, true }, - { 230776, false }, - { 230795, true }, - { 230806, true }, - { 230822, true }, - { 230836, true }, + { 230713, true }, + { 230729, true }, + { 230743, true }, + { 230756, true }, + { 230770, true }, + { 230791, true }, + { 230804, true }, + { 230817, true }, + { 230832, true }, { 230849, true }, - { 230863, true }, - { 230884, true }, - { 230897, true }, - { 230910, true }, - { 230925, true }, - { 230942, true }, - { 230957, true }, - { 230973, true }, - { 230984, true }, - { 230992, true }, - { 231001, true }, - { 231011, true }, - { 231022, true }, + { 230864, true }, + { 230880, true }, + { 230891, true }, + { 230899, true }, + { 230908, true }, + { 230918, true }, + { 230929, true }, + { 230941, true }, + { 230955, true }, + { 230972, true }, + { 230981, true }, + { 230994, true }, + { 231013, true }, { 231034, true }, - { 231048, true }, - { 231065, true }, - { 231074, true }, - { 231087, true }, - { 231106, true }, - { 231127, true }, - { 231135, true }, - { 231154, true }, - { 231171, false }, - { 231186, true }, - { 231199, false }, - { 231215, true }, - { 231230, false }, - { 231242, true }, + { 231042, true }, + { 231061, true }, + { 231078, false }, + { 231093, true }, + { 231106, false }, + { 231122, true }, + { 231137, false }, + { 231149, true }, + { 231169, true }, + { 231184, true }, + { 231197, true }, + { 231217, true }, + { 231239, true }, { 231262, true }, - { 231277, true }, - { 231290, true }, - { 231310, true }, - { 231332, true }, - { 231355, true }, - { 231373, true }, - { 231389, true }, - { 231401, true }, - { 231419, true }, - { 231431, true }, - { 231445, true }, - { 231454, true }, - { 231468, true }, - { 231476, true }, - { 231485, true }, - { 231501, true }, - { 231519, true }, - { 231529, true }, - { 231549, true }, - { 231566, true }, - { 231580, true }, - { 231600, true }, - { 231611, true }, - { 231624, true }, - { 231639, true }, - { 231651, true }, - { 231667, true }, - { 231680, true }, - { 231701, true }, + { 231280, true }, + { 231296, true }, + { 231308, true }, + { 231326, true }, + { 231338, true }, + { 231352, true }, + { 231361, true }, + { 231375, true }, + { 231383, true }, + { 231392, true }, + { 231408, true }, + { 231426, true }, + { 231436, true }, + { 231456, true }, + { 231473, true }, + { 231487, true }, + { 231507, true }, + { 231518, true }, + { 231531, true }, + { 231546, true }, + { 231558, true }, + { 231574, true }, + { 231587, true }, + { 231608, true }, + { 231616, true }, + { 231626, true }, + { 231643, true }, + { 231666, true }, + { 231675, true }, + { 231685, true }, + { 231698, true }, { 231709, true }, - { 231719, true }, - { 231736, true }, - { 231759, true }, - { 231768, true }, - { 231778, true }, - { 231791, true }, - { 231802, true }, - { 231817, true }, - { 231830, false }, - { 231840, true }, - { 231854, true }, - { 231874, true }, - { 231887, true }, - { 231907, false }, - { 231930, true }, - { 231943, true }, - { 231954, true }, - { 231965, true }, - { 231975, true }, - { 231986, true }, - { 232011, true }, - { 232021, true }, - { 232035, true }, + { 231724, true }, + { 231737, false }, + { 231747, true }, + { 231761, true }, + { 231781, true }, + { 231794, true }, + { 231814, false }, + { 231837, true }, + { 231850, true }, + { 231861, true }, + { 231872, true }, + { 231882, true }, + { 231893, true }, + { 231918, true }, + { 231928, true }, + { 231942, true }, + { 231956, true }, + { 231969, false }, + { 231984, true }, + { 231998, true }, + { 232023, true }, + { 232037, true }, { 232049, true }, - { 232062, false }, - { 232077, true }, - { 232091, true }, - { 232116, true }, - { 232130, true }, - { 232142, true }, - { 232154, true }, - { 232166, true }, - { 232180, true }, - { 232190, false }, - { 232210, true }, - { 232220, true }, - { 232234, true }, - { 232244, true }, - { 232257, true }, - { 232272, true }, - { 232281, true }, - { 232291, true }, - { 232305, true }, - { 232314, false }, - { 232325, true }, - { 232336, true }, - { 232347, true }, - { 232358, true }, - { 232368, true }, - { 232376, true }, - { 232385, false }, + { 232061, true }, + { 232073, true }, + { 232087, true }, + { 232097, false }, + { 232117, true }, + { 232127, true }, + { 232141, true }, + { 232151, true }, + { 232164, true }, + { 232179, true }, + { 232188, true }, + { 232198, true }, + { 232212, true }, + { 232221, false }, + { 232232, true }, + { 232243, true }, + { 232254, true }, + { 232265, true }, + { 232275, true }, + { 232283, true }, + { 232292, false }, + { 232312, true }, + { 232327, true }, + { 232339, true }, + { 232351, true }, + { 232366, true }, + { 232385, true }, { 232405, true }, - { 232420, true }, - { 232432, true }, - { 232444, true }, - { 232459, true }, - { 232478, true }, - { 232498, true }, - { 232526, true }, - { 232551, true }, - { 232561, true }, - { 232574, true }, - { 232588, true }, - { 232603, true }, - { 232629, true }, - { 232646, true }, - { 232661, true }, - { 232669, true }, - { 232684, true }, - { 232705, false }, - { 232723, true }, - { 232735, true }, - { 232757, true }, - { 232773, true }, - { 232788, true }, - { 232799, true }, - { 232821, true }, - { 232835, true }, - { 232856, true }, - { 232870, true }, - { 232887, true }, - { 232906, true }, - { 232927, true }, - { 232946, true }, - { 232959, true }, - { 232979, true }, - { 232995, true }, - { 233021, true }, - { 233041, true }, - { 233062, true }, - { 233081, true }, - { 233105, true }, - { 233124, true }, - { 233140, true }, - { 233165, true }, - { 233191, true }, - { 233202, true }, + { 232433, true }, + { 232458, true }, + { 232468, true }, + { 232481, true }, + { 232495, true }, + { 232510, true }, + { 232536, true }, + { 232553, true }, + { 232568, true }, + { 232576, true }, + { 232591, true }, + { 232612, false }, + { 232630, true }, + { 232642, true }, + { 232664, true }, + { 232680, true }, + { 232695, true }, + { 232706, true }, + { 232728, true }, + { 232742, true }, + { 232763, true }, + { 232777, true }, + { 232794, true }, + { 232813, true }, + { 232834, true }, + { 232853, true }, + { 232866, true }, + { 232886, true }, + { 232902, true }, + { 232928, true }, + { 232948, true }, + { 232969, true }, + { 232988, true }, + { 233012, true }, + { 233031, true }, + { 233047, true }, + { 233072, true }, + { 233098, true }, + { 233109, true }, + { 233133, true }, + { 233159, true }, + { 233177, true }, + { 233188, true }, + { 233210, true }, { 233226, true }, - { 233252, true }, - { 233270, true }, - { 233281, true }, - { 233303, true }, - { 233319, true }, + { 233243, true }, + { 233260, true }, + { 233278, true }, + { 233288, true }, + { 233302, true }, + { 233318, true }, { 233336, true }, - { 233354, true }, - { 233364, true }, - { 233378, true }, - { 233394, true }, - { 233412, true }, + { 233353, true }, + { 233375, true }, + { 233398, true }, + { 233410, true }, { 233429, true }, - { 233451, true }, - { 233474, true }, - { 233486, true }, - { 233505, true }, - { 233523, true }, - { 233546, true }, - { 233559, true }, - { 233575, true }, - { 233593, true }, - { 233611, true }, - { 233625, true }, - { 233643, true }, + { 233447, true }, + { 233470, true }, + { 233483, true }, + { 233499, true }, + { 233517, true }, + { 233535, true }, + { 233549, true }, + { 233567, true }, + { 233582, true }, + { 233599, true }, + { 233613, true }, + { 233640, true }, { 233658, true }, - { 233675, true }, - { 233689, true }, - { 233716, true }, - { 233734, true }, - { 233748, true }, - { 233766, true }, - { 233782, true }, - { 233798, true }, - { 233811, true }, - { 233831, true }, - { 233849, true }, - { 233868, true }, - { 233881, true }, + { 233672, true }, + { 233690, true }, + { 233706, true }, + { 233722, true }, + { 233735, true }, + { 233755, true }, + { 233773, true }, + { 233792, true }, + { 233805, true }, + { 233841, true }, + { 233864, true }, + { 233884, true }, + { 233899, true }, { 233917, true }, - { 233940, true }, - { 233960, true }, - { 233975, true }, + { 233934, true }, + { 233945, true }, + { 233963, true }, { 233993, true }, - { 234010, true }, - { 234021, true }, + { 234009, true }, + { 234024, true }, { 234039, true }, - { 234069, true }, - { 234085, true }, + { 234050, true }, + { 234064, true }, + { 234086, true }, { 234100, true }, { 234115, true }, - { 234126, true }, - { 234140, true }, - { 234162, true }, - { 234176, true }, - { 234191, true }, - { 234206, true }, - { 234227, true }, - { 234240, true }, - { 234255, true }, - { 234268, true }, - { 234291, true }, - { 234300, true }, - { 234322, true }, - { 234332, true }, - { 234351, true }, - { 234372, true }, - { 234396, true }, - { 234422, true }, - { 234440, true }, - { 234451, true }, + { 234130, true }, + { 234151, true }, + { 234164, true }, + { 234179, true }, + { 234192, true }, + { 234215, true }, + { 234224, true }, + { 234246, true }, + { 234256, true }, + { 234275, true }, + { 234296, true }, + { 234320, true }, + { 234346, true }, + { 234364, true }, + { 234375, true }, + { 234392, true }, + { 234410, true }, + { 234425, true }, + { 234441, true }, + { 234455, true }, { 234468, true }, - { 234486, true }, - { 234501, true }, - { 234517, true }, - { 234531, true }, - { 234544, true }, - { 234560, true }, - { 234579, true }, + { 234484, true }, + { 234503, true }, + { 234521, true }, + { 234545, true }, + { 234558, true }, + { 234575, true }, { 234597, true }, - { 234621, true }, - { 234634, true }, - { 234651, true }, - { 234673, true }, - { 234692, true }, - { 234712, true }, - { 234729, false }, - { 234744, true }, - { 234762, true }, - { 234784, true }, - { 234800, true }, - { 234819, true }, - { 234831, true }, - { 234857, true }, - { 234869, true }, - { 234881, true }, - { 234897, true }, - { 234915, true }, - { 234934, true }, - { 234954, true }, - { 234974, true }, - { 234990, true }, - { 235009, true }, - { 235020, true }, - { 235050, false }, - { 235064, true }, - { 235081, true }, - { 235102, true }, - { 235122, true }, - { 235136, true }, - { 235154, true }, - { 235171, true }, - { 235187, true }, - { 235197, true }, - { 235207, true }, - { 235223, true }, - { 235234, true }, - { 235246, true }, - { 235265, true }, - { 235281, true }, - { 235301, true }, - { 235315, true }, + { 234616, true }, + { 234636, true }, + { 234653, false }, + { 234668, true }, + { 234686, true }, + { 234708, true }, + { 234724, true }, + { 234743, true }, + { 234755, true }, + { 234781, true }, + { 234793, true }, + { 234805, true }, + { 234821, true }, + { 234839, true }, + { 234858, true }, + { 234878, true }, + { 234898, true }, + { 234914, true }, + { 234933, true }, + { 234944, true }, + { 234974, false }, + { 234988, true }, + { 235005, true }, + { 235026, true }, + { 235046, true }, + { 235060, true }, + { 235078, true }, + { 235095, true }, + { 235111, true }, + { 235121, true }, + { 235131, true }, + { 235147, true }, + { 235158, true }, + { 235170, true }, + { 235189, true }, + { 235205, true }, + { 235225, true }, + { 235239, true }, + { 235252, true }, + { 235263, true }, + { 235284, true }, + { 235312, true }, { 235328, true }, - { 235339, true }, - { 235360, true }, - { 235388, true }, - { 235404, true }, - { 235417, true }, - { 235442, true }, - { 235459, true }, - { 235476, false }, - { 235491, true }, - { 235516, true }, - { 235537, true }, - { 235546, true }, - { 235556, true }, - { 235568, true }, + { 235341, true }, + { 235366, true }, + { 235383, true }, + { 235400, false }, + { 235415, true }, + { 235440, true }, + { 235461, true }, + { 235470, true }, + { 235480, true }, + { 235492, true }, + { 235507, true }, + { 235526, true }, + { 235545, true }, + { 235562, true }, { 235583, true }, - { 235602, true }, - { 235621, true }, - { 235638, true }, - { 235659, true }, - { 235676, true }, - { 235692, false }, - { 235710, true }, + { 235600, true }, + { 235616, false }, + { 235634, true }, + { 235651, true }, + { 235664, true }, + { 235688, true }, + { 235706, true }, { 235727, true }, - { 235740, true }, - { 235764, true }, - { 235782, true }, - { 235803, true }, - { 235818, true }, - { 235833, true }, - { 235845, true }, - { 235870, true }, - { 235883, true }, - { 235905, true }, + { 235742, true }, + { 235757, true }, + { 235769, true }, + { 235794, true }, + { 235807, true }, + { 235829, true }, + { 235839, true }, + { 235856, true }, + { 235875, true }, + { 235888, true }, + { 235902, true }, { 235915, true }, - { 235932, true }, - { 235951, true }, - { 235964, true }, - { 235978, true }, - { 235991, true }, - { 236015, true }, - { 236029, true }, - { 236051, true }, - { 236084, true }, - { 236099, true }, + { 235939, true }, + { 235953, true }, + { 235975, true }, + { 236008, true }, + { 236023, true }, + { 236037, true }, + { 236046, true }, + { 236055, true }, + { 236069, true }, + { 236079, false }, + { 236093, true }, + { 236102, true }, { 236113, true }, - { 236122, true }, - { 236131, true }, - { 236145, true }, - { 236155, false }, - { 236169, true }, - { 236178, true }, - { 236189, true }, - { 236203, true }, - { 236214, true }, - { 236232, true }, - { 236247, true }, - { 236260, true }, - { 236270, true }, - { 236285, true }, - { 236298, true }, - { 236317, true }, - { 236337, true }, - { 236360, true }, - { 236367, true }, - { 236383, true }, - { 236398, true }, + { 236127, true }, + { 236138, true }, + { 236156, true }, + { 236171, true }, + { 236184, true }, + { 236194, true }, + { 236209, true }, + { 236222, true }, + { 236241, true }, + { 236261, true }, + { 236284, true }, + { 236291, true }, + { 236307, true }, + { 236322, true }, + { 236340, true }, + { 236361, true }, + { 236373, true }, + { 236403, true }, { 236416, true }, - { 236437, true }, - { 236449, true }, - { 236479, true }, + { 236426, true }, + { 236438, true }, + { 236452, true }, + { 236466, true }, + { 236481, true }, { 236492, true }, - { 236502, true }, - { 236514, true }, + { 236505, true }, + { 236517, true }, { 236528, true }, { 236542, true }, - { 236557, true }, - { 236568, true }, - { 236581, true }, - { 236593, true }, - { 236604, true }, - { 236618, true }, - { 236637, true }, - { 236652, true }, - { 236664, true }, - { 236676, true }, - { 236687, true }, - { 236702, true }, - { 236717, true }, - { 236729, true }, - { 236745, true }, - { 236760, true }, - { 236774, true }, - { 236790, true }, - { 236799, true }, - { 236808, true }, - { 236819, false }, - { 236834, true }, - { 236848, true }, - { 236857, true }, - { 236873, true }, - { 236886, true }, - { 236896, true }, - { 236909, true }, - { 236929, true }, - { 236943, true }, - { 236956, false }, - { 236976, true }, - { 236989, true }, - { 237003, true }, - { 237017, true }, - { 237028, true }, - { 237045, true }, + { 236561, true }, + { 236576, true }, + { 236588, true }, + { 236600, true }, + { 236611, true }, + { 236626, true }, + { 236641, true }, + { 236653, true }, + { 236669, true }, + { 236684, true }, + { 236698, true }, + { 236714, true }, + { 236723, true }, + { 236732, true }, + { 236743, false }, + { 236758, true }, + { 236772, true }, + { 236781, true }, + { 236797, true }, + { 236810, true }, + { 236820, true }, + { 236833, true }, + { 236853, true }, + { 236867, true }, + { 236880, false }, + { 236900, true }, + { 236914, true }, + { 236928, true }, + { 236939, true }, + { 236956, true }, + { 236970, true }, + { 236982, true }, + { 236996, true }, + { 237008, true }, + { 237020, true }, + { 237032, true }, + { 237044, true }, { 237059, true }, - { 237071, true }, - { 237085, true }, - { 237097, true }, - { 237109, true }, - { 237121, true }, - { 237133, true }, - { 237148, true }, - { 237161, true }, - { 237178, true }, - { 237205, true }, - { 237218, true }, - { 237232, true }, - { 237257, true }, - { 237275, true }, - { 237287, true }, - { 237298, true }, - { 237306, true }, - { 237318, true }, + { 237072, true }, + { 237089, true }, + { 237116, true }, + { 237129, true }, + { 237143, true }, + { 237168, true }, + { 237186, true }, + { 237198, true }, + { 237209, true }, + { 237217, true }, + { 237229, true }, + { 237242, true }, + { 237269, true }, + { 237278, true }, + { 237293, true }, + { 237311, true }, + { 237318, false }, { 237331, true }, - { 237358, true }, - { 237367, true }, - { 237382, true }, - { 237400, true }, - { 237407, true }, - { 237415, true }, - { 237425, true }, - { 237445, true }, - { 237454, true }, - { 237464, true }, - { 237472, true }, - { 237485, true }, - { 237494, true }, - { 237506, true }, - { 237515, true }, - { 237528, true }, - { 237537, true }, - { 237547, true }, - { 237557, true }, + { 237339, true }, + { 237349, true }, + { 237369, true }, + { 237378, true }, + { 237388, true }, + { 237396, true }, + { 237409, true }, + { 237418, true }, + { 237430, true }, + { 237439, true }, + { 237452, true }, + { 237461, true }, + { 237471, true }, + { 237481, true }, + { 237491, true }, + { 237501, true }, + { 237511, true }, + { 237520, true }, + { 237527, true }, + { 237543, true }, + { 237560, true }, { 237567, true }, - { 237577, true }, - { 237587, true }, - { 237596, true }, - { 237603, true }, - { 237619, true }, - { 237636, true }, - { 237643, true }, - { 237657, true }, - { 237674, true }, - { 237686, true }, - { 237706, true }, + { 237581, true }, + { 237598, true }, + { 237610, true }, + { 237630, true }, + { 237639, true }, + { 237656, true }, + { 237664, true }, + { 237671, true }, + { 237680, true }, + { 237689, true }, + { 237701, true }, { 237715, true }, { 237732, true }, - { 237740, true }, - { 237747, true }, - { 237756, true }, - { 237765, true }, - { 237777, true }, - { 237791, true }, - { 237808, true }, - { 237824, true }, - { 237840, true }, - { 237859, true }, - { 237877, true }, - { 237895, true }, - { 237912, true }, - { 237927, true }, - { 237942, true }, - { 237960, true }, - { 237977, true }, - { 237987, true }, - { 237996, true }, - { 238006, true }, - { 238016, true }, + { 237748, true }, + { 237764, true }, + { 237783, true }, + { 237801, true }, + { 237819, true }, + { 237836, true }, + { 237851, true }, + { 237866, true }, + { 237884, true }, + { 237901, true }, + { 237911, true }, + { 237920, true }, + { 237930, true }, + { 237940, true }, + { 237950, true }, + { 237962, true }, + { 237980, true }, + { 237997, true }, + { 238011, true }, { 238026, true }, - { 238038, true }, - { 238056, true }, - { 238073, true }, - { 238087, true }, - { 238102, true }, - { 238117, true }, - { 238129, true }, - { 238143, true }, - { 238151, true }, - { 238161, true }, - { 238174, true }, - { 238184, true }, - { 238199, true }, - { 238211, true }, + { 238041, true }, + { 238053, true }, + { 238067, true }, + { 238075, true }, + { 238085, true }, + { 238098, true }, + { 238108, true }, + { 238123, true }, + { 238135, true }, + { 238149, true }, + { 238158, true }, + { 238167, false }, + { 238179, true }, + { 238192, false }, { 238225, true }, - { 238234, true }, - { 238243, false }, - { 238255, true }, - { 238268, false }, - { 238301, true }, - { 238316, true }, - { 238327, true }, - { 238350, true }, - { 238363, true }, - { 238374, true }, + { 238240, true }, + { 238251, true }, + { 238274, true }, + { 238287, true }, + { 238298, true }, + { 238312, true }, + { 238332, true }, + { 238345, true }, + { 238359, true }, + { 238372, true }, { 238388, true }, - { 238408, true }, - { 238421, true }, - { 238435, true }, - { 238448, true }, - { 238464, true }, - { 238474, true }, - { 238488, true }, - { 238506, true }, - { 238520, true }, - { 238536, true }, - { 238551, true }, - { 238573, true }, - { 238583, true }, - { 238595, true }, - { 238609, true }, - { 238625, true }, - { 238637, true }, - { 238647, true }, + { 238398, true }, + { 238412, true }, + { 238430, true }, + { 238444, true }, + { 238460, true }, + { 238475, true }, + { 238497, true }, + { 238507, true }, + { 238519, true }, + { 238533, true }, + { 238549, true }, + { 238561, true }, + { 238571, true }, + { 238584, true }, + { 238601, true }, + { 238615, true }, + { 238623, true }, + { 238635, true }, + { 238649, true }, { 238660, true }, + { 238669, true }, { 238677, true }, - { 238691, true }, - { 238699, true }, - { 238711, true }, - { 238725, true }, - { 238736, true }, - { 238745, true }, - { 238753, true }, - { 238765, false }, - { 238773, true }, - { 238784, true }, - { 238800, true }, - { 238811, true }, - { 238824, true }, - { 238836, false }, - { 238850, true }, - { 238863, true }, - { 238874, true }, - { 238884, true }, - { 238898, true }, - { 238917, true }, - { 238928, true }, - { 238942, true }, - { 238953, true }, - { 238964, true }, - { 238975, true }, - { 238986, true }, - { 238997, true }, - { 239011, true }, - { 239023, true }, + { 238689, false }, + { 238697, true }, + { 238708, true }, + { 238724, true }, + { 238735, true }, + { 238748, true }, + { 238760, false }, + { 238774, true }, + { 238787, true }, + { 238798, true }, + { 238808, true }, + { 238822, true }, + { 238841, true }, + { 238852, true }, + { 238866, true }, + { 238877, true }, + { 238888, true }, + { 238899, true }, + { 238910, true }, + { 238921, true }, + { 238935, true }, + { 238947, true }, + { 238962, true }, + { 238976, true }, + { 238991, true }, + { 239004, true }, + { 239020, true }, + { 239029, true }, { 239038, true }, { 239052, true }, - { 239067, true }, - { 239080, true }, - { 239096, true }, - { 239105, true }, - { 239114, true }, - { 239128, true }, - { 239139, true }, - { 239150, false }, - { 239166, true }, - { 239177, true }, - { 239188, true }, - { 239198, true }, + { 239063, true }, + { 239074, false }, + { 239090, true }, + { 239101, true }, + { 239112, true }, + { 239122, true }, + { 239138, true }, + { 239145, false }, + { 239159, true }, + { 239172, true }, + { 239181, true }, + { 239191, true }, + { 239204, true }, { 239214, true }, - { 239221, false }, - { 239235, true }, - { 239248, true }, - { 239257, true }, - { 239270, true }, - { 239280, true }, - { 239304, true }, - { 239317, true }, - { 239327, true }, - { 239340, true }, - { 239354, true }, - { 239366, true }, - { 239380, true }, - { 239401, true }, - { 239416, true }, - { 239430, true }, + { 239238, true }, + { 239251, true }, + { 239261, true }, + { 239274, true }, + { 239288, true }, + { 239300, true }, + { 239314, true }, + { 239335, true }, + { 239350, true }, + { 239364, true }, + { 239376, true }, + { 239391, false }, + { 239410, true }, + { 239420, true }, + { 239432, true }, { 239442, true }, - { 239457, false }, - { 239476, true }, - { 239486, true }, - { 239498, true }, - { 239508, true }, - { 239520, true }, - { 239537, true }, - { 239554, true }, - { 239573, true }, - { 239582, false }, - { 239597, true }, - { 239615, false }, - { 239627, true }, - { 239653, true }, - { 239664, true }, - { 239685, true }, - { 239700, true }, - { 239718, true }, - { 239735, true }, - { 239748, true }, + { 239454, true }, + { 239471, true }, + { 239488, true }, + { 239507, true }, + { 239516, false }, + { 239531, true }, + { 239549, false }, + { 239561, true }, + { 239587, true }, + { 239598, true }, + { 239619, true }, + { 239634, true }, + { 239652, true }, + { 239669, true }, + { 239682, true }, + { 239698, true }, + { 239713, true }, + { 239728, true }, + { 239740, true }, + { 239751, true }, { 239764, true }, - { 239779, true }, - { 239794, true }, - { 239806, true }, - { 239817, true }, - { 239830, true }, - { 239840, true }, - { 239858, true }, - { 239878, true }, - { 239897, true }, - { 239925, true }, - { 239939, true }, - { 239958, true }, + { 239774, true }, + { 239792, true }, + { 239812, true }, + { 239831, true }, + { 239859, true }, + { 239873, true }, + { 239892, true }, + { 239913, true }, + { 239922, true }, + { 239946, false }, + { 239965, true }, { 239979, true }, - { 239988, true }, - { 240012, false }, - { 240031, true }, - { 240045, true }, + { 239997, true }, + { 240012, true }, + { 240029, true }, + { 240049, true }, { 240063, true }, - { 240078, true }, - { 240095, true }, - { 240115, true }, - { 240129, true }, - { 240139, true }, - { 240160, true }, - { 240178, true }, - { 240191, true }, - { 240212, true }, - { 240224, true }, - { 240235, true }, + { 240073, true }, + { 240094, true }, + { 240112, true }, + { 240125, true }, + { 240146, true }, + { 240158, true }, + { 240169, true }, + { 240184, true }, + { 240199, true }, + { 240210, true }, + { 240231, true }, { 240250, true }, - { 240265, true }, - { 240276, true }, - { 240297, true }, - { 240316, true }, - { 240327, true }, - { 240356, true }, - { 240381, true }, + { 240261, true }, + { 240290, true }, + { 240315, true }, + { 240336, true }, + { 240343, true }, + { 240355, true }, + { 240371, true }, + { 240386, true }, { 240402, true }, - { 240409, true }, - { 240421, true }, - { 240437, true }, - { 240452, true }, - { 240468, true }, - { 240485, true }, - { 240507, true }, - { 240517, true }, - { 240529, true }, - { 240541, true }, - { 240558, true }, - { 240567, true }, - { 240580, false }, - { 240593, false }, - { 240613, true }, - { 240623, true }, + { 240419, true }, + { 240441, true }, + { 240451, true }, + { 240463, true }, + { 240475, true }, + { 240492, true }, + { 240501, true }, + { 240514, false }, + { 240527, false }, + { 240547, true }, + { 240557, true }, + { 240569, true }, + { 240586, true }, + { 240602, true }, + { 240617, true }, { 240635, true }, - { 240652, true }, - { 240668, true }, - { 240683, true }, - { 240701, true }, - { 240714, true }, - { 240729, true }, - { 240742, true }, + { 240648, true }, + { 240663, true }, + { 240676, true }, + { 240692, true }, + { 240710, true }, + { 240722, true }, + { 240741, true }, { 240758, true }, - { 240776, true }, - { 240788, true }, - { 240807, true }, - { 240824, true }, - { 240835, true }, - { 240855, true }, - { 240866, true }, - { 240885, true }, - { 240911, true }, - { 240930, true }, - { 240949, true }, - { 240959, true }, - { 240974, true }, - { 240986, true }, - { 241006, true }, - { 241024, true }, - { 241041, true }, - { 241054, true }, - { 241067, true }, - { 241080, true }, - { 241093, true }, - { 241106, true }, - { 241130, true }, + { 240769, true }, + { 240789, true }, + { 240800, true }, + { 240819, true }, + { 240845, true }, + { 240864, true }, + { 240883, true }, + { 240893, true }, + { 240908, true }, + { 240920, true }, + { 240940, true }, + { 240958, true }, + { 240975, true }, + { 240988, true }, + { 241001, true }, + { 241014, true }, + { 241027, true }, + { 241040, true }, + { 241064, true }, + { 241075, true }, + { 241087, true }, + { 241102, true }, + { 241118, true }, + { 241128, true }, { 241141, true }, - { 241153, true }, - { 241168, true }, - { 241184, true }, - { 241194, true }, - { 241207, true }, - { 241225, true }, - { 241243, true }, - { 241262, true }, + { 241159, true }, + { 241177, true }, + { 241196, true }, + { 241208, true }, + { 241221, true }, + { 241239, true }, + { 241261, true }, { 241274, true }, - { 241287, true }, - { 241305, true }, - { 241327, true }, - { 241340, true }, - { 241362, true }, - { 241379, true }, - { 241395, true }, - { 241423, true }, - { 241448, true }, - { 241480, true }, - { 241499, true }, - { 241519, true }, - { 241534, true }, - { 241554, true }, - { 241567, true }, - { 241592, true }, - { 241608, true }, - { 241625, true }, - { 241642, true }, - { 241654, true }, - { 241667, true }, - { 241680, true }, - { 241705, true }, - { 241723, true }, - { 241737, true }, - { 241758, true }, - { 241770, true }, - { 241785, true }, - { 241802, true }, - { 241814, true }, - { 241847, true }, - { 241866, true }, - { 241883, true }, + { 241296, true }, + { 241313, true }, + { 241329, true }, + { 241357, true }, + { 241382, true }, + { 241414, true }, + { 241433, true }, + { 241453, true }, + { 241468, true }, + { 241488, true }, + { 241501, true }, + { 241526, true }, + { 241542, true }, + { 241559, true }, + { 241576, true }, + { 241588, true }, + { 241601, true }, + { 241614, true }, + { 241639, true }, + { 241657, true }, + { 241671, true }, + { 241692, true }, + { 241704, true }, + { 241719, true }, + { 241736, true }, + { 241748, true }, + { 241781, true }, + { 241800, true }, + { 241817, true }, + { 241835, true }, + { 241861, true }, + { 241876, true }, + { 241887, true }, { 241901, true }, - { 241927, true }, - { 241942, true }, - { 241953, true }, - { 241967, true }, - { 241986, true }, - { 242003, true }, - { 242018, true }, - { 242028, true }, - { 242040, true }, - { 242060, true }, - { 242074, true }, - { 242088, true }, - { 242098, true }, - { 242111, true }, - { 242130, true }, - { 242142, true }, - { 242156, true }, - { 242165, true }, - { 242179, true }, - { 242193, true }, - { 242203, true }, - { 242215, true }, - { 242226, true }, - { 242244, false }, - { 242252, true }, - { 242268, true }, - { 242280, true }, + { 241920, true }, + { 241937, true }, + { 241952, true }, + { 241962, true }, + { 241974, true }, + { 241994, true }, + { 242008, true }, + { 242022, true }, + { 242032, true }, + { 242045, true }, + { 242064, true }, + { 242076, true }, + { 242090, true }, + { 242099, true }, + { 242113, true }, + { 242127, true }, + { 242137, true }, + { 242149, true }, + { 242160, true }, + { 242178, false }, + { 242186, true }, + { 242202, true }, + { 242214, true }, + { 242225, true }, + { 242237, true }, + { 242248, true }, + { 242260, true }, + { 242272, true }, + { 242281, true }, { 242291, true }, - { 242303, true }, - { 242314, true }, - { 242326, true }, - { 242338, true }, + { 242305, true }, + { 242319, true }, + { 242333, true }, { 242347, true }, - { 242357, true }, - { 242371, true }, - { 242385, true }, - { 242399, true }, - { 242413, true }, - { 242431, true }, - { 242442, true }, - { 242450, true }, - { 242466, true }, - { 242484, true }, - { 242504, true }, - { 242512, true }, - { 242533, true }, - { 242544, true }, - { 242559, true }, - { 242574, false }, - { 242592, false }, - { 242613, true }, - { 242622, true }, - { 242645, true }, - { 242668, true }, - { 242685, true }, - { 242697, true }, - { 242718, true }, - { 242744, true }, - { 242761, true }, - { 242778, true }, - { 242798, true }, - { 242811, true }, - { 242825, true }, - { 242847, true }, - { 242864, true }, - { 242881, true }, - { 242901, true }, + { 242365, true }, + { 242376, true }, + { 242384, true }, + { 242400, true }, + { 242415, true }, + { 242433, true }, + { 242453, true }, + { 242461, true }, + { 242482, true }, + { 242493, true }, + { 242508, true }, + { 242523, false }, + { 242541, false }, + { 242562, true }, + { 242571, true }, + { 242594, true }, + { 242617, true }, + { 242634, true }, + { 242646, true }, + { 242667, true }, + { 242693, true }, + { 242710, true }, + { 242727, true }, + { 242747, true }, + { 242760, true }, + { 242774, true }, + { 242796, true }, + { 242813, true }, + { 242830, true }, + { 242850, true }, + { 242875, true }, + { 242900, true }, { 242926, true }, - { 242951, true }, - { 242977, true }, - { 242993, true }, - { 243004, true }, - { 243022, true }, - { 243031, true }, - { 243041, true }, - { 243052, true }, - { 243065, true }, + { 242942, true }, + { 242953, true }, + { 242971, true }, + { 242980, true }, + { 242990, true }, + { 243001, true }, + { 243015, true }, + { 243024, true }, + { 243037, true }, + { 243059, true }, + { 243071, true }, { 243079, true }, - { 243088, true }, + { 243093, true }, { 243101, true }, - { 243123, true }, - { 243135, true }, - { 243143, true }, - { 243157, true }, - { 243165, true }, - { 243176, true }, - { 243186, true }, - { 243196, true }, + { 243112, true }, + { 243122, true }, + { 243132, true }, + { 243139, true }, + { 243150, true }, + { 243162, true }, + { 243172, true }, + { 243179, true }, + { 243191, true }, { 243203, true }, - { 243214, true }, - { 243226, true }, - { 243236, true }, - { 243243, true }, - { 243255, true }, + { 243216, true }, + { 243225, true }, + { 243235, true }, + { 243245, true }, + { 243256, true }, { 243267, true }, - { 243280, true }, - { 243289, true }, - { 243299, true }, + { 243275, true }, + { 243296, true }, { 243309, true }, - { 243320, true }, - { 243331, true }, - { 243339, true }, - { 243360, true }, - { 243373, true }, - { 243385, true }, - { 243396, true }, - { 243410, true }, - { 243436, true }, - { 243466, false }, - { 243480, true }, - { 243496, true }, - { 243512, true }, - { 243525, true }, - { 243537, true }, - { 243552, true }, - { 243565, true }, - { 243586, true }, - { 243602, true }, - { 243614, true }, - { 243624, true }, - { 243646, true }, - { 243677, true }, - { 243694, true }, - { 243711, true }, - { 243724, true }, - { 243735, false }, - { 243746, true }, - { 243756, true }, - { 243768, true }, - { 243780, true }, - { 243794, true }, - { 243805, false }, - { 243818, false }, - { 243838, true }, - { 243848, true }, - { 243856, false }, - { 243865, true }, - { 243878, true }, - { 243936, true }, - { 243982, true }, - { 244036, true }, - { 244083, true }, - { 244132, true }, - { 244177, true }, - { 244227, true }, - { 244281, true }, - { 244327, true }, - { 244374, true }, - { 244428, true }, - { 244455, true }, - { 244488, true }, - { 244501, true }, - { 244514, true }, - { 244530, true }, - { 244553, true }, - { 244569, true }, - { 244582, true }, - { 244598, true }, - { 244608, true }, - { 244619, false }, - { 244631, true }, - { 244648, true }, - { 244665, true }, - { 244683, true }, + { 243321, true }, + { 243332, true }, + { 243346, true }, + { 243372, true }, + { 243402, false }, + { 243416, true }, + { 243432, true }, + { 243448, true }, + { 243461, true }, + { 243473, true }, + { 243488, true }, + { 243501, true }, + { 243522, true }, + { 243538, true }, + { 243550, true }, + { 243560, true }, + { 243582, true }, + { 243613, true }, + { 243630, true }, + { 243647, true }, + { 243660, true }, + { 243671, false }, + { 243682, true }, + { 243692, true }, + { 243704, true }, + { 243716, true }, + { 243730, true }, + { 243741, false }, + { 243754, false }, + { 243774, true }, + { 243784, true }, + { 243792, false }, + { 243801, true }, + { 243814, true }, + { 243872, true }, + { 243918, true }, + { 243972, true }, + { 244019, true }, + { 244068, true }, + { 244113, true }, + { 244163, true }, + { 244217, true }, + { 244263, true }, + { 244310, true }, + { 244364, true }, + { 244391, true }, + { 244424, true }, + { 244437, true }, + { 244450, true }, + { 244466, true }, + { 244489, true }, + { 244505, true }, + { 244518, true }, + { 244534, true }, + { 244544, true }, + { 244555, false }, + { 244567, true }, + { 244584, true }, + { 244601, true }, + { 244619, true }, + { 244633, true }, + { 244651, true }, + { 244667, true }, + { 244678, true }, + { 244689, true }, { 244697, true }, - { 244715, true }, + { 244707, true }, + { 244714, true }, + { 244723, true }, { 244731, true }, - { 244742, true }, - { 244753, true }, - { 244761, true }, - { 244771, true }, - { 244778, true }, - { 244787, true }, - { 244795, true }, - { 244805, true }, - { 244816, true }, + { 244741, true }, + { 244752, true }, + { 244759, true }, + { 244777, true }, + { 244796, true }, + { 244809, true }, { 244823, true }, - { 244841, true }, - { 244860, true }, - { 244873, true }, - { 244887, true }, - { 244899, true }, - { 244913, true }, - { 244928, true }, + { 244835, true }, + { 244849, true }, + { 244864, true }, + { 244876, true }, + { 244889, true }, + { 244900, true }, + { 244921, true }, + { 244931, true }, { 244940, true }, - { 244953, true }, - { 244964, true }, - { 244985, true }, - { 244995, true }, - { 245004, true }, - { 245013, true }, - { 245020, true }, - { 245027, true }, - { 245051, true }, - { 245065, true }, - { 245075, true }, - { 245092, false }, - { 245107, true }, - { 245119, true }, - { 245133, true }, - { 245145, true }, - { 245159, true }, - { 245170, true }, - { 245182, true }, - { 245189, true }, - { 245201, true }, + { 244949, true }, + { 244956, true }, + { 244963, true }, + { 244987, true }, + { 245001, true }, + { 245011, true }, + { 245028, false }, + { 245043, true }, + { 245055, true }, + { 245069, true }, + { 245081, true }, + { 245095, true }, + { 245106, true }, + { 245118, true }, + { 245130, true }, + { 245137, true }, + { 245149, true }, + { 245162, true }, + { 245172, true }, + { 245183, true }, + { 245199, true }, { 245214, true }, { 245224, true }, - { 245240, true }, + { 245243, true }, { 245255, true }, - { 245265, true }, - { 245284, true }, - { 245296, true }, - { 245303, true }, - { 245319, true }, - { 245341, true }, - { 245352, true }, - { 245367, true }, - { 245390, true }, - { 245397, true }, - { 245407, true }, - { 245418, true }, - { 245428, true }, - { 245440, true }, - { 245456, true }, - { 245466, true }, - { 245473, true }, - { 245480, true }, - { 245492, true }, - { 245503, true }, - { 245513, true }, - { 245525, true }, - { 245535, false }, - { 245555, false }, + { 245262, true }, + { 245278, true }, + { 245300, true }, + { 245311, true }, + { 245326, true }, + { 245349, true }, + { 245356, true }, + { 245366, true }, + { 245377, true }, + { 245387, true }, + { 245399, true }, + { 245415, true }, + { 245425, true }, + { 245432, true }, + { 245439, true }, + { 245451, true }, + { 245462, true }, + { 245472, true }, + { 245484, true }, + { 245494, false }, + { 245514, false }, + { 245537, true }, + { 245561, true }, + { 245571, false }, { 245578, true }, - { 245602, true }, - { 245612, false }, - { 245619, true }, - { 245630, true }, + { 245589, true }, + { 245601, true }, + { 245614, true }, + { 245628, true }, { 245642, true }, { 245655, true }, - { 245669, true }, - { 245683, true }, - { 245696, true }, - { 245707, true }, - { 245723, false }, - { 245744, true }, - { 245754, true }, - { 245765, true }, - { 245792, true }, - { 245815, true }, - { 245839, true }, - { 245862, true }, - { 245877, true }, - { 245891, true }, - { 245902, true }, - { 245916, true }, - { 245936, true }, - { 245950, true }, + { 245666, true }, + { 245682, false }, + { 245703, true }, + { 245713, true }, + { 245724, true }, + { 245751, true }, + { 245774, true }, + { 245798, true }, + { 245821, true }, + { 245836, true }, + { 245850, true }, + { 245861, true }, + { 245875, true }, + { 245895, true }, + { 245909, true }, + { 245920, true }, + { 245935, true }, + { 245948, true }, { 245961, true }, { 245976, true }, - { 245989, true }, - { 246002, true }, - { 246017, true }, - { 246033, true }, - { 246047, true }, - { 246062, true }, - { 246076, true }, - { 246092, true }, - { 246106, true }, - { 246120, true }, - { 246138, true }, - { 246156, true }, - { 246176, true }, - { 246195, true }, - { 246211, true }, - { 246226, true }, - { 246240, true }, - { 246260, true }, - { 246276, true }, + { 245992, true }, + { 246006, true }, + { 246021, true }, + { 246035, true }, + { 246051, true }, + { 246065, true }, + { 246079, true }, + { 246097, true }, + { 246115, true }, + { 246135, true }, + { 246154, true }, + { 246170, true }, + { 246185, true }, + { 246199, true }, + { 246219, true }, + { 246235, true }, + { 246250, true }, + { 246264, true }, + { 246280, true }, { 246291, true }, - { 246305, true }, - { 246321, true }, - { 246332, true }, - { 246342, false }, - { 246366, true }, - { 246380, true }, - { 246395, true }, - { 246409, true }, - { 246419, true }, - { 246437, true }, - { 246454, true }, - { 246467, true }, - { 246480, true }, - { 246497, true }, - { 246514, false }, - { 246531, true }, - { 246544, true }, - { 246561, true }, - { 246582, true }, - { 246595, true }, - { 246608, true }, + { 246301, false }, + { 246325, true }, + { 246339, true }, + { 246354, true }, + { 246368, true }, + { 246378, true }, + { 246396, true }, + { 246413, true }, + { 246426, true }, + { 246439, true }, + { 246456, true }, + { 246473, false }, + { 246490, true }, + { 246503, true }, + { 246520, true }, + { 246541, true }, + { 246554, true }, + { 246567, true }, + { 246587, true }, + { 246605, true }, + { 246615, true }, { 246628, true }, - { 246646, true }, - { 246656, true }, - { 246669, true }, - { 246683, true }, - { 246697, false }, - { 246708, true }, - { 246725, true }, - { 246739, true }, - { 246758, true }, - { 246781, true }, - { 246809, true }, - { 246825, true }, + { 246642, true }, + { 246656, false }, + { 246667, true }, + { 246684, true }, + { 246698, true }, + { 246717, true }, + { 246740, true }, + { 246768, true }, + { 246784, true }, + { 246796, true }, + { 246810, false }, + { 246823, true }, { 246837, true }, - { 246851, false }, - { 246864, true }, - { 246878, true }, - { 246891, true }, - { 246901, true }, - { 246910, true }, - { 246922, true }, - { 246935, true }, + { 246850, true }, + { 246860, true }, + { 246869, true }, + { 246881, true }, + { 246894, true }, + { 246907, true }, + { 246923, true }, + { 246933, true }, { 246948, true }, - { 246964, true }, - { 246974, true }, - { 246989, true }, - { 246997, true }, - { 247008, true }, - { 247023, true }, - { 247040, true }, + { 246956, true }, + { 246967, true }, + { 246982, true }, + { 246999, true }, + { 247006, true }, + { 247016, true }, + { 247026, true }, { 247047, true }, - { 247057, true }, - { 247067, true }, - { 247088, true }, - { 247104, true }, - { 247123, true }, - { 247143, true }, - { 247158, true }, - { 247166, true }, - { 247185, true }, + { 247063, true }, + { 247082, true }, + { 247102, true }, + { 247117, true }, + { 247125, true }, + { 247144, true }, + { 247155, true }, + { 247171, true }, + { 247186, true }, { 247196, true }, - { 247212, true }, - { 247227, true }, - { 247237, true }, - { 247245, true }, - { 247256, true }, - { 247269, true }, - { 247280, true }, - { 247295, false }, - { 247315, true }, - { 247330, true }, - { 247352, true }, - { 247362, true }, - { 247377, true }, - { 247390, true }, - { 247401, true }, - { 247411, true }, - { 247423, true }, - { 247447, true }, - { 247460, true }, - { 247473, true }, - { 247485, true }, - { 247499, true }, - { 247510, true }, - { 247527, true }, - { 247543, true }, - { 247559, true }, - { 247575, true }, + { 247204, true }, + { 247215, true }, + { 247228, true }, + { 247239, true }, + { 247254, false }, + { 247274, true }, + { 247289, true }, + { 247311, true }, + { 247321, true }, + { 247336, true }, + { 247349, true }, + { 247360, true }, + { 247370, true }, + { 247382, true }, + { 247406, true }, + { 247419, true }, + { 247432, true }, + { 247444, true }, + { 247458, true }, + { 247469, true }, + { 247486, true }, + { 247502, true }, + { 247518, true }, + { 247534, true }, + { 247553, true }, + { 247573, true }, + { 247584, true }, { 247594, true }, - { 247614, true }, - { 247625, true }, - { 247635, true }, - { 247646, true }, - { 247654, false }, - { 247661, true }, - { 247674, true }, - { 247685, true }, - { 247695, true }, - { 247709, true }, - { 247724, true }, - { 247734, true }, - { 247752, true }, - { 247766, true }, - { 247785, true }, - { 247797, true }, - { 247824, false }, - { 247833, true }, - { 247846, false }, - { 247869, true }, - { 247880, true }, - { 247887, true }, - { 247894, true }, - { 247905, true }, + { 247605, true }, + { 247613, false }, + { 247620, true }, + { 247633, true }, + { 247644, true }, + { 247654, true }, + { 247668, true }, + { 247683, true }, + { 247693, true }, + { 247711, true }, + { 247725, true }, + { 247744, true }, + { 247756, true }, + { 247783, false }, + { 247792, true }, + { 247805, false }, + { 247828, true }, + { 247839, true }, + { 247846, true }, + { 247853, true }, + { 247864, true }, + { 247877, true }, + { 247893, true }, + { 247906, true }, { 247918, true }, - { 247934, true }, - { 247947, true }, - { 247959, true }, - { 247977, true }, + { 247936, true }, + { 247946, true }, + { 247963, true }, + { 247978, true }, { 247987, true }, - { 248004, true }, - { 248019, true }, - { 248028, true }, - { 248039, true }, - { 248050, true }, - { 248068, true }, - { 248082, true }, - { 248094, false }, - { 248103, true }, - { 248113, true }, + { 247998, true }, + { 248009, true }, + { 248027, true }, + { 248041, true }, + { 248053, false }, + { 248062, true }, + { 248072, true }, + { 248084, true }, + { 248096, true }, + { 248109, true }, { 248125, true }, - { 248137, true }, - { 248150, true }, - { 248166, true }, - { 248185, true }, - { 248204, true }, - { 248219, true }, - { 248229, true }, - { 248248, true }, - { 248266, true }, - { 248278, true }, - { 248297, true }, - { 248305, false }, - { 248320, true }, - { 248327, true }, - { 248339, true }, - { 248348, true }, - { 248363, true }, - { 248372, true }, - { 248383, false }, - { 248393, true }, - { 248402, true }, - { 248411, true }, - { 248419, true }, - { 248438, true }, - { 248451, true }, - { 248473, true }, - { 248491, true }, - { 248504, true }, - { 248520, true }, - { 248529, true }, - { 248539, true }, - { 248555, true }, - { 248567, true }, - { 248578, true }, - { 248593, true }, - { 248607, true }, - { 248622, true }, - { 248640, true }, - { 248652, true }, - { 248662, true }, + { 248144, true }, + { 248163, true }, + { 248178, true }, + { 248188, true }, + { 248207, true }, + { 248225, true }, + { 248237, true }, + { 248256, true }, + { 248264, false }, + { 248279, true }, + { 248286, true }, + { 248298, true }, + { 248307, true }, + { 248322, true }, + { 248331, true }, + { 248342, false }, + { 248352, true }, + { 248361, true }, + { 248370, true }, + { 248378, true }, + { 248397, true }, + { 248410, true }, + { 248432, true }, + { 248450, true }, + { 248463, true }, + { 248479, true }, + { 248488, true }, + { 248498, true }, + { 248514, true }, + { 248526, true }, + { 248537, true }, + { 248552, true }, + { 248566, true }, + { 248581, true }, + { 248599, true }, + { 248611, true }, + { 248621, true }, + { 248645, true }, + { 248665, true }, { 248686, true }, - { 248706, true }, + { 248699, true }, + { 248715, true }, { 248727, true }, - { 248740, true }, - { 248756, true }, - { 248768, true }, - { 248782, true }, - { 248799, true }, - { 248818, true }, - { 248828, true }, - { 248850, true }, - { 248865, true }, - { 248879, true }, - { 248892, true }, - { 248901, true }, - { 248912, true }, - { 248925, true }, - { 248936, true }, - { 248950, true }, - { 248965, true }, - { 248979, true }, - { 248994, true }, - { 249017, false }, + { 248741, true }, + { 248758, true }, + { 248777, true }, + { 248787, true }, + { 248809, true }, + { 248824, true }, + { 248838, true }, + { 248851, true }, + { 248860, true }, + { 248871, true }, + { 248884, true }, + { 248895, true }, + { 248909, true }, + { 248924, true }, + { 248938, true }, + { 248953, true }, + { 248976, false }, + { 248989, true }, + { 249001, true }, + { 249015, true }, { 249030, true }, - { 249042, true }, - { 249056, true }, - { 249065, true }, - { 249077, true }, - { 249087, true }, + { 249039, true }, + { 249051, true }, + { 249061, true }, + { 249075, true }, + { 249088, true }, { 249101, true }, - { 249114, true }, - { 249127, true }, + { 249120, true }, + { 249134, true }, { 249146, true }, - { 249160, true }, - { 249172, true }, - { 249184, true }, - { 249200, true }, + { 249158, true }, + { 249174, true }, + { 249192, true }, { 249218, true }, - { 249244, true }, - { 249262, false }, - { 249275, true }, - { 249293, true }, - { 249303, true }, - { 249313, true }, + { 249236, false }, + { 249249, true }, + { 249267, true }, + { 249277, true }, + { 249287, true }, + { 249304, true }, + { 249315, true }, { 249330, true }, - { 249341, true }, - { 249356, true }, - { 249368, true }, - { 249384, true }, - { 249392, true }, - { 249402, true }, - { 249412, true }, - { 249422, true }, - { 249434, true }, - { 249444, true }, - { 249454, true }, - { 249465, true }, - { 249485, true }, - { 249493, false }, - { 249514, true }, - { 249527, true }, - { 249536, true }, - { 249550, true }, - { 249560, true }, + { 249342, true }, + { 249358, true }, + { 249366, true }, + { 249376, true }, + { 249386, true }, + { 249396, true }, + { 249408, true }, + { 249418, true }, + { 249428, true }, + { 249439, true }, + { 249459, true }, + { 249467, false }, + { 249488, true }, + { 249501, true }, + { 249510, true }, + { 249524, true }, + { 249534, true }, + { 249547, true }, + { 249557, true }, { 249573, true }, - { 249583, true }, - { 249599, true }, - { 249610, false }, - { 249630, true }, - { 249640, true }, - { 249647, true }, - { 249657, true }, - { 249667, true }, - { 249682, true }, - { 249696, true }, - { 249713, true }, - { 249730, true }, - { 249750, true }, - { 249763, true }, - { 249781, true }, - { 249797, true }, - { 249806, true }, + { 249584, false }, + { 249604, true }, + { 249614, true }, + { 249621, true }, + { 249631, true }, + { 249641, true }, + { 249656, true }, + { 249670, true }, + { 249687, true }, + { 249704, true }, + { 249724, true }, + { 249737, true }, + { 249755, true }, + { 249771, true }, + { 249780, true }, + { 249810, true }, { 249836, true }, - { 249862, true }, - { 249882, true }, - { 249890, true }, - { 249909, true }, - { 249923, true }, - { 249932, true }, - { 249947, true }, - { 249972, true }, - { 249991, true }, - { 250001, true }, - { 250022, true }, - { 250034, true }, - { 250049, true }, - { 250062, true }, - { 250078, true }, - { 250090, true }, - { 250107, true }, - { 250118, true }, - { 250135, true }, - { 250153, true }, - { 250169, true }, - { 250189, true }, - { 250211, true }, - { 250224, true }, - { 250234, true }, - { 250256, true }, - { 250277, true }, - { 250296, true }, - { 250317, true }, - { 250330, true }, - { 250354, true }, - { 250365, true }, - { 250377, true }, - { 250389, true }, - { 250411, true }, - { 250421, true }, - { 250439, true }, - { 250451, false }, - { 250468, true }, - { 250500, true }, - { 250511, true }, - { 250521, true }, - { 250534, true }, - { 250543, true }, - { 250556, true }, - { 250567, true }, - { 250578, true }, - { 250588, true }, - { 250595, true }, - { 250606, true }, - { 250620, true }, - { 250633, false }, - { 250645, true }, - { 250665, true }, - { 250678, true }, - { 250688, true }, - { 250701, true }, - { 250722, true }, - { 250732, true }, - { 250749, true }, - { 250763, true }, - { 250780, true }, - { 250798, true }, - { 250805, true }, - { 250823, false }, - { 250841, false }, - { 250859, false }, - { 250876, true }, - { 250898, true }, - { 250911, true }, - { 250924, false }, - { 250938, true }, - { 250953, true }, - { 250965, true }, - { 250986, true }, - { 251004, true }, - { 251019, true }, - { 251044, true }, - { 251062, true }, - { 251078, true }, + { 249856, true }, + { 249864, true }, + { 249883, true }, + { 249897, true }, + { 249906, true }, + { 249921, true }, + { 249946, true }, + { 249965, true }, + { 249975, true }, + { 249996, true }, + { 250008, true }, + { 250023, true }, + { 250036, true }, + { 250052, true }, + { 250064, true }, + { 250081, true }, + { 250092, true }, + { 250109, true }, + { 250127, true }, + { 250143, true }, + { 250163, true }, + { 250185, true }, + { 250198, true }, + { 250208, true }, + { 250230, true }, + { 250251, true }, + { 250270, true }, + { 250291, true }, + { 250304, true }, + { 250328, true }, + { 250339, true }, + { 250351, true }, + { 250363, true }, + { 250385, true }, + { 250395, true }, + { 250413, true }, + { 250425, false }, + { 250442, true }, + { 250474, true }, + { 250485, true }, + { 250495, true }, + { 250508, true }, + { 250517, true }, + { 250530, true }, + { 250541, true }, + { 250552, true }, + { 250562, true }, + { 250569, true }, + { 250580, true }, + { 250594, true }, + { 250607, false }, + { 250619, true }, + { 250639, true }, + { 250652, true }, + { 250662, true }, + { 250675, true }, + { 250696, true }, + { 250706, true }, + { 250723, true }, + { 250737, true }, + { 250754, true }, + { 250772, true }, + { 250779, true }, + { 250797, false }, + { 250815, false }, + { 250833, false }, + { 250850, true }, + { 250872, true }, + { 250885, true }, + { 250898, false }, + { 250912, true }, + { 250927, true }, + { 250939, true }, + { 250960, true }, + { 250978, true }, + { 250993, true }, + { 251018, true }, + { 251036, true }, + { 251052, true }, + { 251080, true }, + { 251095, true }, { 251106, true }, - { 251121, true }, - { 251132, true }, - { 251155, false }, - { 251173, true }, - { 251188, true }, - { 251200, true }, - { 251213, true }, - { 251242, true }, - { 251260, true }, - { 251283, true }, - { 251302, true }, - { 251319, true }, + { 251129, false }, + { 251147, true }, + { 251162, true }, + { 251174, true }, + { 251187, true }, + { 251216, true }, + { 251234, true }, + { 251257, true }, + { 251276, true }, + { 251293, true }, + { 251303, true }, + { 251318, true }, { 251329, true }, - { 251344, true }, - { 251355, true }, - { 251379, false }, - { 251394, true }, - { 251409, true }, - { 251427, true }, - { 251441, true }, - { 251456, true }, - { 251468, true }, - { 251491, true }, - { 251505, true }, - { 251528, true }, - { 251553, true }, - { 251565, true }, - { 251581, true }, - { 251605, true }, - { 251623, true }, - { 251637, true }, - { 251648, true }, - { 251666, false }, - { 251689, true }, - { 251709, true }, - { 251727, true }, - { 251747, true }, - { 251757, true }, - { 251770, true }, - { 251781, true }, - { 251794, true }, - { 251811, true }, - { 251822, true }, - { 251833, true }, - { 251855, true }, - { 251873, false }, - { 251887, true }, - { 251901, true }, - { 251919, true }, - { 251939, true }, - { 251953, true }, - { 251962, true }, - { 251978, true }, - { 251996, true }, - { 252008, true }, - { 252023, true }, - { 252038, true }, - { 252051, true }, - { 252063, true }, - { 252075, true }, - { 252086, true }, + { 251353, false }, + { 251368, true }, + { 251383, true }, + { 251401, true }, + { 251415, true }, + { 251430, true }, + { 251442, true }, + { 251465, true }, + { 251479, true }, + { 251502, true }, + { 251527, true }, + { 251539, true }, + { 251555, true }, + { 251579, true }, + { 251597, true }, + { 251611, true }, + { 251622, true }, + { 251640, false }, + { 251663, true }, + { 251683, true }, + { 251701, true }, + { 251721, true }, + { 251731, true }, + { 251744, true }, + { 251755, true }, + { 251768, true }, + { 251785, true }, + { 251796, true }, + { 251807, true }, + { 251829, true }, + { 251847, false }, + { 251861, true }, + { 251875, true }, + { 251893, true }, + { 251913, true }, + { 251927, true }, + { 251936, true }, + { 251952, true }, + { 251970, true }, + { 251982, true }, + { 251997, true }, + { 252012, true }, + { 252025, true }, + { 252037, true }, + { 252049, true }, + { 252060, true }, + { 252071, true }, + { 252084, true }, { 252097, true }, - { 252110, true }, - { 252123, true }, - { 252137, true }, - { 252148, true }, - { 252159, true }, - { 252172, true }, - { 252186, true }, - { 252196, true }, - { 252205, true }, - { 252222, true }, - { 252232, true }, - { 252242, true }, - { 252255, true }, - { 252264, true }, - { 252274, true }, - { 252285, true }, - { 252295, true }, - { 252303, true }, - { 252311, false }, - { 252325, true }, - { 252333, false }, - { 252353, true }, - { 252363, true }, - { 252377, true }, - { 252391, true }, - { 252401, true }, + { 252111, true }, + { 252122, true }, + { 252136, true }, + { 252147, true }, + { 252160, true }, + { 252174, true }, + { 252184, true }, + { 252193, true }, + { 252210, true }, + { 252220, true }, + { 252230, true }, + { 252243, true }, + { 252252, true }, + { 252262, true }, + { 252273, true }, + { 252283, true }, + { 252291, true }, + { 252299, false }, + { 252313, true }, + { 252321, false }, + { 252341, true }, + { 252351, true }, + { 252365, true }, + { 252379, true }, + { 252389, true }, + { 252400, true }, { 252412, true }, - { 252424, true }, + { 252423, true }, { 252435, true }, - { 252447, true }, - { 252457, true }, - { 252466, true }, - { 252477, true }, + { 252445, true }, + { 252454, true }, + { 252465, true }, + { 252478, true }, { 252490, true }, { 252502, true }, { 252514, true }, - { 252526, true }, - { 252537, true }, - { 252551, false }, + { 252525, true }, + { 252539, false }, + { 252555, true }, { 252567, true }, - { 252579, true }, - { 252595, true }, - { 252610, true }, - { 252624, true }, + { 252583, true }, + { 252598, true }, + { 252612, true }, + { 252621, true }, { 252633, true }, - { 252645, true }, - { 252655, true }, - { 252671, true }, - { 252686, true }, - { 252701, true }, - { 252717, true }, - { 252732, true }, - { 252747, true }, + { 252643, true }, + { 252659, true }, + { 252674, true }, + { 252689, true }, + { 252705, true }, + { 252720, true }, + { 252735, true }, + { 252757, true }, { 252769, true }, - { 252781, true }, - { 252788, true }, - { 252803, true }, - { 252814, true }, - { 252824, true }, - { 252839, true }, - { 252853, true }, - { 252867, true }, - { 252878, true }, - { 252891, true }, - { 252902, true }, - { 252912, false }, - { 252927, true }, - { 252943, true }, - { 252952, true }, - { 252962, true }, - { 252969, true }, + { 252776, true }, + { 252791, true }, + { 252802, true }, + { 252812, true }, + { 252827, true }, + { 252841, true }, + { 252855, true }, + { 252866, true }, + { 252879, true }, + { 252890, true }, + { 252900, false }, + { 252915, true }, + { 252931, true }, + { 252940, true }, + { 252950, true }, + { 252957, true }, + { 252968, true }, { 252980, true }, - { 252992, true }, + { 253002, true }, { 253014, true }, { 253026, true }, - { 253038, true }, - { 253052, true }, - { 253075, true }, - { 253122, true }, - { 253157, true }, - { 253193, true }, - { 253230, true }, - { 253263, true }, - { 253301, true }, - { 253336, true }, - { 253371, true }, - { 253411, true }, - { 253447, true }, - { 253490, true }, - { 253516, true }, - { 253529, true }, - { 253538, true }, - { 253548, true }, - { 253558, true }, - { 253585, true }, - { 253594, true }, - { 253603, true }, - { 253620, true }, + { 253040, true }, + { 253063, true }, + { 253110, true }, + { 253145, true }, + { 253181, true }, + { 253218, true }, + { 253251, true }, + { 253289, true }, + { 253324, true }, + { 253359, true }, + { 253399, true }, + { 253435, true }, + { 253478, true }, + { 253504, true }, + { 253517, true }, + { 253526, true }, + { 253536, true }, + { 253546, true }, + { 253573, true }, + { 253582, true }, + { 253591, true }, + { 253608, true }, + { 253625, true }, { 253637, true }, - { 253649, true }, - { 253662, true }, - { 253675, true }, - { 253702, true }, + { 253650, true }, + { 253663, true }, + { 253690, true }, + { 253697, true }, { 253709, true }, - { 253721, true }, - { 253732, true }, - { 253741, true }, - { 253758, true }, - { 253774, true }, + { 253720, true }, + { 253729, true }, + { 253746, true }, + { 253762, true }, + { 253773, true }, { 253785, true }, - { 253797, true }, - { 253810, true }, + { 253798, true }, + { 253822, true }, { 253834, true }, - { 253846, true }, + { 253845, true }, { 253853, true }, - { 253864, true }, - { 253872, true }, - { 253882, true }, - { 253889, true }, - { 253909, true }, - { 253921, true }, - { 253939, true }, - { 253951, true }, - { 253962, true }, - { 253974, true }, - { 253984, true }, - { 253996, true }, - { 254016, true }, - { 254038, true }, - { 254047, true }, - { 254055, true }, - { 254064, true }, + { 253863, true }, + { 253870, true }, + { 253890, true }, + { 253902, true }, + { 253920, true }, + { 253932, true }, + { 253943, true }, + { 253955, true }, + { 253965, true }, + { 253977, true }, + { 253997, true }, + { 254019, true }, + { 254028, true }, + { 254036, true }, + { 254045, true }, + { 254054, true }, { 254073, true }, - { 254092, true }, - { 254106, true }, - { 254127, true }, - { 254140, true }, - { 254152, true }, - { 254180, true }, - { 254204, true }, - { 254216, true }, - { 254234, true }, - { 254252, false }, - { 254266, true }, - { 254281, true }, - { 254296, true }, - { 254305, true }, - { 254322, true }, - { 254343, true }, - { 254353, true }, + { 254087, true }, + { 254108, true }, + { 254121, true }, + { 254133, true }, + { 254161, true }, + { 254185, true }, + { 254197, true }, + { 254215, true }, + { 254233, false }, + { 254247, true }, + { 254262, true }, + { 254277, true }, + { 254286, true }, + { 254303, true }, + { 254324, true }, + { 254334, true }, + { 254348, true }, + { 254356, true }, { 254367, true }, - { 254375, true }, - { 254386, true }, - { 254401, true }, - { 254417, true }, - { 254433, true }, - { 254456, true }, - { 254466, true }, - { 254476, true }, - { 254492, true }, - { 254503, true }, - { 254514, true }, - { 254526, true }, - { 254537, true }, - { 254550, true }, - { 254564, true }, - { 254581, false }, - { 254597, true }, - { 254613, true }, - { 254625, false }, - { 254644, true }, - { 254654, true }, - { 254672, true }, - { 254687, true }, - { 254709, true }, - { 254732, true }, - { 254743, true }, - { 254753, true }, - { 254770, true }, - { 254780, true }, + { 254382, true }, + { 254398, true }, + { 254414, true }, + { 254437, true }, + { 254447, true }, + { 254457, true }, + { 254473, true }, + { 254484, true }, + { 254495, true }, + { 254507, true }, + { 254518, true }, + { 254531, true }, + { 254545, true }, + { 254562, false }, + { 254578, true }, + { 254594, true }, + { 254606, false }, + { 254625, true }, + { 254635, true }, + { 254653, true }, + { 254668, true }, + { 254690, true }, + { 254713, true }, + { 254724, true }, + { 254734, true }, + { 254751, true }, + { 254761, true }, + { 254777, true }, { 254796, true }, - { 254815, true }, - { 254830, true }, - { 254846, true }, - { 254863, true }, - { 254883, true }, - { 254900, true }, - { 254912, true }, - { 254927, true }, + { 254811, true }, + { 254827, true }, + { 254844, true }, + { 254864, true }, + { 254881, true }, + { 254893, true }, + { 254908, true }, + { 254922, true }, { 254941, true }, - { 254960, true }, - { 254976, true }, - { 254985, true }, - { 255001, true }, - { 255018, true }, - { 255030, true }, - { 255042, true }, + { 254957, true }, + { 254966, true }, + { 254982, true }, + { 254999, true }, + { 255011, true }, + { 255023, true }, + { 255035, true }, + { 255044, true }, { 255054, true }, - { 255063, true }, - { 255073, true }, - { 255090, true }, + { 255071, true }, + { 255089, true }, + { 255100, true }, { 255108, true }, - { 255119, true }, - { 255127, true }, - { 255137, true }, - { 255152, true }, - { 255162, true }, - { 255172, false }, - { 255179, true }, - { 255189, true }, - { 255205, true }, - { 255221, true }, - { 255242, true }, - { 255262, true }, - { 255285, true }, - { 255305, true }, - { 255321, true }, - { 255336, true }, - { 255354, true }, - { 255365, false }, + { 255118, true }, + { 255133, true }, + { 255143, true }, + { 255153, false }, + { 255160, true }, + { 255170, true }, + { 255186, true }, + { 255202, true }, + { 255223, true }, + { 255243, true }, + { 255266, true }, + { 255286, true }, + { 255302, true }, + { 255317, true }, + { 255335, true }, + { 255346, false }, + { 255370, true }, { 255389, true }, - { 255408, true }, - { 255421, true }, - { 255437, true }, - { 255451, true }, - { 255463, true }, - { 255475, true }, - { 255486, true }, - { 255496, false }, - { 255510, false }, - { 255523, true }, - { 255537, true }, - { 255555, true }, - { 255578, true }, - { 255601, true }, - { 255619, true }, - { 255632, true }, - { 255644, true }, - { 255655, true }, - { 255666, true }, - { 255681, true }, - { 255695, true }, - { 255720, true }, - { 255753, true }, - { 255779, true }, - { 255813, true }, - { 255836, true }, - { 255849, true }, - { 255862, true }, - { 255878, true }, - { 255895, true }, - { 255912, true }, - { 255924, true }, - { 255936, true }, - { 255952, false }, - { 255972, true }, - { 255985, false }, - { 256003, false }, - { 256026, true }, - { 256046, true }, - { 256062, true }, - { 256076, true }, - { 256097, true }, - { 256112, false }, - { 256125, true }, - { 256140, true }, - { 256157, true }, - { 256171, true }, - { 256185, true }, - { 256198, true }, - { 256210, true }, - { 256222, true }, - { 256238, true }, - { 256253, false }, - { 256275, true }, - { 256295, true }, - { 256311, false }, - { 256323, true }, - { 256339, true }, - { 256357, true }, - { 256369, true }, - { 256383, true }, - { 256397, true }, - { 256414, true }, - { 256431, true }, - { 256445, true }, - { 256455, false }, - { 256469, true }, - { 256479, true }, - { 256489, true }, - { 256510, true }, - { 256523, true }, - { 256541, true }, - { 256557, true }, - { 256570, true }, - { 256581, true }, - { 256594, true }, - { 256615, true }, - { 256626, true }, - { 256639, true }, - { 256659, true }, - { 256676, true }, - { 256688, true }, - { 256702, true }, - { 256712, true }, - { 256729, true }, + { 255402, true }, + { 255418, true }, + { 255432, true }, + { 255444, true }, + { 255456, true }, + { 255467, true }, + { 255477, false }, + { 255491, false }, + { 255504, true }, + { 255518, true }, + { 255536, true }, + { 255559, true }, + { 255582, true }, + { 255600, true }, + { 255613, true }, + { 255625, true }, + { 255636, true }, + { 255647, true }, + { 255662, true }, + { 255676, true }, + { 255701, true }, + { 255734, true }, + { 255760, true }, + { 255794, true }, + { 255817, true }, + { 255830, true }, + { 255843, true }, + { 255859, true }, + { 255876, true }, + { 255893, true }, + { 255905, true }, + { 255917, true }, + { 255933, false }, + { 255953, true }, + { 255966, false }, + { 255984, false }, + { 256007, true }, + { 256027, true }, + { 256043, true }, + { 256057, true }, + { 256078, true }, + { 256093, false }, + { 256106, true }, + { 256121, true }, + { 256138, true }, + { 256152, true }, + { 256166, true }, + { 256179, true }, + { 256191, true }, + { 256203, true }, + { 256219, true }, + { 256234, false }, + { 256256, true }, + { 256276, true }, + { 256292, false }, + { 256304, true }, + { 256320, true }, + { 256338, true }, + { 256350, true }, + { 256364, true }, + { 256378, true }, + { 256395, true }, + { 256412, true }, + { 256426, true }, + { 256436, false }, + { 256450, true }, + { 256460, true }, + { 256470, true }, + { 256491, true }, + { 256504, true }, + { 256522, true }, + { 256538, true }, + { 256551, true }, + { 256562, true }, + { 256575, true }, + { 256596, true }, + { 256607, true }, + { 256620, true }, + { 256640, true }, + { 256657, true }, + { 256669, true }, + { 256683, true }, + { 256693, true }, + { 256710, true }, + { 256738, true }, + { 256747, true }, { 256757, true }, - { 256766, true }, - { 256776, true }, - { 256794, true }, - { 256802, true }, - { 256818, true }, - { 256834, true }, - { 256850, true }, - { 256871, true }, - { 256884, true }, - { 256909, true }, - { 256924, true }, - { 256936, true }, - { 256956, true }, - { 256970, true }, - { 256985, true }, - { 257007, true }, - { 257029, true }, - { 257049, true }, - { 257064, true }, - { 257077, true }, - { 257095, true }, - { 257110, true }, - { 257126, true }, - { 257142, true }, - { 257158, true }, - { 257182, true }, - { 257193, true }, - { 257202, true }, - { 257210, false }, - { 257220, true }, - { 257232, true }, - { 257249, true }, - { 257261, true }, - { 257277, true }, - { 257293, true }, - { 257310, true }, - { 257331, true }, - { 257343, true }, - { 257355, true }, - { 257369, true }, - { 257388, false }, - { 257400, true }, - { 257412, true }, - { 257422, true }, - { 257437, true }, - { 257449, true }, - { 257463, true }, - { 257487, true }, - { 257499, true }, - { 257531, true }, - { 257546, true }, - { 257567, true }, - { 257598, true }, - { 257612, true }, - { 257637, true }, - { 257660, true }, - { 257671, true }, - { 257683, true }, - { 257698, true }, - { 257711, true }, - { 257724, true }, - { 257737, true }, - { 257747, true }, - { 257776, true }, - { 257799, true }, - { 257823, true }, - { 257850, true }, - { 257864, true }, - { 257887, true }, - { 257913, true }, - { 257941, true }, - { 257972, true }, - { 257997, true }, + { 256775, true }, + { 256783, true }, + { 256799, true }, + { 256815, true }, + { 256831, true }, + { 256852, true }, + { 256865, true }, + { 256890, true }, + { 256905, true }, + { 256917, true }, + { 256937, true }, + { 256951, true }, + { 256966, true }, + { 256988, true }, + { 257010, true }, + { 257030, true }, + { 257045, true }, + { 257058, true }, + { 257076, true }, + { 257091, true }, + { 257107, true }, + { 257123, true }, + { 257139, true }, + { 257163, true }, + { 257174, true }, + { 257183, true }, + { 257191, false }, + { 257201, true }, + { 257213, true }, + { 257230, true }, + { 257242, true }, + { 257258, true }, + { 257274, true }, + { 257291, true }, + { 257312, true }, + { 257324, true }, + { 257336, true }, + { 257350, true }, + { 257369, false }, + { 257381, true }, + { 257393, true }, + { 257403, true }, + { 257418, true }, + { 257430, true }, + { 257444, true }, + { 257468, true }, + { 257480, true }, + { 257512, true }, + { 257527, true }, + { 257548, true }, + { 257579, true }, + { 257593, true }, + { 257618, true }, + { 257641, true }, + { 257652, true }, + { 257664, true }, + { 257679, true }, + { 257692, true }, + { 257705, true }, + { 257718, true }, + { 257728, true }, + { 257757, true }, + { 257780, true }, + { 257804, true }, + { 257831, true }, + { 257845, true }, + { 257868, true }, + { 257894, true }, + { 257922, true }, + { 257953, true }, + { 257978, true }, + { 257986, true }, + { 257993, true }, { 258005, true }, - { 258012, true }, - { 258024, true }, - { 258032, true }, - { 258041, true }, - { 258053, true }, - { 258075, true }, - { 258088, true }, - { 258109, true }, - { 258122, true }, + { 258013, true }, + { 258022, true }, + { 258034, true }, + { 258056, true }, + { 258069, true }, + { 258090, true }, + { 258103, true }, + { 258124, true }, { 258143, true }, - { 258162, true }, + { 258164, true }, { 258183, true }, - { 258202, true }, - { 258213, true }, - { 258226, true }, - { 258238, true }, - { 258254, true }, - { 258268, false }, - { 258284, true }, - { 258292, true }, - { 258307, true }, - { 258324, true }, - { 258341, false }, - { 258356, true }, - { 258372, true }, - { 258382, true }, - { 258394, true }, + { 258194, true }, + { 258207, true }, + { 258219, true }, + { 258235, true }, + { 258249, false }, + { 258265, true }, + { 258273, true }, + { 258288, true }, + { 258305, true }, + { 258322, false }, + { 258337, true }, + { 258353, true }, + { 258363, true }, + { 258375, true }, + { 258391, true }, { 258410, true }, - { 258429, true }, - { 258443, false }, - { 258452, true }, - { 258464, true }, - { 258479, true }, - { 258492, true }, - { 258510, true }, - { 258521, true }, - { 258536, true }, - { 258549, true }, - { 258571, true }, - { 258588, true }, - { 258610, true }, - { 258632, true }, - { 258646, true }, - { 258660, true }, - { 258667, true }, - { 258680, true }, - { 258693, true }, + { 258424, false }, + { 258433, true }, + { 258445, true }, + { 258460, true }, + { 258473, true }, + { 258491, true }, + { 258502, true }, + { 258517, true }, + { 258530, true }, + { 258552, true }, + { 258569, true }, + { 258591, true }, + { 258613, true }, + { 258627, true }, + { 258641, true }, + { 258648, true }, + { 258661, true }, + { 258674, true }, + { 258691, true }, { 258710, true }, - { 258729, true }, - { 258755, true }, - { 258767, true }, - { 258795, true }, - { 258806, true }, - { 258832, true }, - { 258852, true }, - { 258873, true }, - { 258883, true }, - { 258893, false }, - { 258910, true }, - { 258922, true }, - { 258931, true }, - { 258944, true }, - { 258954, true }, - { 258968, true }, - { 258985, true }, - { 258997, true }, - { 259010, true }, - { 259028, true }, - { 259040, true }, - { 259051, true }, - { 259061, true }, - { 259074, false }, - { 259090, true }, - { 259106, true }, - { 259120, true }, - { 259133, false }, - { 259150, true }, - { 259164, true }, - { 259178, true }, - { 259192, true }, - { 259216, true }, - { 259229, true }, - { 259242, true }, - { 259256, true }, - { 259270, true }, - { 259285, true }, - { 259301, true }, - { 259316, true }, - { 259331, true }, - { 259349, true }, - { 259360, true }, - { 259383, true }, - { 259395, true }, - { 259407, true }, - { 259419, true }, + { 258736, true }, + { 258748, true }, + { 258776, true }, + { 258787, true }, + { 258813, true }, + { 258833, true }, + { 258854, true }, + { 258864, true }, + { 258874, false }, + { 258891, true }, + { 258903, true }, + { 258912, true }, + { 258925, true }, + { 258935, true }, + { 258949, true }, + { 258966, true }, + { 258978, true }, + { 258991, true }, + { 259009, true }, + { 259021, true }, + { 259032, true }, + { 259042, true }, + { 259055, false }, + { 259071, true }, + { 259087, true }, + { 259101, true }, + { 259114, false }, + { 259131, true }, + { 259145, true }, + { 259159, true }, + { 259173, true }, + { 259197, true }, + { 259210, true }, + { 259223, true }, + { 259237, true }, + { 259251, true }, + { 259266, true }, + { 259282, true }, + { 259297, true }, + { 259312, true }, + { 259330, true }, + { 259341, true }, + { 259364, true }, + { 259376, true }, + { 259388, true }, + { 259400, true }, + { 259414, true }, { 259433, true }, - { 259452, true }, - { 259470, true }, - { 259486, true }, - { 259500, true }, - { 259515, true }, - { 259530, true }, - { 259554, true }, - { 259571, true }, + { 259451, true }, + { 259467, true }, + { 259481, true }, + { 259496, true }, + { 259511, true }, + { 259535, true }, + { 259552, true }, + { 259570, true }, { 259589, true }, - { 259608, true }, - { 259628, true }, - { 259643, true }, - { 259661, true }, - { 259673, true }, + { 259609, true }, + { 259624, true }, + { 259636, true }, + { 259653, true }, + { 259667, true }, + { 259676, true }, { 259690, true }, - { 259704, true }, - { 259713, true }, - { 259727, true }, - { 259736, true }, - { 259749, true }, - { 259761, true }, - { 259781, true }, - { 259795, true }, - { 259810, true }, - { 259828, true }, - { 259844, true }, - { 259861, true }, - { 259873, false }, - { 259886, true }, - { 259897, true }, - { 259918, true }, - { 259932, true }, - { 259945, true }, - { 259963, true }, - { 259975, true }, + { 259699, true }, + { 259712, true }, + { 259724, true }, + { 259744, true }, + { 259758, true }, + { 259773, true }, + { 259791, true }, + { 259807, true }, + { 259824, true }, + { 259836, false }, + { 259849, true }, + { 259860, true }, + { 259881, true }, + { 259895, true }, + { 259908, true }, + { 259926, true }, + { 259938, true }, + { 259950, true }, + { 259968, false }, { 259987, true }, - { 260005, false }, + { 260009, true }, { 260024, true }, - { 260046, true }, - { 260061, true }, - { 260080, true }, - { 260094, false }, - { 260105, true }, + { 260043, true }, + { 260057, false }, + { 260068, true }, + { 260083, true }, + { 260099, true }, { 260120, true }, - { 260136, true }, - { 260157, true }, - { 260171, true }, - { 260183, true }, - { 260195, true }, - { 260212, true }, - { 260230, true }, - { 260241, true }, - { 260248, true }, - { 260260, true }, + { 260134, true }, + { 260146, true }, + { 260158, true }, + { 260175, true }, + { 260193, true }, + { 260204, true }, + { 260211, true }, + { 260223, true }, + { 260237, true }, + { 260256, true }, + { 260266, true }, { 260274, true }, - { 260293, true }, - { 260303, true }, - { 260311, true }, - { 260321, true }, - { 260331, true }, - { 260346, true }, - { 260365, true }, - { 260381, false }, - { 260391, true }, - { 260398, true }, - { 260409, false }, - { 260421, true }, - { 260430, true }, + { 260284, true }, + { 260294, true }, + { 260309, true }, + { 260328, true }, + { 260344, false }, + { 260354, true }, + { 260361, true }, + { 260372, false }, + { 260384, true }, + { 260393, true }, + { 260407, true }, + { 260419, true }, + { 260427, true }, + { 260434, true }, { 260444, true }, { 260456, true }, - { 260464, true }, - { 260471, true }, - { 260481, true }, - { 260493, true }, - { 260504, true }, - { 260523, true }, - { 260531, false }, - { 260543, true }, + { 260467, true }, + { 260486, true }, + { 260494, false }, + { 260506, true }, + { 260519, true }, + { 260534, true }, { 260556, true }, - { 260571, true }, - { 260593, true }, - { 260607, true }, - { 260619, true }, - { 260637, true }, - { 260650, true }, - { 260666, true }, - { 260675, false }, - { 260692, true }, - { 260713, true }, - { 260724, true }, - { 260735, true }, - { 260749, true }, - { 260770, true }, - { 260782, true }, - { 260798, true }, - { 260823, true }, + { 260570, true }, + { 260582, true }, + { 260600, true }, + { 260613, true }, + { 260629, true }, + { 260638, false }, + { 260655, true }, + { 260676, true }, + { 260687, true }, + { 260698, true }, + { 260712, true }, + { 260733, true }, + { 260745, true }, + { 260761, true }, + { 260786, true }, + { 260812, true }, + { 260838, true }, { 260849, true }, - { 260875, true }, - { 260886, true }, - { 260896, true }, - { 260908, true }, - { 260921, true }, - { 260934, true }, - { 260943, true }, - { 260957, true }, - { 260972, true }, - { 260988, true }, + { 260859, true }, + { 260871, true }, + { 260884, true }, + { 260897, true }, + { 260906, true }, + { 260920, true }, + { 260935, true }, + { 260951, true }, + { 260971, true }, + { 260986, true }, + { 260996, true }, { 261008, true }, - { 261023, true }, - { 261033, true }, - { 261045, true }, - { 261065, true }, - { 261087, true }, - { 261100, true }, - { 261119, true }, - { 261133, true }, - { 261145, true }, - { 261169, true }, - { 261186, false }, - { 261200, true }, - { 261213, true }, - { 261226, true }, - { 261245, true }, - { 261267, true }, - { 261279, true }, - { 261294, true }, - { 261315, true }, - { 261340, true }, - { 261365, true }, - { 261381, true }, - { 261407, true }, - { 261435, true }, - { 261456, true }, - { 261475, true }, - { 261488, true }, - { 261504, true }, - { 261517, true }, - { 261529, true }, - { 261547, true }, - { 261561, true }, - { 261580, true }, - { 261591, true }, - { 261603, true }, - { 261613, true }, - { 261622, true }, - { 261636, true }, - { 261653, true }, - { 261664, true }, - { 261675, true }, - { 261683, true }, - { 261695, true }, - { 261709, true }, - { 261722, false }, - { 261733, true }, - { 261750, true }, - { 261761, true }, - { 261770, false }, - { 261782, true }, - { 261801, true }, - { 261814, true }, - { 261825, true }, - { 261836, true }, - { 261847, true }, - { 261860, true }, - { 261871, true }, - { 261883, true }, - { 261893, true }, - { 261899, true }, - { 261909, true }, - { 261929, true }, - { 261939, true }, + { 261028, true }, + { 261050, true }, + { 261063, true }, + { 261082, true }, + { 261096, true }, + { 261108, true }, + { 261132, true }, + { 261149, false }, + { 261163, true }, + { 261176, true }, + { 261189, true }, + { 261208, true }, + { 261230, true }, + { 261242, true }, + { 261257, true }, + { 261278, true }, + { 261303, true }, + { 261328, true }, + { 261344, true }, + { 261370, true }, + { 261398, true }, + { 261419, true }, + { 261438, true }, + { 261451, true }, + { 261467, true }, + { 261480, true }, + { 261492, true }, + { 261510, true }, + { 261524, true }, + { 261543, true }, + { 261554, true }, + { 261566, true }, + { 261576, true }, + { 261585, true }, + { 261599, true }, + { 261616, true }, + { 261627, true }, + { 261638, true }, + { 261646, true }, + { 261658, true }, + { 261672, true }, + { 261685, false }, + { 261696, true }, + { 261713, true }, + { 261724, true }, + { 261733, false }, + { 261745, true }, + { 261764, true }, + { 261777, true }, + { 261788, true }, + { 261799, true }, + { 261810, true }, + { 261823, true }, + { 261834, true }, + { 261846, true }, + { 261856, true }, + { 261862, true }, + { 261872, true }, + { 261892, true }, + { 261902, true }, + { 261925, true }, + { 261950, true }, { 261962, true }, - { 261987, true }, - { 261999, true }, - { 262018, true }, - { 262026, true }, - { 262034, true }, - { 262048, true }, - { 262060, true }, - { 262072, true }, - { 262087, false }, - { 262100, true }, - { 262113, true }, + { 261981, true }, + { 261989, true }, + { 261997, true }, + { 262011, true }, + { 262023, true }, + { 262035, true }, + { 262050, false }, + { 262063, true }, + { 262076, true }, + { 262087, true }, + { 262098, true }, + { 262114, true }, { 262124, true }, - { 262135, true }, - { 262151, true }, - { 262161, true }, - { 262175, true }, + { 262138, true }, + { 262148, true }, + { 262162, true }, + { 262172, true }, { 262185, true }, - { 262199, true }, - { 262209, true }, - { 262222, true }, - { 262239, true }, - { 262249, true }, - { 262257, true }, - { 262272, true }, - { 262284, true }, - { 262300, true }, - { 262315, true }, + { 262202, true }, + { 262212, true }, + { 262220, true }, + { 262235, true }, + { 262247, true }, + { 262263, true }, + { 262278, true }, + { 262288, true }, + { 262313, true }, { 262325, true }, - { 262350, true }, - { 262362, true }, - { 262370, true }, - { 262382, false }, - { 262393, false }, - { 262411, false }, - { 262424, true }, - { 262439, true }, - { 262453, true }, - { 262467, true }, - { 262484, true }, - { 262501, true }, - { 262516, true }, - { 262534, true }, - { 262552, true }, - { 262570, true }, - { 262584, true }, - { 262598, true }, - { 262612, true }, - { 262626, true }, - { 262640, false }, - { 262658, false }, - { 262681, false }, - { 262702, false }, - { 262721, true }, - { 262737, false }, - { 262753, false }, - { 262769, true }, - { 262791, true }, - { 262804, false }, - { 262821, false }, - { 262838, true }, - { 262855, false }, - { 262872, false }, - { 262886, false }, - { 262905, false }, - { 262916, false }, - { 262928, false }, + { 262333, true }, + { 262345, false }, + { 262356, false }, + { 262374, false }, + { 262387, true }, + { 262402, true }, + { 262416, true }, + { 262430, true }, + { 262447, true }, + { 262464, true }, + { 262479, true }, + { 262497, true }, + { 262515, true }, + { 262533, true }, + { 262547, true }, + { 262561, true }, + { 262575, true }, + { 262589, true }, + { 262603, false }, + { 262621, false }, + { 262644, false }, + { 262665, false }, + { 262684, true }, + { 262700, false }, + { 262716, false }, + { 262732, true }, + { 262754, true }, + { 262767, false }, + { 262784, false }, + { 262801, true }, + { 262818, false }, + { 262835, false }, + { 262849, false }, + { 262868, false }, + { 262879, false }, + { 262891, false }, + { 262903, false }, + { 262922, true }, { 262940, false }, - { 262959, true }, - { 262977, false }, - { 262991, true }, - { 263007, false }, - { 263024, false }, - { 263041, false }, + { 262954, true }, + { 262970, false }, + { 262987, false }, + { 263004, false }, + { 263019, false }, + { 263035, true }, { 263056, false }, - { 263072, true }, + { 263075, false }, { 263093, false }, - { 263112, false }, - { 263130, false }, - { 263150, true }, - { 263166, false }, - { 263181, true }, - { 263196, false }, - { 263220, true }, - { 263227, true }, - { 263246, false }, - { 263264, false }, - { 263279, true }, - { 263299, true }, - { 263320, false }, - { 263344, false }, - { 263363, false }, - { 263379, false }, - { 263394, false }, - { 263407, true }, - { 263423, false }, - { 263438, false }, - { 263452, false }, - { 263470, true }, - { 263481, true }, - { 263492, true }, - { 263500, true }, - { 263508, true }, - { 263523, true }, - { 263533, true }, - { 263546, true }, - { 263563, true }, - { 263579, true }, - { 263593, true }, - { 263601, true }, - { 263612, true }, - { 263622, true }, - { 263640, true }, - { 263658, true }, - { 263674, true }, - { 263679, true }, - { 263684, true }, - { 263692, true }, + { 263113, true }, + { 263129, false }, + { 263144, true }, + { 263159, false }, + { 263183, true }, + { 263190, true }, + { 263209, false }, + { 263227, false }, + { 263242, true }, + { 263262, true }, + { 263283, false }, + { 263307, false }, + { 263326, false }, + { 263342, false }, + { 263357, false }, + { 263370, true }, + { 263386, false }, + { 263401, false }, + { 263415, false }, + { 263433, true }, + { 263444, true }, + { 263455, true }, + { 263463, true }, + { 263471, true }, + { 263486, true }, + { 263496, true }, + { 263509, true }, + { 263526, true }, + { 263542, true }, + { 263556, true }, + { 263564, true }, + { 263575, true }, + { 263585, true }, + { 263603, true }, + { 263621, true }, + { 263637, true }, + { 263642, true }, + { 263647, true }, + { 263655, true }, + { 263663, true }, + { 263683, true }, + { 263691, true }, { 263700, true }, - { 263720, true }, - { 263728, true }, - { 263737, true }, - { 263744, true }, - { 263763, true }, - { 263770, true }, + { 263707, true }, + { 263726, true }, + { 263733, true }, + { 263740, true }, + { 263747, true }, + { 263756, true }, { 263777, true }, - { 263784, true }, - { 263793, true }, - { 263814, true }, - { 263834, true }, - { 263858, true }, - { 263865, true }, - { 263875, true }, - { 263888, true }, - { 263905, true }, - { 263925, true }, - { 263931, true }, - { 263938, true }, - { 263950, true }, - { 263963, true }, - { 263974, true }, - { 263989, true }, - { 264002, false }, - { 264013, true }, - { 264024, true }, - { 264032, false }, - { 264051, true }, - { 264062, true }, - { 264073, true }, - { 264080, true }, - { 264091, true }, - { 264102, true }, - { 264109, true }, - { 264121, true }, - { 264140, true }, - { 264156, true }, - { 264168, true }, - { 264179, true }, - { 264192, true }, - { 264208, true }, - { 264222, true }, - { 264237, true }, - { 264252, true }, - { 264262, true }, - { 264272, true }, - { 264283, false }, - { 264293, true }, - { 264303, true }, - { 264314, true }, - { 264322, true }, + { 263797, true }, + { 263821, true }, + { 263831, true }, + { 263844, true }, + { 263861, true }, + { 263881, true }, + { 263887, true }, + { 263894, true }, + { 263906, true }, + { 263919, true }, + { 263930, true }, + { 263945, true }, + { 263958, false }, + { 263969, true }, + { 263980, true }, + { 263988, false }, + { 264007, true }, + { 264018, true }, + { 264029, true }, + { 264036, true }, + { 264047, true }, + { 264058, true }, + { 264065, true }, + { 264076, true }, + { 264088, true }, + { 264107, true }, + { 264123, true }, + { 264135, true }, + { 264146, true }, + { 264159, true }, + { 264175, true }, + { 264189, true }, + { 264204, true }, + { 264219, true }, + { 264229, true }, + { 264239, true }, + { 264250, false }, + { 264260, true }, + { 264270, true }, + { 264281, true }, + { 264289, true }, + { 264297, true }, + { 264307, true }, + { 264316, false }, { 264330, true }, - { 264340, true }, - { 264349, false }, - { 264363, true }, - { 264371, true }, - { 264381, true }, - { 264392, true }, - { 264400, true }, - { 264412, true }, + { 264338, true }, + { 264348, true }, + { 264359, true }, + { 264367, true }, + { 264379, true }, + { 264390, true }, + { 264401, true }, + { 264413, true }, { 264423, true }, - { 264434, true }, - { 264446, true }, - { 264456, true }, - { 264464, true }, - { 264471, true }, - { 264478, true }, - { 264485, true }, - { 264510, true }, - { 264528, true }, - { 264554, true }, - { 264580, true }, - { 264591, true }, - { 264607, true }, - { 264637, true }, - { 264649, true }, - { 264668, true }, - { 264692, true }, - { 264713, true }, + { 264431, true }, + { 264438, true }, + { 264445, true }, + { 264452, true }, + { 264477, true }, + { 264495, true }, + { 264521, true }, + { 264547, true }, + { 264558, true }, + { 264574, true }, + { 264604, true }, + { 264616, true }, + { 264635, true }, + { 264659, true }, + { 264680, true }, + { 264706, true }, { 264739, true }, - { 264772, true }, - { 264795, true }, - { 264814, true }, - { 264842, true }, - { 264862, true }, - { 264880, true }, - { 264902, true }, - { 264927, true }, - { 264952, true }, - { 264982, true }, - { 264993, true }, - { 265012, true }, - { 265043, true }, - { 265054, false }, - { 265075, true }, - { 265093, true }, - { 265111, true }, - { 265129, true }, - { 265166, true }, - { 265194, true }, - { 265217, true }, - { 265245, true }, - { 265260, true }, - { 265287, true }, - { 265307, true }, - { 265328, true }, - { 265342, true }, - { 265359, true }, - { 265381, true }, - { 265406, true }, - { 265426, true }, - { 265445, true }, - { 265487, true }, - { 265506, true }, - { 265529, true }, - { 265545, true }, - { 265567, true }, - { 265601, true }, - { 265625, true }, - { 265632, false }, - { 265639, true }, - { 265650, true }, - { 265656, true }, - { 265667, true }, - { 265677, true }, - { 265693, true }, - { 265709, true }, - { 265719, true }, - { 265729, true }, - { 265736, true }, + { 264762, true }, + { 264781, true }, + { 264809, true }, + { 264829, true }, + { 264847, true }, + { 264869, true }, + { 264894, true }, + { 264919, true }, + { 264949, true }, + { 264960, true }, + { 264979, true }, + { 265010, true }, + { 265021, false }, + { 265042, true }, + { 265060, true }, + { 265078, true }, + { 265096, true }, + { 265133, true }, + { 265161, true }, + { 265184, true }, + { 265212, true }, + { 265227, true }, + { 265254, true }, + { 265274, true }, + { 265295, true }, + { 265309, true }, + { 265326, true }, + { 265348, true }, + { 265373, true }, + { 265393, true }, + { 265412, true }, + { 265454, true }, + { 265473, true }, + { 265496, true }, + { 265512, true }, + { 265534, true }, + { 265568, true }, + { 265592, true }, + { 265599, false }, + { 265606, true }, + { 265617, true }, + { 265623, true }, + { 265634, true }, + { 265644, true }, + { 265660, true }, + { 265676, true }, + { 265686, true }, + { 265696, true }, + { 265703, true }, + { 265710, true }, + { 265727, true }, { 265743, true }, - { 265760, true }, - { 265776, true }, - { 265789, true }, - { 265796, true }, - { 265811, true }, + { 265756, true }, + { 265763, true }, + { 265778, true }, + { 265792, true }, + { 265801, true }, + { 265815, true }, { 265825, true }, - { 265834, true }, + { 265835, true }, { 265848, true }, - { 265858, true }, + { 265861, true }, { 265868, true }, - { 265881, true }, - { 265894, true }, - { 265901, true }, - { 265908, true }, - { 265917, true }, - { 265924, true }, - { 265935, true }, - { 265944, true }, - { 265955, true }, - { 265971, true }, - { 265980, true }, - { 265993, false }, - { 266000, true }, - { 266010, true }, + { 265875, true }, + { 265884, true }, + { 265891, true }, + { 265902, true }, + { 265911, true }, + { 265922, true }, + { 265938, true }, + { 265947, true }, + { 265960, false }, + { 265967, true }, + { 265977, true }, + { 265985, true }, + { 265996, true }, + { 266008, true }, { 266018, true }, - { 266029, true }, - { 266041, true }, - { 266051, true }, - { 266066, true }, - { 266075, true }, - { 266089, true }, - { 266109, true }, - { 266119, true }, - { 266131, true }, - { 266140, true }, - { 266149, true }, - { 266169, true }, - { 266180, true }, - { 266191, true }, - { 266205, true }, - { 266214, true }, - { 266230, true }, - { 266237, true }, - { 266249, true }, - { 266259, true }, - { 266266, true }, - { 266274, true }, - { 266286, false }, - { 266297, true }, - { 266307, false }, - { 266319, true }, - { 266333, true }, - { 266346, true }, - { 266362, true }, - { 266377, true }, - { 266389, true }, - { 266402, false }, - { 266412, true }, - { 266425, true }, - { 266447, true }, - { 266459, true }, - { 266471, true }, - { 266479, true }, - { 266488, true }, - { 266500, true }, - { 266510, false }, - { 266518, true }, - { 266528, true }, - { 266534, true }, - { 266543, true }, - { 266563, true }, - { 266578, true }, - { 266594, false }, - { 266609, false }, + { 266033, true }, + { 266042, true }, + { 266056, true }, + { 266076, true }, + { 266086, true }, + { 266098, true }, + { 266107, true }, + { 266116, true }, + { 266136, true }, + { 266147, true }, + { 266158, true }, + { 266172, true }, + { 266181, true }, + { 266197, true }, + { 266204, true }, + { 266216, true }, + { 266226, true }, + { 266233, true }, + { 266241, true }, + { 266253, false }, + { 266264, true }, + { 266274, false }, + { 266286, true }, + { 266300, true }, + { 266313, true }, + { 266329, true }, + { 266344, true }, + { 266356, true }, + { 266369, false }, + { 266379, true }, + { 266392, true }, + { 266414, true }, + { 266426, true }, + { 266438, true }, + { 266446, true }, + { 266455, true }, + { 266467, true }, + { 266477, false }, + { 266485, true }, + { 266495, true }, + { 266501, true }, + { 266510, true }, + { 266530, true }, + { 266545, true }, + { 266561, false }, + { 266576, false }, + { 266589, true }, + { 266603, true }, + { 266613, false }, { 266622, true }, - { 266636, true }, - { 266646, false }, - { 266655, true }, + { 266629, true }, + { 266645, true }, + { 266652, true }, { 266662, true }, - { 266678, true }, - { 266685, true }, - { 266695, true }, - { 266704, true }, - { 266712, true }, - { 266721, true }, - { 266733, true }, - { 266744, true }, - { 266758, true }, - { 266769, true }, - { 266779, true }, + { 266671, true }, + { 266679, true }, + { 266688, true }, + { 266700, true }, + { 266711, true }, + { 266725, true }, + { 266736, true }, + { 266746, true }, + { 266768, true }, + { 266783, true }, + { 266790, true }, { 266801, true }, - { 266816, true }, - { 266823, true }, - { 266834, true }, - { 266842, true }, - { 266852, true }, - { 266870, true }, - { 266882, false }, - { 266891, true }, - { 266905, true }, - { 266921, true }, - { 266938, true }, - { 266962, true }, - { 266980, true }, - { 266993, true }, - { 267010, true }, - { 267022, true }, - { 267033, true }, - { 267046, true }, - { 267058, false }, - { 267073, true }, - { 267083, true }, - { 267095, true }, - { 267107, true }, - { 267127, false }, - { 267137, true }, - { 267161, true }, - { 267172, true }, - { 267182, true }, - { 267194, true }, - { 267207, true }, - { 267224, true }, - { 267239, true }, - { 267252, true }, - { 267266, true }, - { 267282, true }, - { 267297, true }, - { 267312, true }, - { 267324, true }, - { 267336, true }, - { 267350, true }, - { 267361, true }, - { 267371, true }, - { 267384, true }, - { 267402, true }, - { 267415, true }, - { 267430, true }, - { 267443, true }, - { 267456, true }, - { 267471, true }, + { 266809, true }, + { 266819, true }, + { 266832, true }, + { 266850, true }, + { 266862, false }, + { 266871, true }, + { 266885, true }, + { 266901, true }, + { 266918, true }, + { 266942, true }, + { 266960, true }, + { 266973, true }, + { 266990, true }, + { 267002, true }, + { 267013, true }, + { 267026, true }, + { 267038, false }, + { 267053, true }, + { 267063, true }, + { 267075, true }, + { 267087, true }, + { 267107, false }, + { 267117, true }, + { 267141, true }, + { 267152, true }, + { 267162, true }, + { 267174, true }, + { 267187, true }, + { 267204, true }, + { 267219, true }, + { 267232, true }, + { 267246, true }, + { 267262, true }, + { 267277, true }, + { 267292, true }, + { 267304, true }, + { 267316, true }, + { 267330, true }, + { 267341, true }, + { 267351, true }, + { 267364, true }, + { 267382, true }, + { 267395, true }, + { 267410, true }, + { 267423, true }, + { 267436, true }, + { 267451, true }, + { 267463, true }, + { 267472, true }, { 267483, true }, - { 267492, true }, - { 267503, true }, - { 267525, true }, - { 267541, true }, - { 267561, false }, - { 267570, true }, - { 267578, true }, - { 267586, true }, - { 267599, true }, + { 267505, true }, + { 267521, true }, + { 267541, false }, + { 267550, true }, + { 267558, true }, + { 267566, true }, + { 267579, true }, + { 267592, true }, + { 267604, true }, { 267612, true }, - { 267624, true }, - { 267632, true }, - { 267647, true }, - { 267657, true }, - { 267668, true }, - { 267684, true }, - { 267692, true }, - { 267701, true }, - { 267711, true }, - { 267720, true }, - { 267729, true }, - { 267744, true }, - { 267763, true }, - { 267776, true }, - { 267794, true }, + { 267627, true }, + { 267637, true }, + { 267648, true }, + { 267664, true }, + { 267672, true }, + { 267681, true }, + { 267691, true }, + { 267700, true }, + { 267709, true }, + { 267724, true }, + { 267743, true }, + { 267756, true }, + { 267774, true }, + { 267787, true }, + { 267796, true }, { 267807, true }, - { 267816, true }, - { 267827, true }, - { 267841, true }, - { 267853, true }, - { 267871, true }, - { 267884, true }, - { 267892, true }, - { 267906, true }, - { 267918, true }, - { 267928, true }, - { 267935, true }, - { 267949, true }, - { 267957, true }, - { 267965, true }, - { 267979, true }, - { 267989, true }, - { 267998, true }, - { 268021, true }, - { 268034, true }, - { 268039, true }, - { 268049, true }, - { 268056, true }, - { 268063, true }, - { 268075, false }, - { 268094, true }, - { 268105, true }, - { 268121, true }, - { 268136, true }, - { 268152, true }, - { 268167, true }, - { 268180, true }, - { 268193, true }, + { 267821, true }, + { 267833, true }, + { 267851, true }, + { 267864, true }, + { 267872, true }, + { 267886, true }, + { 267898, true }, + { 267908, true }, + { 267915, true }, + { 267929, true }, + { 267937, true }, + { 267945, true }, + { 267959, true }, + { 267969, true }, + { 267978, true }, + { 268001, true }, + { 268014, true }, + { 268019, true }, + { 268029, true }, + { 268036, true }, + { 268043, true }, + { 268055, false }, + { 268074, true }, + { 268085, true }, + { 268101, true }, + { 268116, true }, + { 268132, true }, + { 268147, true }, + { 268160, true }, + { 268173, true }, + { 268181, true }, + { 268191, true }, { 268201, true }, - { 268211, true }, - { 268221, true }, - { 268236, true }, - { 268250, true }, - { 268278, true }, - { 268291, true }, - { 268304, true }, - { 268321, true }, - { 268329, true }, - { 268338, true }, - { 268348, true }, - { 268361, true }, - { 268373, true }, - { 268403, true }, - { 268414, true }, - { 268432, true }, - { 268440, true }, - { 268464, true }, - { 268474, true }, - { 268491, true }, - { 268503, true }, + { 268216, true }, + { 268230, true }, + { 268258, true }, + { 268271, true }, + { 268284, true }, + { 268301, true }, + { 268309, true }, + { 268318, true }, + { 268328, true }, + { 268341, true }, + { 268353, true }, + { 268383, true }, + { 268394, true }, + { 268412, true }, + { 268420, true }, + { 268444, true }, + { 268454, true }, + { 268471, true }, + { 268483, true }, + { 268494, true }, + { 268507, false }, { 268514, true }, - { 268527, false }, - { 268534, true }, + { 268532, true }, + { 268541, true }, { 268552, true }, - { 268561, true }, + { 268564, true }, { 268572, true }, - { 268584, true }, - { 268592, true }, - { 268599, true }, - { 268607, true }, - { 268618, true }, - { 268628, true }, - { 268637, true }, - { 268655, true }, - { 268681, true }, - { 268693, true }, - { 268702, true }, - { 268727, true }, + { 268579, true }, + { 268587, true }, + { 268598, true }, + { 268608, true }, + { 268617, true }, + { 268635, true }, + { 268661, true }, + { 268673, true }, + { 268682, true }, + { 268707, true }, + { 268734, true }, { 268754, true }, - { 268774, true }, - { 268796, true }, - { 268807, true }, - { 268818, true }, - { 268830, true }, - { 268843, true }, - { 268856, true }, - { 268871, true }, - { 268889, true }, - { 268902, true }, - { 268917, true }, - { 268933, true }, - { 268951, true }, - { 268964, true }, - { 268978, true }, + { 268776, true }, + { 268787, true }, + { 268798, true }, + { 268810, true }, + { 268823, true }, + { 268836, true }, + { 268851, true }, + { 268869, true }, + { 268882, true }, + { 268897, true }, + { 268913, true }, + { 268931, true }, + { 268944, true }, + { 268958, true }, + { 268968, true }, + { 268980, true }, { 268988, true }, { 269000, true }, - { 269008, true }, - { 269020, true }, - { 269032, true }, - { 269045, true }, - { 269056, true }, - { 269069, true }, - { 269081, true }, - { 269093, false }, - { 269103, true }, - { 269114, true }, - { 269129, true }, - { 269142, true }, - { 269153, true }, - { 269160, true }, - { 269170, true }, - { 269177, true }, - { 269191, true }, - { 269209, true }, - { 269221, true }, - { 269233, true }, - { 269249, true }, - { 269262, true }, - { 269277, true }, - { 269292, true }, - { 269305, true }, - { 269317, true }, - { 269331, true }, - { 269344, true }, - { 269359, true }, - { 269366, true }, - { 269381, false }, - { 269394, true }, - { 269406, true }, - { 269415, true }, - { 269427, true }, - { 269456, true }, - { 269464, true }, - { 269479, true }, - { 269487, true }, - { 269502, true }, - { 269511, false }, - { 269519, true }, - { 269530, true }, - { 269538, true }, - { 269549, true }, - { 269560, true }, - { 269577, true }, - { 269591, false }, - { 269603, true }, - { 269622, true }, - { 269640, true }, - { 269651, true }, - { 269660, true }, - { 269680, true }, + { 269012, true }, + { 269025, true }, + { 269036, true }, + { 269049, true }, + { 269061, true }, + { 269073, false }, + { 269083, true }, + { 269094, true }, + { 269109, true }, + { 269122, true }, + { 269133, true }, + { 269140, true }, + { 269150, true }, + { 269157, true }, + { 269171, true }, + { 269189, true }, + { 269201, true }, + { 269213, true }, + { 269229, true }, + { 269242, true }, + { 269257, true }, + { 269272, true }, + { 269285, true }, + { 269297, true }, + { 269311, true }, + { 269324, true }, + { 269339, true }, + { 269346, true }, + { 269361, false }, + { 269374, true }, + { 269386, true }, + { 269395, true }, + { 269407, true }, + { 269436, true }, + { 269444, true }, + { 269459, true }, + { 269467, true }, + { 269482, true }, + { 269491, false }, + { 269499, true }, + { 269510, true }, + { 269518, true }, + { 269529, true }, + { 269546, true }, + { 269560, false }, + { 269572, true }, + { 269591, true }, + { 269609, true }, + { 269620, true }, + { 269629, true }, + { 269649, true }, + { 269659, true }, + { 269675, true }, { 269690, true }, - { 269706, true }, - { 269721, true }, - { 269733, true }, - { 269740, true }, - { 269751, true }, + { 269702, true }, + { 269709, true }, + { 269720, true }, + { 269730, true }, + { 269736, true }, + { 269746, true }, { 269761, true }, - { 269767, true }, - { 269777, true }, - { 269792, true }, - { 269804, true }, - { 269816, true }, - { 269831, true }, - { 269842, true }, - { 269855, true }, - { 269879, true }, - { 269890, true }, - { 269901, true }, - { 269912, true }, - { 269923, true }, - { 269934, true }, - { 269949, true }, - { 269973, true }, - { 269991, true }, + { 269773, true }, + { 269785, true }, + { 269800, true }, + { 269811, true }, + { 269824, true }, + { 269848, true }, + { 269859, true }, + { 269870, true }, + { 269881, true }, + { 269892, true }, + { 269903, true }, + { 269918, true }, + { 269942, true }, + { 269960, true }, + { 269971, true }, + { 269986, true }, { 270002, true }, - { 270017, true }, - { 270033, true }, - { 270042, true }, - { 270053, true }, - { 270077, true }, - { 270092, true }, - { 270104, true }, - { 270116, true }, - { 270127, true }, - { 270137, true }, - { 270145, true }, + { 270011, true }, + { 270022, true }, + { 270046, true }, + { 270061, true }, + { 270073, true }, + { 270085, true }, + { 270096, true }, + { 270106, true }, + { 270114, true }, + { 270133, true }, + { 270144, true }, + { 270154, true }, { 270164, true }, { 270175, true }, - { 270185, true }, - { 270195, true }, - { 270206, true }, - { 270214, true }, - { 270228, false }, - { 270235, true }, - { 270242, true }, + { 270183, true }, + { 270197, false }, + { 270204, true }, + { 270211, true }, + { 270223, true }, + { 270232, true }, + { 270246, true }, { 270254, true }, - { 270263, true }, - { 270277, true }, - { 270285, true }, - { 270298, true }, - { 270312, true }, + { 270267, true }, + { 270281, true }, + { 270302, true }, + { 270316, true }, + { 270326, true }, { 270333, true }, - { 270347, true }, - { 270357, true }, + { 270344, true }, + { 270354, true }, { 270364, true }, - { 270375, true }, - { 270385, true }, - { 270395, true }, - { 270405, true }, - { 270418, true }, - { 270429, true }, - { 270437, true }, - { 270446, true }, - { 270466, true }, - { 270489, true }, - { 270502, true }, - { 270515, false }, - { 270522, true }, + { 270374, true }, + { 270387, true }, + { 270398, true }, + { 270406, true }, + { 270415, true }, + { 270435, true }, + { 270458, true }, + { 270471, true }, + { 270484, false }, + { 270491, true }, + { 270504, true }, + { 270514, true }, + { 270525, true }, { 270535, true }, { 270545, true }, - { 270556, true }, - { 270566, true }, - { 270576, true }, - { 270585, true }, - { 270592, true }, - { 270602, true }, + { 270554, true }, + { 270561, true }, + { 270571, true }, }; diff --git a/testing/config/tooltool-manifests/androidx86_6_0/mach-emulator.manifest b/testing/config/tooltool-manifests/androidx86_6_0/mach-emulator.manifest new file mode 100644 index 000000000000..2e873ff4b733 --- /dev/null +++ b/testing/config/tooltool-manifests/androidx86_6_0/mach-emulator.manifest @@ -0,0 +1,10 @@ +[ +{ +"size": 416677519, +"visibility": "public", +"digest": "11a1be4d1f1085b1aa516c4f37b4a5d1e81e13bccd1243ebf8bf8431fd3738830675ea3719888ac43931b3b73508040090fd2ff6dd98f99db2678a7cfd6b18a4", +"algorithm": "sha512", +"filename": "AVDs-x86-android-6.0-build-2017-03-10.tar.gz", +"unpack": true +} +] diff --git a/testing/mozbase/mozdevice/mozdevice/devicemanagerADB.py b/testing/mozbase/mozdevice/mozdevice/devicemanagerADB.py index 74d0a8d23f47..64cc90022d30 100644 --- a/testing/mozbase/mozdevice/mozdevice/devicemanagerADB.py +++ b/testing/mozbase/mozdevice/mozdevice/devicemanagerADB.py @@ -286,40 +286,28 @@ class DeviceManagerADB(DeviceManager): else: localDir = os.path.normpath(localDir) remoteDir = os.path.normpath(remoteDir) - copyRequired = False - if self._adb_version >= '1.0.36' and \ - os.path.isdir(localDir) and self.dirExists(remoteDir): - # See do_sync_push in - # https://android.googlesource.com/platform/system/core/+/master/adb/file_sync_client.cpp - # Work around change in behavior in adb 1.0.36 where if - # the remote destination directory exists, adb push will - # copy the source directory *into* the destination - # directory otherwise it will copy the source directory - # *onto* the destination directory. - # - # If the destination directory does exist, push to its - # parent directory. If the source and destination leaf - # directory names are different, copy the source directory - # to a temporary directory with the same leaf name as the - # destination so that when we push to the parent, the - # source is copied onto the destination directory. - localName = os.path.basename(localDir) - remoteName = os.path.basename(remoteDir) - if localName != remoteName: - copyRequired = True - tempParent = tempfile.mkdtemp() - newLocal = os.path.join(tempParent, remoteName) - dir_util.copy_tree(localDir, newLocal) - localDir = newLocal + tempParent = tempfile.mkdtemp() + remoteName = os.path.basename(remoteDir) + newLocal = os.path.join(tempParent, remoteName) + dir_util.copy_tree(localDir, newLocal) + # See do_sync_push in + # https://android.googlesource.com/platform/system/core/+/master/adb/file_sync_client.cpp + # Work around change in behavior in adb 1.0.36 where if + # the remote destination directory exists, adb push will + # copy the source directory *into* the destination + # directory otherwise it will copy the source directory + # *onto* the destination directory. + if self._adb_version >= '1.0.36': remoteDir = '/'.join(remoteDir.rstrip('/').split('/')[:-1]) try: - self._checkCmd(["push", localDir, remoteDir], - retryLimit=retryLimit, timeout=timeout) + if self._checkCmd(["push", newLocal, remoteDir], + retryLimit=retryLimit, timeout=timeout): + raise DMError("failed to push %s (copy of %s) to %s" % + (newLocal, localDir, remoteDir)) except: raise finally: - if copyRequired: - mozfile.remove(tempParent) + mozfile.remove(tempParent) def dirExists(self, remotePath): self._detectLsModifier() diff --git a/testing/mozbase/mozrunner/mozrunner/devices/android_device.py b/testing/mozbase/mozrunner/mozrunner/devices/android_device.py index 7e7bd1bb9f06..4cee740f2ce1 100644 --- a/testing/mozbase/mozrunner/mozrunner/devices/android_device.py +++ b/testing/mozbase/mozrunner/mozrunner/devices/android_device.py @@ -71,7 +71,15 @@ AVD_DICT = { ['-debug', 'init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket', '-qemu', '-m', '1024', '-enable-kvm'], - 5554) + 5554), + 'x86-6.0': AvdInfo('Android 6.0 x86', + 'mozemulator-x86-6.0', + 'testing/config/tooltool-manifests/androidx86_6_0/mach-emulator.manifest', + ['-debug', + 'init,console,gles,memcheck,adbserver,adbclient,adb,avd_config,socket', + '-ranchu', + '-qemu', '-m', '2048'], + 5554) }