<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3eb87b7fcd7eb1bb16604281c47476f4bf83e8b1">https://github.com/macports/macports-ports/commit/3eb87b7fcd7eb1bb16604281c47476f4bf83e8b1</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 3eb87b7fcd7 openjdk17: backport footprint regression patch
</span>3eb87b7fcd7 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 3eb87b7fcd7eb1bb16604281c47476f4bf83e8b1
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Fri May 19 21:32:26 2023 +0200

<span style='display:block; white-space:pre;color:#404040;'>    openjdk17: backport footprint regression patch
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This patch dramatically decrease memory footprint for primitive types in
</span><span style='display:block; white-space:pre;color:#404040;'>    complex collections.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Without this patch OpenJDK 17 can't be used to compile
</span><span style='display:block; white-space:pre;color:#404040;'>    https://github.com/vigna/fastutil via Intellij IDEA for example.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This patch already applied to JDK21 and backported to Fedora's OpenJDK 17
</span>---
 java/openjdk17/Portfile                            |    4 +-
 ...995-Footprint-regression-from-JDK-8224957.patch | 1267 ++++++++++++++++++++
 2 files changed, 1270 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk17/Portfile b/java/openjdk17/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a44ae907cb6..d2db4424090 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk17/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk17/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@ name                openjdk17
</span> # https://github.com/openjdk/jdk17u/tags
 version             17.0.7
 set build 7
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> categories          java devel
 supported_archs     x86_64 arm64
 license             GPL-2+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,6 +29,8 @@ depends_build       port:autoconf \
</span>                     port:bash \
                     port:openjdk17-bootstrap
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          8305995-Footprint-regression-from-JDK-8224957.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> pre-patch {
     reinplace "s|libffi.so.?|libffi.?.dylib|g" ${worksrcpath}/make/autoconf/lib-ffi.m4
     reinplace "s|xmacosx|xwindows|g" ${worksrcpath}/make/autoconf/lib-freetype.m4
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk17/files/8305995-Footprint-regression-from-JDK-8224957.patch b/java/openjdk17/files/8305995-Footprint-regression-from-JDK-8224957.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c7cc5c078f2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk17/files/8305995-Footprint-regression-from-JDK-8224957.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,1267 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f1c07898ce6c5b47cc3d2171fb4207a901d1b426 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Kirill A. Korinsky" <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Mon, 17 Apr 2023 12:22:26 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] 8305995: Footprint regression from JDK-8224957
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Reviewed-by: kvn, thartmann
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/hotspot/share/opto/node.cpp               |    2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../bench/vm/compiler/RBTreeSearch.java       | 1236 +++++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 1237 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/hotspot/share/opto/node.cpp src/hotspot/share/opto/node.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9a9d3f0149a..7c85e73989e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/hotspot/share/opto/node.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/hotspot/share/opto/node.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1301,7 +1301,7 @@ bool Node::dominates(Node* sub, Node_List &nlist) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     } else if (sub == up && sub->is_Region() && sub->req() == 2) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // Take in(1) path on the way up to 'dom' for regions with only one input
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       up = sub->in(1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    } else if (sub == up && sub->is_Region() && sub->req() == 3) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    } else if (sub == up && sub->is_Region()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // Try both paths for Regions with 2 input paths (it may be a loop head).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // It could give conservative 'false' answer without information
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       // which region's input is the entry path.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+new file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 00000000000..9b7430ccc13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ test/micro/org/openjdk/bench/vm/compiler/RBTreeSearch.java
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,1236 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This code is free software; you can redistribute it and/or modify it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * under the terms of the GNU General Public License version 2 only, as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * published by the Free Software Foundation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This code is distributed in the hope that it will be useful, but WITHOUT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * version 2 for more details (a copy is included in the LICENSE file that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * accompanied this code).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * You should have received a copy of the GNU General Public License version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * 2 along with this work; if not, write to the Free Software Foundation,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * or visit www.oracle.com if you need additional information or have any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * questions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++package org.openjdk.bench.vm.compiler;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import org.openjdk.jmh.annotations.Benchmark;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import org.openjdk.jmh.annotations.Fork;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import org.openjdk.jmh.annotations.Measurement;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import org.openjdk.jmh.annotations.OutputTimeUnit;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import org.openjdk.jmh.annotations.Scope;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import org.openjdk.jmh.annotations.State;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import org.openjdk.jmh.annotations.Warmup;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import java.util.concurrent.TimeUnit;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This benchmark is used as easy reproducer of JDK-8305995
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * This benchmark contains simplified and minimized RB-tree
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * which is based on fasutils with iterators that jumps.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * At the end it contains a tree serialized as lines, and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * maxPattern which is used to search in this tree.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@State(Scope.Thread)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@OutputTimeUnit(TimeUnit.MICROSECONDS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@Warmup(iterations = 4, time = 2, timeUnit = TimeUnit.SECONDS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@Measurement(iterations = 4, time = 2, timeUnit = TimeUnit.SECONDS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++@Fork(value = 3)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++public class RBTreeSearch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    private final Tree pattern;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    private final Tree[] nodes;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    private final Tree root;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    private final int[] idxStack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    private final Tree[] objStack;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    public RBTreeSearch() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        idxStack = new int[maxPattern];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        objStack = new Tree[maxPattern];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        pattern = new Tree();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for (int i = 0; i <= maxPattern; i++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            pattern.put(i, i);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        nodes = new Tree[directions.length];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        for (int i = 0; i < directions.length; i++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if (directions[i] == null) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                continue;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Tree kids = new Tree();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            nodes[i] = kids;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            for (String pair : directions[i].split(", ")) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                String[] kv = pair.split("=>");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                kids.put(Integer.parseInt(kv[0]), Integer.parseInt(kv[1]));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        root = nodes[0];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    @Benchmark
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    public void search() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        Tree.Iterator sliceIt = pattern.keyIterator();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        int stackSize = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        idxStack[stackSize] = pattern.firstIntKey();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        objStack[stackSize++] = root;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        while (stackSize > 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            stackSize--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Tree node = objStack[stackSize];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            final int startPoint = Math.max(idxStack[stackSize], node.firstIntKey()) - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            final Tree.Iterator rootIt = node.keyIterator(startPoint);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            sliceIt.jump(startPoint);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            while (sliceIt.hasNext() && rootIt.hasNext()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                final int sliceElem = sliceIt.nextInt();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                final int rootElem = rootIt.nextInt();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if (sliceElem < rootElem) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    rootIt.previousInt();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if (sliceIt.nextInt() >= rootElem) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        sliceIt.previousInt();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        sliceIt.jump(rootElem - 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                } else if (sliceElem == rootElem) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    final int childrenIdx = node.get(sliceElem);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    final Tree children = nodes[childrenIdx];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if (children != null) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        idxStack[stackSize] = sliceElem;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        objStack[stackSize++] = children;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    public static class Tree {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        protected transient Entry root;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        protected transient Entry firstEntry;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        protected transient Entry lastEntry;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        private final transient boolean[] dirPath = new boolean[64];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        private final transient Entry[] nodePath = new Entry[64];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        public int put(final int k, final int v) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry e = add(k);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            final int oldValue = e.value;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            e.value = v;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return oldValue;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        private Entry add(final int k) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int maxDepth = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry e;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if (root == null) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                e = root = lastEntry = firstEntry = new Entry(k, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                Entry p = root;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                int cmp, i = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                while(true) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if ((cmp = Integer.compare(k, p.key)) == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        while(i-- != 0) nodePath[i] = null;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        return p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    nodePath[i] = p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if (dirPath[i++] = cmp > 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        if (p.succ()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            e = new Entry(k, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            if (p.right == null) lastEntry = e;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            e.left = p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            e.right = p.right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            p.right(e);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        p = p.right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        if (p.pred()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            e = new Entry(k, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            if (p.left == null) firstEntry = e;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            e.right = p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            e.left = p.left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            p.left(e);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        p = p.left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                maxDepth = i--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                while(i > 0 && ! nodePath[i].black()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if (! dirPath[i - 1]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        Entry y = nodePath[i - 1].right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        if (! nodePath[i - 1].succ() && ! y.black()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            nodePath[i].black(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            y.black(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            nodePath[i - 1].black(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            i -= 2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            Entry x;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            if (! dirPath[i]) y = nodePath[i];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                x = nodePath[i];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                y = x.right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                x.right = y.left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                y.left = x;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                nodePath[i - 1].left = y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                if (y.pred()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    y.pred(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    x.succ(y);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            x = nodePath[i - 1];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            x.black(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            y.black(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            x.left = y.right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            y.right = x;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            if (i < 2) root = y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                if (dirPath[i - 2]) nodePath[i - 2].right = y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                else nodePath[i - 2].left = y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            if (y.succ()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                y.succ(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                x.pred(y);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        Entry y = nodePath[i - 1].left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        if (! nodePath[i - 1].pred() && ! y.black()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            nodePath[i].black(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            y.black(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            nodePath[i - 1].black(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            i -= 2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            Entry x;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            if (dirPath[i]) y = nodePath[i];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                x = nodePath[i];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                y = x.left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                x.left = y.right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                y.right = x;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                nodePath[i - 1].right = y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                if (y.succ()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    y.succ(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                    x.pred(y);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            x = nodePath[i - 1];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            x.black(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            y.black(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            x.right = y.left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            y.left = x;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            if (i < 2) root = y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                if (dirPath[i - 2]) nodePath[i - 2].right = y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                else nodePath[i - 2].left = y;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            if (y.pred()){
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                y.pred(false);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                x.succ(y);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                            break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            root.black(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            while(maxDepth-- != 0) nodePath[maxDepth] = null;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return e;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        private static final class Entry {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int key;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int value;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            private static final int BLACK_MASK = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            private static final int SUCC_MASK = 1 << 31;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            private static final int PRED_MASK = 1 << 30;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry left, right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int info;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry(final int k, final int v) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                key = k;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                value = v;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                info = SUCC_MASK | PRED_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry left() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return (info & PRED_MASK) != 0 ? null : left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry right() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return (info & SUCC_MASK) != 0 ? null : right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            boolean pred() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return (info & PRED_MASK) != 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            boolean succ() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return (info & SUCC_MASK) != 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            void pred(final boolean pred) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if (pred) info |= PRED_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                else info &= ~PRED_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            void succ(final boolean succ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if (succ) info |= SUCC_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                else info &= ~SUCC_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            void pred(final Entry pred) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                info |= PRED_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                left = pred;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            void succ(final Entry succ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                info |= SUCC_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                right = succ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            void left(final Entry left) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                info &= ~PRED_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                this.left = left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            void right(final Entry right) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                info &= ~SUCC_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                this.right = right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            boolean black() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return (info & BLACK_MASK) != 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            void black(final boolean black) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if (black) info |= BLACK_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                else info &= ~BLACK_MASK;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry next() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                Entry next = this.right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if ((info & SUCC_MASK) == 0) while ((next.info & PRED_MASK) == 0) next = next.left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return next;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry prev() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                Entry prev = this.left;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if ((info & PRED_MASK) == 0) while ((prev.info & SUCC_MASK) == 0) prev = prev.right;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return prev;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        public int get(final int k) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry e = root;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int cmp;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            while (e != null && (cmp = Integer.compare(k, e.key)) != 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                e = cmp < 0 ? e.left() : e.right();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return e == null ? 0 : e.value;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        public int firstIntKey() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return firstEntry.key;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        interface Iterator {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            boolean hasNext();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int nextInt();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int previousInt();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            void jump(final int fromElement);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        private class KeyIteratorImpl implements Iterator {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry prev;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry next;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry curr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int index = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            KeyIteratorImpl() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                next = firstEntry;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            KeyIteratorImpl(final int k) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if ((next = locateKey(k)) != null) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if (next.key <= k) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        prev = next;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        next = next.next();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    else prev = next.prev();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            private Entry locateKey(final int k) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                Entry e = root, last = root;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                int cmp = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                while (e != null && (cmp = Integer.compare(k, e.key)) != 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    last = e;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    e = cmp < 0 ? e.left() : e.right();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return cmp == 0 ? e : last;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            public boolean hasNext() { return next != null; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry nextEntry() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                curr = prev = next;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                index++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                next = next.next();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return curr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            Entry previousEntry() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                curr = next = prev;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                index--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                prev = prev.prev();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return curr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            public void jump(final int fromElement) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if ((next = locateKey(fromElement)) != null) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if (next.key <= fromElement) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        prev = next;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                        next = next.next();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    else prev = next.prev();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            public int nextInt() { return nextEntry().key; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            public int previousInt() { return previousEntry().key; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        public Iterator keyIterator() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return new KeyIteratorImpl();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        public Iterator keyIterator(final int from) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return new KeyIteratorImpl(from);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    private static final int maxPattern = 39;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    private static final String[] directions = {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "0=>1, 1=>4, 2=>2, 4=>3, 7=>5",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "13=>628, 14=>627, 15=>626, 17=>629, 18=>630",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "13=>473, 14=>472, 15=>471, 17=>474, 18=>475",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "13=>318, 14=>317, 15=>316, 17=>319, 18=>320",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "13=>163, 14=>162, 15=>161, 17=>164, 18=>165",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "13=>8, 14=>7, 15=>6, 17=>9, 18=>10",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>135, 23=>134, 24=>132, 26=>133, 27=>131",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>105, 23=>104, 24=>102, 26=>103, 27=>101",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>75, 23=>74, 24=>72, 26=>73, 27=>71",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>45, 23=>44, 24=>42, 26=>43, 27=>41",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>15, 23=>14, 24=>12, 26=>13, 27=>11",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>38, 32=>39, 33=>36, 34=>40, 35=>37",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>33, 32=>34, 33=>31, 34=>35, 35=>32",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>28, 32=>29, 33=>26, 34=>30, 35=>27",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>23, 32=>24, 33=>21, 34=>25, 35=>22",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>18, 32=>19, 33=>16, 34=>20, 35=>17",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>68, 32=>69, 33=>66, 34=>70, 35=>67",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>63, 32=>64, 33=>61, 34=>65, 35=>62",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>58, 32=>59, 33=>56, 34=>60, 35=>57",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>53, 32=>54, 33=>51, 34=>55, 35=>52",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>48, 32=>49, 33=>46, 34=>50, 35=>47",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>98, 32=>99, 33=>96, 34=>100, 35=>97",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>93, 32=>94, 33=>91, 34=>95, 35=>92",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>88, 32=>89, 33=>86, 34=>90, 35=>87",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>83, 32=>84, 33=>81, 34=>85, 35=>82",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>78, 32=>79, 33=>76, 34=>80, 35=>77",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>128, 32=>129, 33=>126, 34=>130, 35=>127",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>123, 32=>124, 33=>121, 34=>125, 35=>122",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>118, 32=>119, 33=>116, 34=>120, 35=>117",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>113, 32=>114, 33=>111, 34=>115, 35=>112",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>108, 32=>109, 33=>106, 34=>110, 35=>107",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>158, 32=>159, 33=>156, 34=>160, 35=>157",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>153, 32=>154, 33=>151, 34=>155, 35=>152",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>148, 32=>149, 33=>146, 34=>150, 35=>147",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>143, 32=>144, 33=>141, 34=>145, 35=>142",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>138, 32=>139, 33=>136, 34=>140, 35=>137",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>290, 23=>289, 24=>287, 26=>288, 27=>286",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>260, 23=>259, 24=>257, 26=>258, 27=>256",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>230, 23=>229, 24=>227, 26=>228, 27=>226",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>200, 23=>199, 24=>197, 26=>198, 27=>196",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>170, 23=>169, 24=>167, 26=>168, 27=>166",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>193, 32=>194, 33=>191, 34=>195, 35=>192",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>188, 32=>189, 33=>186, 34=>190, 35=>187",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>183, 32=>184, 33=>181, 34=>185, 35=>182",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>178, 32=>179, 33=>176, 34=>180, 35=>177",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>173, 32=>174, 33=>171, 34=>175, 35=>172",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>223, 32=>224, 33=>221, 34=>225, 35=>222",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>218, 32=>219, 33=>216, 34=>220, 35=>217",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>213, 32=>214, 33=>211, 34=>215, 35=>212",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>208, 32=>209, 33=>206, 34=>210, 35=>207",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>203, 32=>204, 33=>201, 34=>205, 35=>202",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>253, 32=>254, 33=>251, 34=>255, 35=>252",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>248, 32=>249, 33=>246, 34=>250, 35=>247",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>243, 32=>244, 33=>241, 34=>245, 35=>242",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>238, 32=>239, 33=>236, 34=>240, 35=>237",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>233, 32=>234, 33=>231, 34=>235, 35=>232",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>283, 32=>284, 33=>281, 34=>285, 35=>282",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>278, 32=>279, 33=>276, 34=>280, 35=>277",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>273, 32=>274, 33=>271, 34=>275, 35=>272",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>268, 32=>269, 33=>266, 34=>270, 35=>267",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>263, 32=>264, 33=>261, 34=>265, 35=>262",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>313, 32=>314, 33=>311, 34=>315, 35=>312",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>308, 32=>309, 33=>306, 34=>310, 35=>307",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>303, 32=>304, 33=>301, 34=>305, 35=>302",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>298, 32=>299, 33=>296, 34=>300, 35=>297",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>293, 32=>294, 33=>291, 34=>295, 35=>292",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>445, 23=>444, 24=>442, 26=>443, 27=>441",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>415, 23=>414, 24=>412, 26=>413, 27=>411",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>385, 23=>384, 24=>382, 26=>383, 27=>381",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>355, 23=>354, 24=>352, 26=>353, 27=>351",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>325, 23=>324, 24=>322, 26=>323, 27=>321",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>348, 32=>349, 33=>346, 34=>350, 35=>347",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>343, 32=>344, 33=>341, 34=>345, 35=>342",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>338, 32=>339, 33=>336, 34=>340, 35=>337",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>333, 32=>334, 33=>331, 34=>335, 35=>332",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>328, 32=>329, 33=>326, 34=>330, 35=>327",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>378, 32=>379, 33=>376, 34=>380, 35=>377",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>373, 32=>374, 33=>371, 34=>375, 35=>372",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>368, 32=>369, 33=>366, 34=>370, 35=>367",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>363, 32=>364, 33=>361, 34=>365, 35=>362",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>358, 32=>359, 33=>356, 34=>360, 35=>357",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>408, 32=>409, 33=>406, 34=>410, 35=>407",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>403, 32=>404, 33=>401, 34=>405, 35=>402",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>398, 32=>399, 33=>396, 34=>400, 35=>397",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>393, 32=>394, 33=>391, 34=>395, 35=>392",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>388, 32=>389, 33=>386, 34=>390, 35=>387",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>438, 32=>439, 33=>436, 34=>440, 35=>437",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>433, 32=>434, 33=>431, 34=>435, 35=>432",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>428, 32=>429, 33=>426, 34=>430, 35=>427",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>423, 32=>424, 33=>421, 34=>425, 35=>422",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>418, 32=>419, 33=>416, 34=>420, 35=>417",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>468, 32=>469, 33=>466, 34=>470, 35=>467",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>463, 32=>464, 33=>461, 34=>465, 35=>462",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>458, 32=>459, 33=>456, 34=>460, 35=>457",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>453, 32=>454, 33=>451, 34=>455, 35=>452",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>448, 32=>449, 33=>446, 34=>450, 35=>447",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>600, 23=>599, 24=>597, 26=>598, 27=>596",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>570, 23=>569, 24=>567, 26=>568, 27=>566",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>540, 23=>539, 24=>537, 26=>538, 27=>536",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>510, 23=>509, 24=>507, 26=>508, 27=>506",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>480, 23=>479, 24=>477, 26=>478, 27=>476",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>503, 32=>504, 33=>501, 34=>505, 35=>502",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>498, 32=>499, 33=>496, 34=>500, 35=>497",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>493, 32=>494, 33=>491, 34=>495, 35=>492",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>488, 32=>489, 33=>486, 34=>490, 35=>487",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>483, 32=>484, 33=>481, 34=>485, 35=>482",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>533, 32=>534, 33=>531, 34=>535, 35=>532",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>528, 32=>529, 33=>526, 34=>530, 35=>527",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>523, 32=>524, 33=>521, 34=>525, 35=>522",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>518, 32=>519, 33=>516, 34=>520, 35=>517",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>513, 32=>514, 33=>511, 34=>515, 35=>512",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>563, 32=>564, 33=>561, 34=>565, 35=>562",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>558, 32=>559, 33=>556, 34=>560, 35=>557",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>553, 32=>554, 33=>551, 34=>555, 35=>552",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>548, 32=>549, 33=>546, 34=>550, 35=>547",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>543, 32=>544, 33=>541, 34=>545, 35=>542",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>593, 32=>594, 33=>591, 34=>595, 35=>592",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>588, 32=>589, 33=>586, 34=>590, 35=>587",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>583, 32=>584, 33=>581, 34=>585, 35=>582",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>578, 32=>579, 33=>576, 34=>580, 35=>577",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>573, 32=>574, 33=>571, 34=>575, 35=>572",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>623, 32=>624, 33=>621, 34=>625, 35=>622",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>618, 32=>619, 33=>616, 34=>620, 35=>617",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>613, 32=>614, 33=>611, 34=>615, 35=>612",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>608, 32=>609, 33=>606, 34=>610, 35=>607",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>603, 32=>604, 33=>601, 34=>605, 35=>602",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>755, 23=>754, 24=>752, 26=>753, 27=>751",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>725, 23=>724, 24=>722, 26=>723, 27=>721",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>695, 23=>694, 24=>692, 26=>693, 27=>691",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>665, 23=>664, 24=>662, 26=>663, 27=>661",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "22=>635, 23=>634, 24=>632, 26=>633, 27=>631",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>658, 32=>659, 33=>656, 34=>660, 35=>657",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>653, 32=>654, 33=>651, 34=>655, 35=>652",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>648, 32=>649, 33=>646, 34=>650, 35=>647",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>643, 32=>644, 33=>641, 34=>645, 35=>642",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>638, 32=>639, 33=>636, 34=>640, 35=>637",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>688, 32=>689, 33=>686, 34=>690, 35=>687",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>683, 32=>684, 33=>681, 34=>685, 35=>682",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>678, 32=>679, 33=>676, 34=>680, 35=>677",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>673, 32=>674, 33=>671, 34=>675, 35=>672",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>668, 32=>669, 33=>666, 34=>670, 35=>667",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>718, 32=>719, 33=>716, 34=>720, 35=>717",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>713, 32=>714, 33=>711, 34=>715, 35=>712",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>708, 32=>709, 33=>706, 34=>710, 35=>707",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>703, 32=>704, 33=>701, 34=>705, 35=>702",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>698, 32=>699, 33=>696, 34=>700, 35=>697",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>748, 32=>749, 33=>746, 34=>750, 35=>747",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>743, 32=>744, 33=>741, 34=>745, 35=>742",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>738, 32=>739, 33=>736, 34=>740, 35=>737",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>733, 32=>734, 33=>731, 34=>735, 35=>732",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>728, 32=>729, 33=>726, 34=>730, 35=>727",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>778, 32=>779, 33=>776, 34=>780, 35=>777",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>773, 32=>774, 33=>771, 34=>775, 35=>772",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>768, 32=>769, 33=>766, 34=>770, 35=>767",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>763, 32=>764, 33=>761, 34=>765, 35=>762",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "31=>758, 32=>759, 33=>756, 34=>760, 35=>757",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span></pre><pre style='margin:0'>

</pre>