]> granicus.if.org Git - postgis/commitdiff
spgist 2d and 3d support for PG 11+
authorRegina Obe <lr@pcorp.us>
Sun, 1 Jul 2018 15:34:22 +0000 (15:34 +0000)
committerRegina Obe <lr@pcorp.us>
Sun, 1 Jul 2018 15:34:22 +0000 (15:34 +0000)
references #1847
Credits: Arthur Lesuisse, Esteban Zimanyi from Université Libre de Bruxelles (ULB)  and Darafei Praliaskouski
also added logic to exclude PG < 11 from including this functionality
Closes https://github.com/postgis/postgis/pull/258

git-svn-id: http://svn.osgeo.org/postgis/trunk@16626 b70326c6-7e19-0410-871a-916f4a2858ee

19 files changed:
NEWS
configure.ac
libpgcommon/gserialized_gist.h
libpgcommon/lwgeom_pg.h
postgis/Makefile.in
postgis/gserialized_gist_2d.c
postgis/gserialized_spgist_2d.c [new file with mode: 0644]
postgis/gserialized_spgist_3d.c [new file with mode: 0644]
postgis/gserialized_spgist_3d.h [new file with mode: 0644]
postgis/lwgeom_box3d.c
postgis/postgis.sql.in
postgis/postgis_spgist.sql.in [new file with mode: 0644]
regress/Makefile.in
regress/regress_spgist_index_2d.data [new file with mode: 0644]
regress/regress_spgist_index_2d.sql [new file with mode: 0644]
regress/regress_spgist_index_2d_expected [new file with mode: 0644]
regress/regress_spgist_index_3d.data [new file with mode: 0644]
regress/regress_spgist_index_3d.sql [new file with mode: 0644]
regress/regress_spgist_index_3d_expected [new file with mode: 0644]

diff --git a/NEWS b/NEWS
index 5b61d147249af1274c00ab890cae8633c36c096e..214811297ce5a136e691e27e56b68536aac0dc88 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,8 @@ PostGIS 2.5.0
 2018/xx/xx
 
 * New Features *
+  - #1847, spgist 2d and 3d support for PG 11+
+    (Arthur Lesuisse, Esteban Zimanyi, Darafei Praliaskouski)
   - #4056, ST_FilterByM (Nicklas Avén)
   - #4050, ST_ChaikinSmoothing (Nicklas Avén)
   - #3989, ST_Buffer single sided option (Stephen Knox)
index 3e33dccc92b7dd369a37cc31295fc8ebb7e783f2..c599b955566628326cb779d3dbddc4b7b890c32d 100644 (file)
@@ -467,6 +467,11 @@ if test "x$LIBLWGEOM_ONLY" = "xno"; then
     HAVE_BRIN=yes
   fi
 
+  HAVE_SPGIST=no
+  if test $POSTGIS_PGSQL_VERSION -gt 100; then
+    HAVE_SPGIST=yes
+  fi
+
   dnl Note: We don't need the server-side LDFLAGS or CPPFLAGS because we get these from PGXS
 
   dnl Extract the linker and include flags for the frontend (for programs that use libpq)
@@ -536,6 +541,7 @@ if test "x$LIBLWGEOM_ONLY" = "xno"; then
   AC_DEFINE_UNQUOTED([POSTGIS_PGSQL_VERSION], [$POSTGIS_PGSQL_VERSION], [PostgreSQL server version])
   AC_SUBST([POSTGIS_PGSQL_VERSION])
   AC_SUBST([HAVE_BRIN])
+  AC_SUBST([HAVE_SPGIST])
 
 fi dnl LIBLWGEOM_ONLY != no
 
index 8ebf6bfe3a942a072fc9213b4b618b9ee080ab0d..b7c9932b1be9a7240803d183029b184c6b83fff6 100644 (file)
@@ -130,7 +130,24 @@ GSERIALIZED* gserialized_set_gidx(GSERIALIZED *g, GIDX *gidx);
 GSERIALIZED* gserialized_drop_gidx(GSERIALIZED *g);
 
 bool box2df_contains(const BOX2DF *a, const BOX2DF *b);
+
+/** needed for sp-gist support PostgreSQL 11+ **/
+#if POSTGIS_PGSQL_VERSION > 100
+       void box2df_set_empty(BOX2DF *a);
+       void box2df_set_finite(BOX2DF *a);
+       void box2df_validate(BOX2DF *b);
+       bool box2df_overlaps(const BOX2DF *a, const BOX2DF *b);
+       bool box2df_overleft(const BOX2DF *a, const BOX2DF *b);
+       bool box2df_equals(const BOX2DF *a, const BOX2DF *b);
+       bool box2df_left(const BOX2DF *a, const BOX2DF *b);
+       bool box2df_right(const BOX2DF *a, const BOX2DF *b);
+       bool box2df_overright(const BOX2DF *a, const BOX2DF *b);
+       bool box2df_overbelow(const BOX2DF *a, const BOX2DF *b);
+       bool box2df_below(const BOX2DF *a, const BOX2DF *b);
+       bool box2df_above(const BOX2DF *a, const BOX2DF *b);
+       bool box2df_overabove(const BOX2DF *a, const BOX2DF *b);
+#endif
+
 bool gidx_contains(GIDX *a, GIDX *b);
 int gserialized_datum_get_box2df_p(Datum gsdatum, BOX2DF *box2df);
 
-
index b85f2155946cfc1193622d59ce877ddb4e05f584..03514cc2465c5269b663d425151d5699047343ab 100644 (file)
@@ -149,7 +149,36 @@ Datum BOX2D_intersects(PG_FUNCTION_ARGS);
 Datum BOX2D_union(PG_FUNCTION_ARGS);
 
 Datum LWGEOM_same(PG_FUNCTION_ARGS);
-Datum BOX3D_construct(PG_FUNCTION_ARGS);
+
+/** needed for sp-gist support PostgreSQL 11+ **/
+//#if POSTGIS_PGSQL_VERSION > 100
+       Datum BOX3D_construct(PG_FUNCTION_ARGS);
+
+       Datum LWGEOM_to_BOX2DF(PG_FUNCTION_ARGS);
+       Datum LWGEOM_to_BOX3D(PG_FUNCTION_ARGS);
+       Datum BOX3D_contains(PG_FUNCTION_ARGS);
+       Datum BOX3D_contained(PG_FUNCTION_ARGS);
+       Datum BOX3D_overlaps(PG_FUNCTION_ARGS);
+       Datum BOX3D_same(PG_FUNCTION_ARGS);
+       Datum BOX3D_left(PG_FUNCTION_ARGS);
+       Datum BOX3D_overleft(PG_FUNCTION_ARGS);
+       Datum BOX3D_right(PG_FUNCTION_ARGS)    ;
+       Datum BOX3D_overright(PG_FUNCTION_ARGS);
+       Datum BOX3D_below(PG_FUNCTION_ARGS);
+       Datum BOX3D_overbelow(PG_FUNCTION_ARGS);
+       Datum BOX3D_above(PG_FUNCTION_ARGS);
+       Datum BOX3D_overabove(PG_FUNCTION_ARGS);
+       Datum BOX3D_front(PG_FUNCTION_ARGS);
+       Datum BOX3D_overfront(PG_FUNCTION_ARGS);
+       Datum BOX3D_back(PG_FUNCTION_ARGS);
+       Datum BOX3D_overback(PG_FUNCTION_ARGS);
+       Datum BOX3D_distance(PG_FUNCTION_ARGS);
+
+       #define DatumGetBox3DP(X)    ((BOX3D *) DatumGetPointer(X))
+       #define Box3DPGetDatum(X)    PointerGetDatum(X)
+       #define PG_GETARG_BOX3D_P(n) DatumGetBox3DP(PG_GETARG_DATUM(n))
+       #define PG_RETURN_BOX3D_P(x) return Box3DPGetDatum(x)
+//#endif
 
 Datum LWGEOM_force_2d(PG_FUNCTION_ARGS);
 Datum LWGEOM_force_3dm(PG_FUNCTION_ARGS);
index c4a6b3ec28556d2641382f655f45962399deaaea..d960b2d1329cf3085c20bde098a65bd176ce8b07 100644 (file)
@@ -50,6 +50,10 @@ ifeq (@HAVE_BRIN@,yes)
 BRIN_OBJ= brin_2d.o brin_nd.o brin_common.o
 endif
 
+ifeq (@HAVE_SPGIST@,yes)
+SPGIST_OBJ= gserialized_spgist_2d.o gserialized_spgist_3d.o
+endif
+
 ifeq (@HAVE_PROTOBUF@,yes)
 PROTOBUF_OBJ=vector_tile.pb-c.o geobuf.pb-c.o
 endif
@@ -94,6 +98,7 @@ PG_OBJS= \
        gserialized_typmod.o \
        gserialized_gist_2d.o \
        gserialized_gist_nd.o \
+       $(SPGIST_OBJ) \
        $(BRIN_OBJ) \
        gserialized_estimate.o \
        geography_inout.o \
index 8213e7f348094453ab3024c215763bfd3a64c324..fead715ce7bca531983b0136d6bc80ffdff1bf11 100644 (file)
@@ -161,13 +161,13 @@ inline bool box2df_is_empty(const BOX2DF *a)
                return false;
 }
 
-static inline void box2df_set_empty(BOX2DF *a)
+inline void box2df_set_empty(BOX2DF *a)
 {
        a->xmin = a->xmax = a->ymin = a->ymax = NAN;
        return;
 }
 
-static inline void box2df_set_finite(BOX2DF *a)
+inline void box2df_set_finite(BOX2DF *a)
 {
        if ( ! isfinite(a->xmax) )
                a->xmax = FLT_MAX;
@@ -329,7 +329,7 @@ int box2df_to_gbox_p(BOX2DF *a, GBOX *box)
 */
 
 /* Ensure all minimums are below maximums. */
-static inline void box2df_validate(BOX2DF *b)
+inline void box2df_validate(BOX2DF *b)
 {
        float tmp;
        POSTGIS_DEBUGF(5,"validating box2df (%s)", box2df_to_string(b));
@@ -352,7 +352,7 @@ static inline void box2df_validate(BOX2DF *b)
        return;
 }
 
-static bool box2df_overlaps(const BOX2DF *a, const BOX2DF *b)
+bool box2df_overlaps(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a || !b || box2df_is_empty(a) || box2df_is_empty(b) )
                return false;
@@ -397,7 +397,7 @@ static bool box2df_within(const BOX2DF *a, const BOX2DF *b)
        return box2df_contains(b,a);
 }
 
-static bool box2df_equals(const BOX2DF *a, const BOX2DF *b)
+bool box2df_equals(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a && !b )
                return true;
@@ -413,7 +413,7 @@ static bool box2df_equals(const BOX2DF *a, const BOX2DF *b)
                return false;
 }
 
-static bool box2df_overleft(const BOX2DF *a, const BOX2DF *b)
+bool box2df_overleft(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a || !b || box2df_is_empty(a) || box2df_is_empty(b) )
                return false;
@@ -422,7 +422,7 @@ static bool box2df_overleft(const BOX2DF *a, const BOX2DF *b)
        return a->xmax <= b->xmax;
 }
 
-static bool box2df_left(const BOX2DF *a, const BOX2DF *b)
+bool box2df_left(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a || !b || box2df_is_empty(a) || box2df_is_empty(b) )
                return false;
@@ -431,7 +431,7 @@ static bool box2df_left(const BOX2DF *a, const BOX2DF *b)
        return a->xmax < b->xmin;
 }
 
-static bool box2df_right(const BOX2DF *a, const BOX2DF *b)
+bool box2df_right(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a || !b || box2df_is_empty(a) || box2df_is_empty(b) )
                return false;
@@ -440,7 +440,7 @@ static bool box2df_right(const BOX2DF *a, const BOX2DF *b)
        return a->xmin > b->xmax;
 }
 
-static bool box2df_overright(const BOX2DF *a, const BOX2DF *b)
+bool box2df_overright(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a || !b || box2df_is_empty(a) || box2df_is_empty(b) )
                return false;
@@ -449,7 +449,7 @@ static bool box2df_overright(const BOX2DF *a, const BOX2DF *b)
        return a->xmin >= b->xmin;
 }
 
-static bool box2df_overbelow(const BOX2DF *a, const BOX2DF *b)
+bool box2df_overbelow(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a || !b || box2df_is_empty(a) || box2df_is_empty(b) )
                return false;
@@ -458,7 +458,7 @@ static bool box2df_overbelow(const BOX2DF *a, const BOX2DF *b)
        return a->ymax <= b->ymax;
 }
 
-static bool box2df_below(const BOX2DF *a, const BOX2DF *b)
+bool box2df_below(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a || !b || box2df_is_empty(a) || box2df_is_empty(b) )
                return false;
@@ -467,7 +467,7 @@ static bool box2df_below(const BOX2DF *a, const BOX2DF *b)
        return a->ymax < b->ymin;
 }
 
-static bool box2df_above(const BOX2DF *a, const BOX2DF *b)
+bool box2df_above(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a || !b || box2df_is_empty(a) || box2df_is_empty(b) )
                return false;
@@ -476,7 +476,7 @@ static bool box2df_above(const BOX2DF *a, const BOX2DF *b)
        return a->ymin > b->ymax;
 }
 
-static bool box2df_overabove(const BOX2DF *a, const BOX2DF *b)
+bool box2df_overabove(const BOX2DF *a, const BOX2DF *b)
 {
        if ( !a || !b || box2df_is_empty(a) || box2df_is_empty(b) )
                return false;
diff --git a/postgis/gserialized_spgist_2d.c b/postgis/gserialized_spgist_2d.c
new file mode 100644 (file)
index 0000000..52547b9
--- /dev/null
@@ -0,0 +1,722 @@
+/*****************************************************************************
+ *
+ * gserialized_spgist_2d.c
+ *       SP-GiST implementation of 4-dimensional quad-tree over box2df
+ *
+ * This module provides SP-GiST implementation for boxes using quad tree
+ * analogy in 4-dimensional space.  SP-GiST doesn't allow indexing of
+ * overlapping objects.  We are making objects never-overlapping in
+ * 4D space.  This technique has some benefits compared to traditional
+ * R-Tree which is implemented as GiST.  The performance tests reveal
+ * that this technique especially beneficial with too much overlapping
+ * objects, so called "spaghetti data".
+ *
+ * Unlike the original quad-tree, we are splitting the tree into 16
+ * quadrants in 4D space.  It is easier to imagine it as splitting space
+ * two times into 2:
+ *
+ *                             |          |
+ *                             |          |
+ *                             | -----+-----
+ *                             |          |
+ *                             |          |
+ * -------------+-------------
+ *                             |
+ *                             |
+ *                             |
+ *                             |
+ *                             |
+ *                       FRONT
+ *
+ * We are using box data type as the prefix, but we are treating them
+ * as points in 4-dimensional space, because  boxes are not enough
+ * to represent the quadrant boundaries in 4D space.  They however are
+ * sufficient to point out the additional boundaries of the next
+ * quadrant.
+ *
+ * We are using traversal values provided by SP-GiST to calculate and
+ * to store the bounds of the quadrants, while traversing into the tree.
+ * Traversal value has all the boundaries in the 4D space, and is is
+ * capable of transferring the required boundaries to the following
+ * traversal values.  In conclusion, three things are necessary
+ * to calculate the next traversal value:
+ *
+ *     (1) the traversal value of the parent
+ *     (2) the quadrant of the current node
+ *     (3) the prefix of the current node
+ *
+ * If we visualize them on our simplified drawing (see the drawing above);
+ * transferred boundaries of (1) would be the outer axis, relevant part
+ * of (2) would be the up range_y part of the other axis, and (3) would be
+ * the inner axis.
+ *
+ * For example, consider the case of overlapping.  When recursion
+ * descends deeper and deeper down the tree, all quadrants in
+ * the current node will be checked for overlapping.  The boundaries
+ * will be re-calculated for all quadrants.  Overlap check answers
+ * the question: can any box from this quadrant overlap with the given
+ * box?  If yes, then this quadrant will be walked.  If no, then this
+ * quadrant will be skipped.
+ *
+ * This method provides restrictions for minimum and maximum values of
+ * every dimension of every corner of the box on every level of the tree
+ * except the root.  For the root node, we are setting the boundaries
+ * that we don't yet have as infinity.
+ *
+ * Portions Copyright (c) 2018, Esteban Zimanyi, Arthur Lesuisse,
+ *             Université Libre de Bruxelles
+ * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ *****************************************************************************/
+
+#include <postgres.h>
+#include <utils/builtins.h>                    /* For float manipulation */
+#include "access/spgist.h"                     /* For SP-GiST */
+#include "catalog/namespace.h"         /* For TypenameGetTypid */
+#include "catalog/pg_type_d.h"         /* For VOIDOID */
+
+#include "../postgis_config.h"
+
+#include "liblwgeom.h"         /* For standard geometry types. */
+#include "lwgeom_pg.h"       /* For debugging macros. */
+#include <gserialized_gist.h>       /* For utility functions. */
+#include <lwgeom_pg.h>                         /* For debugging macros. */
+
+/*
+** SP-GiST 2D index function prototypes
+*/
+
+Datum gserialized_spgist_config_2d(PG_FUNCTION_ARGS);
+Datum gserialized_spgist_choose_2d(PG_FUNCTION_ARGS);
+Datum gserialized_spgist_picksplit_2d(PG_FUNCTION_ARGS);
+Datum gserialized_spgist_inner_consistent_2d(PG_FUNCTION_ARGS);
+Datum gserialized_spgist_leaf_consistent_2d(PG_FUNCTION_ARGS);
+Datum gserialized_spgist_compress_2d(PG_FUNCTION_ARGS);
+
+/*
+ * Comparator for qsort
+ *
+ * We don't need to use the floating point macros in here, because this
+ * is only going to be used in a place to effect the performance
+ * of the index, not the correctness.
+ */
+static int
+compareDoubles(const void *a, const void *b)
+{
+       double          x = *(double *) a;
+       double          y = *(double *) b;
+
+       if (x == y)
+               return 0;
+       return (x > y) ? 1 : -1;
+}
+
+typedef struct
+{
+       BOX2DF  left;
+       BOX2DF  right;
+} RectBox;
+
+/*
+ * Calculate the quadrant
+ *
+ * The quadrant is 4 bit unsigned integer with 4 least bits in use.
+ * This function accepts 2 BOX2DF as input.  All 4 bits are set by comparing
+ * a corner of the box. This makes 16 quadrants in total.
+ */
+static uint8
+getQuadrant4D(BOX2DF *centroid, BOX2DF *inBox)
+{
+       uint8           quadrant = 0;
+
+       if (inBox->xmin > centroid->xmin)
+               quadrant |= 0x8;
+
+       if (inBox->xmax > centroid->xmax)
+               quadrant |= 0x4;
+
+       if (inBox->ymin > centroid->ymin)
+               quadrant |= 0x2;
+
+       if (inBox->ymax > centroid->ymax)
+               quadrant |= 0x1;
+
+       return quadrant;
+}
+
+/*
+ * Initialize the traversal value
+ *
+ * In the beginning, we don't have any restrictions.  We have to
+ * initialize the struct to cover the whole 4D space.
+ */
+static RectBox *
+initRectBox(void)
+{
+       RectBox    *rect_box = (RectBox *) palloc(sizeof(RectBox));
+       float           infinity = get_float4_infinity();
+
+       rect_box->left.xmin = -infinity;
+       rect_box->left.xmax = infinity;
+
+       rect_box->left.ymin = -infinity;
+       rect_box->left.ymax = infinity;
+
+       rect_box->right.xmin = -infinity;
+       rect_box->right.xmax = infinity;
+
+       rect_box->right.ymin = -infinity;
+       rect_box->right.ymax = infinity;
+
+       return rect_box;
+}
+
+/*
+ * Calculate the next traversal value
+ *
+ * All centroids are bounded by RectBox, but SP-GiST only keeps
+ * boxes.  When we are traversing the tree, we must calculate RectBox,
+ * using centroid and quadrant.
+ */
+static RectBox *
+nextRectBox(RectBox *rect_box, BOX2DF *centroid, uint8 quadrant)
+{
+       RectBox    *next_rect_box = (RectBox *) palloc(sizeof(RectBox));
+
+       memcpy(next_rect_box, rect_box, sizeof(RectBox));
+
+       if (quadrant & 0x8)
+               next_rect_box->left.xmin = centroid->xmin;
+       else
+               next_rect_box->left.xmax = centroid->xmin;
+
+       if (quadrant & 0x4)
+               next_rect_box->right.xmin = centroid->xmax;
+       else
+               next_rect_box->right.xmax = centroid->xmax;
+
+       if (quadrant & 0x2)
+               next_rect_box->left.ymin = centroid->ymin;
+       else
+               next_rect_box->left.ymax = centroid->ymin;
+
+       if (quadrant & 0x1)
+               next_rect_box->right.ymin = centroid->ymax;
+       else
+               next_rect_box->right.ymax = centroid->ymax;
+
+       return next_rect_box;
+}
+
+/* Can any cube from rect_box overlap with query? */
+static bool
+overlap4D(RectBox *rect_box, BOX2DF *query)
+{
+       return (rect_box->left.xmin <= query->xmax &&
+                       rect_box->right.xmax >= query->xmin &&
+                       rect_box->left.ymin <= query->ymax &&
+                       rect_box->right.ymax >= query->ymin);
+}
+
+/* Can any cube from rect_box contain query? */
+static bool
+contain4D(RectBox *rect_box, BOX2DF *query)
+{
+       return (rect_box->right.xmax >= query->xmax &&
+                       rect_box->left.xmin <= query->xmin &&
+                       rect_box->right.ymax >= query->ymax &&
+                       rect_box->left.ymin <= query->ymin);
+}
+
+/* Can any cube from rect_box be left of query? */
+static bool
+left4D(RectBox *rect_box, BOX2DF *query)
+{
+       return rect_box->right.xmax <= query->xmin;
+}
+
+/* Can any cube from rect_box does not extend the right of query? */
+static bool
+overLeft4D(RectBox *rect_box, BOX2DF *query)
+{
+       return rect_box->right.xmax <= query->xmax;
+}
+
+/* Can any cube from rect_box be right of query? */
+static bool
+right4D(RectBox *rect_box, BOX2DF *query)
+{
+       return rect_box->left.xmin >= query->xmax;
+}
+
+/* Can any cube from rect_box does not extend the left of query? */
+static bool
+overRight4D(RectBox *rect_box, BOX2DF *query)
+{
+       return rect_box->left.xmin >= query->xmin;
+}
+
+/* Can any cube from rect_box be below of query? */
+static bool
+below4D(RectBox *rect_box, BOX2DF *query)
+{
+       return rect_box->right.ymax <= query->ymin;
+}
+
+/* Can any cube from rect_box does not extend above query? */
+static bool
+overBelow4D(RectBox *rect_box, BOX2DF *query)
+{
+       return rect_box->right.ymax <= query->ymax;
+}
+
+/* Can any cube from rect_box be above of query? */
+static bool
+above4D(RectBox *rect_box, BOX2DF *query)
+{
+       return rect_box->left.ymin >= query->ymax;
+}
+
+/* Can any cube from rect_box does not extend below of query? */
+static bool
+overAbove4D(RectBox *rect_box, BOX2DF *query)
+{
+       return rect_box->left.ymin >= query->ymin;
+}
+
+/*
+ * SP-GiST config function
+ */
+
+PG_FUNCTION_INFO_V1(gserialized_spgist_config_2d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_config_2d(PG_FUNCTION_ARGS)
+{
+       spgConfigOut *cfg = (spgConfigOut *) PG_GETARG_POINTER(1);
+
+       Oid boxoid = TypenameGetTypid("box2df");
+       cfg->prefixType = boxoid;
+       cfg->labelType = VOIDOID;       /* We don't need node labels. */
+       cfg->leafType = boxoid;
+       cfg->canReturnData = false;
+       cfg->longValuesOK = false;
+
+       PG_RETURN_VOID();
+}
+
+/*
+ * SP-GiST choose function
+ */
+
+PG_FUNCTION_INFO_V1(gserialized_spgist_choose_2d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_choose_2d(PG_FUNCTION_ARGS)
+{
+       spgChooseIn *in = (spgChooseIn *) PG_GETARG_POINTER(0);
+       spgChooseOut *out = (spgChooseOut *) PG_GETARG_POINTER(1);
+       BOX2DF     *centroid = (BOX2DF *) DatumGetPointer(in->prefixDatum),
+                          *box = (BOX2DF *) DatumGetPointer(in->leafDatum);
+
+       out->resultType = spgMatchNode;
+       out->result.matchNode.restDatum = PointerGetDatum(box);
+
+       /* nodeN will be set by core, when allTheSame. */
+       if (!in->allTheSame)
+               out->result.matchNode.nodeN = getQuadrant4D(centroid, box);
+
+       PG_RETURN_VOID();
+}
+
+/*
+ * SP-GiST pick-split function
+ *
+ * It splits a list of boxes into quadrants by choosing a central 4D
+ * point as the median of the coordinates of the boxes.
+ */
+PG_FUNCTION_INFO_V1(gserialized_spgist_picksplit_2d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_picksplit_2d(PG_FUNCTION_ARGS)
+{
+       spgPickSplitIn *in = (spgPickSplitIn *) PG_GETARG_POINTER(0);
+       spgPickSplitOut *out = (spgPickSplitOut *) PG_GETARG_POINTER(1);
+       BOX2DF     *centroid;
+       int                     median,
+                               i;
+       double     *lowXs = palloc(sizeof(double) * in->nTuples);
+       double     *highXs = palloc(sizeof(double) * in->nTuples);
+       double     *lowYs = palloc(sizeof(double) * in->nTuples);
+       double     *highYs = palloc(sizeof(double) * in->nTuples);
+
+       /* Calculate median of all 4D coordinates */
+       for (i = 0; i < in->nTuples; i++)
+       {
+               BOX2DF             *box = (BOX2DF *) DatumGetPointer(in->datums[i]);
+
+               lowXs[i] = (double) box->xmin;
+               highXs[i] = (double) box->xmax;
+               lowYs[i] = (double) box->ymin;
+               highYs[i] = (double) box->ymax;
+       }
+
+       qsort(lowXs, in->nTuples, sizeof(double), compareDoubles);
+       qsort(highXs, in->nTuples, sizeof(double), compareDoubles);
+       qsort(lowYs, in->nTuples, sizeof(double), compareDoubles);
+       qsort(highYs, in->nTuples, sizeof(double), compareDoubles);
+
+       median = in->nTuples / 2;
+
+       centroid = palloc(sizeof(BOX2DF));
+
+       centroid->xmin = (float) lowXs[median];
+       centroid->xmax = (float) highXs[median];
+       centroid->ymin = (float) lowYs[median];
+       centroid->ymax = (float) highYs[median];
+
+       /* Fill the output */
+       out->hasPrefix = true;
+       out->prefixDatum = BoxPGetDatum(centroid);
+
+       out->nNodes = 16;
+       out->nodeLabels = NULL;         /* We don't need node labels. */
+
+       out->mapTuplesToNodes = palloc(sizeof(int) * in->nTuples);
+       out->leafTupleDatums = palloc(sizeof(Datum) * in->nTuples);
+
+       /*
+        * Assign ranges to corresponding nodes according to quadrants relative to
+        * the "centroid" range
+        */
+       for (i = 0; i < in->nTuples; i++)
+       {
+               BOX2DF     *box = (BOX2DF *) DatumGetPointer(in->datums[i]);
+               uint8           quadrant = getQuadrant4D(centroid, box);
+
+               out->leafTupleDatums[i] = PointerGetDatum(box);
+               out->mapTuplesToNodes[i] = quadrant;
+       }
+
+       pfree(lowXs);
+       pfree(highXs);
+       pfree(lowYs);
+       pfree(highYs);
+
+       PG_RETURN_VOID();
+}
+
+/*
+ * SP-GiST inner consistent function
+ */
+PG_FUNCTION_INFO_V1(gserialized_spgist_inner_consistent_2d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_inner_consistent_2d(PG_FUNCTION_ARGS)
+{
+       spgInnerConsistentIn *in = (spgInnerConsistentIn *) PG_GETARG_POINTER(0);
+       spgInnerConsistentOut *out = (spgInnerConsistentOut *) PG_GETARG_POINTER(1);
+       int                     i;
+       MemoryContext old_ctx;
+       RectBox    *rect_box;
+       uint8           quadrant;
+       BOX2DF     *centroid;
+
+       if (in->allTheSame)
+       {
+               /* Report that all nodes should be visited */
+               out->nNodes = in->nNodes;
+               out->nodeNumbers = (int *) palloc(sizeof(int) * in->nNodes);
+               for (i = 0; i < in->nNodes; i++)
+                       out->nodeNumbers[i] = i;
+
+               PG_RETURN_VOID();
+       }
+
+       /*
+        * We are saving the traversal value or initialize it an unbounded one, if
+        * we have just begun to walk the tree.
+        */
+       if (in->traversalValue)
+               rect_box = in->traversalValue;
+       else
+               rect_box = initRectBox();
+
+       centroid = (BOX2DF *) DatumGetPointer(in->prefixDatum);
+
+       /* Allocate enough memory for nodes */
+       out->nNodes = 0;
+       out->nodeNumbers = (int *) palloc(sizeof(int) * in->nNodes);
+       out->traversalValues = (void **) palloc(sizeof(void *) * in->nNodes);
+
+       /*
+        * We switch memory context, because we want to allocate memory for new
+        * traversal values (next_rect_box) and pass these pieces of memory to
+        * further call of this function.
+        */
+       old_ctx = MemoryContextSwitchTo(in->traversalMemoryContext);
+
+       for (quadrant = 0; quadrant < in->nNodes; quadrant++)
+       {
+               RectBox    *next_rect_box = nextRectBox(rect_box, centroid, quadrant);
+               bool            flag = true;
+
+               for (i = 0; i < in->nkeys; i++)
+               {
+                       StrategyNumber strategy = in->scankeys[i].sk_strategy;
+
+                       Datum           query = in->scankeys[i].sk_argument;
+                       BOX2DF          query_gbox_index;
+
+                       /* Quick sanity check on query argument. */
+                       if ( DatumGetPointer(query) == NULL )
+                       {
+                               POSTGIS_DEBUG(4, "[SPGIST] null query pointer (!?!), returning false");
+                               PG_RETURN_BOOL(false); /* NULL query! This is screwy! */
+                       }
+
+                       if ( gserialized_datum_get_box2df_p(query, &query_gbox_index) == LW_FAILURE )
+                       {
+                               POSTGIS_DEBUG(4, "[SPGIST] null query_gbox_index!");
+                               PG_RETURN_BOOL(false);
+                       }
+
+                       switch (strategy)
+                       {
+                               case RTOverlapStrategyNumber:
+                               case RTContainedByStrategyNumber:
+                               case RTOldContainedByStrategyNumber:
+                                       flag = overlap4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               case RTContainsStrategyNumber:
+                               case RTSameStrategyNumber:
+                                       flag = contain4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               case RTLeftStrategyNumber:
+                                       flag = !overRight4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               case RTOverLeftStrategyNumber:
+                                       flag = !right4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               case RTRightStrategyNumber:
+                                       flag = !overLeft4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               case RTOverRightStrategyNumber:
+                                       flag = !left4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               case RTAboveStrategyNumber:
+                                       flag = !overBelow4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               case RTOverAboveStrategyNumber:
+                                       flag = !below4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               case RTBelowStrategyNumber:
+                                       flag = !overAbove4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               case RTOverBelowStrategyNumber:
+                                       flag = !above4D(next_rect_box, &query_gbox_index);
+                                       break;
+
+                               default:
+                                       elog(ERROR, "unrecognized strategy: %d", strategy);
+                       }
+
+                       /* If any check is failed, we have found our answer. */
+                       if (!flag)
+                               break;
+               }
+
+               if (flag)
+               {
+                       out->traversalValues[out->nNodes] = next_rect_box;
+                       out->nodeNumbers[out->nNodes] = quadrant;
+                       out->nNodes++;
+               }
+               else
+               {
+                       /*
+                        * If this node is not selected, we don't need to keep the next
+                        * traversal value in the memory context.
+                        */
+                       pfree(next_rect_box);
+               }
+       }
+
+       /* Switch after */
+       MemoryContextSwitchTo(old_ctx);
+
+       PG_RETURN_VOID();
+}
+
+/*
+ * SP-GiST inner consistent function
+ */
+PG_FUNCTION_INFO_V1(gserialized_spgist_leaf_consistent_2d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_leaf_consistent_2d(PG_FUNCTION_ARGS)
+{
+       spgLeafConsistentIn *in = (spgLeafConsistentIn *) PG_GETARG_POINTER(0);
+       spgLeafConsistentOut *out = (spgLeafConsistentOut *) PG_GETARG_POINTER(1);
+       BOX2DF     *key = (BOX2DF *) DatumGetPointer(in->leafDatum);
+       bool            flag = true;
+       int                     i;
+
+       /* Quick sanity check on entry key. */
+       if ( DatumGetPointer(key) == NULL )
+       {
+               POSTGIS_DEBUG(4, "[SPGIST] null index entry, returning false");
+               PG_RETURN_BOOL(false); /* NULL entry! */
+       }
+
+       /* All tests are exact. */
+       out->recheck = false;
+
+       /* leafDatum is what it is... */
+       out->leafValue = in->leafDatum;
+
+       /* Perform the required comparison(s) */
+       for (i = 0; i < in->nkeys; i++)
+       {
+               StrategyNumber strategy = in->scankeys[i].sk_strategy;
+               Datum           query = in->scankeys[i].sk_argument;
+               BOX2DF          query_gbox_index;
+
+               /* Quick sanity check on query argument. */
+               if ( DatumGetPointer(query) == NULL )
+               {
+                       POSTGIS_DEBUG(4, "[SPGIST] null query pointer (!?!), returning false");
+                       PG_RETURN_BOOL(false); /* NULL query! This is screwy! */
+               }
+
+               if ( gserialized_datum_get_box2df_p(query, &query_gbox_index) == LW_FAILURE )
+               {
+                       POSTGIS_DEBUG(4, "[SPGIST] null query_gbox_index!");
+                       PG_RETURN_BOOL(false);
+               }
+
+               switch (strategy)
+               {
+                       case RTOverlapStrategyNumber:
+                               flag = box2df_overlaps(key, &query_gbox_index);
+                               break;
+
+                       case RTContainsStrategyNumber:
+                       case RTOldContainsStrategyNumber:
+                               flag = box2df_contains(key, &query_gbox_index);
+                               break;
+
+                       case RTContainedByStrategyNumber:
+                       case RTOldContainedByStrategyNumber:
+                               flag = box2df_contains(&query_gbox_index, key);
+                               break;
+
+                       case RTSameStrategyNumber:
+                               flag = box2df_equals(key, &query_gbox_index);
+                               break;
+
+                       case RTLeftStrategyNumber:
+                               flag = box2df_left(key, &query_gbox_index);
+                               break;
+
+                       case RTOverLeftStrategyNumber:
+                               flag = box2df_overleft(key, &query_gbox_index);
+                               break;
+
+                       case RTRightStrategyNumber:
+                               flag = box2df_right(key, &query_gbox_index);
+                               break;
+
+                       case RTOverRightStrategyNumber:
+                               flag = box2df_overright(key, &query_gbox_index);
+                               break;
+
+                       case RTAboveStrategyNumber:
+                               flag = box2df_above(key, &query_gbox_index);
+                               break;
+
+                       case RTOverAboveStrategyNumber:
+                               flag = box2df_overabove(key, &query_gbox_index);
+                               break;
+
+                       case RTBelowStrategyNumber:
+                               flag = box2df_below(key, &query_gbox_index);
+                               break;
+
+                       case RTOverBelowStrategyNumber:
+                               flag = box2df_overbelow(key, &query_gbox_index);
+                               break;
+
+                       default:
+                               elog(ERROR, "unrecognized strategy: %d", strategy);
+               }
+
+               /* If any check is failed, we have found our answer. */
+               if (!flag)
+                       break;
+       }
+
+       PG_RETURN_BOOL(flag);
+}
+
+/*
+** RTiST support function. Given a geography, return a "compressed"
+** version. In this case, we convert the geography into a geocentric
+** bounding box. If the geography already has the box embedded in it
+** we pull that out and hand it back.
+*/
+
+PG_FUNCTION_INFO_V1(gserialized_spgist_compress_2d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_compress_2d(PG_FUNCTION_ARGS)
+{
+       Datum           gsdatum = PG_GETARG_DATUM(0);
+       BOX2DF     *bbox_out = palloc(sizeof(BOX2DF));
+       int result = LW_SUCCESS;
+
+       POSTGIS_DEBUG(4, "[SPGIST] 'compress' function called");
+
+       /* Extract the index key from the argument. */
+       result = gserialized_datum_get_box2df_p(gsdatum, bbox_out);
+
+       /* Is the bounding box valid (non-empty, non-infinite)? If not, return input uncompressed. */
+       if ( result == LW_FAILURE )
+       {
+               box2df_set_empty(bbox_out);
+
+               POSTGIS_DEBUG(4, "[SPGIST] empty geometry!");
+               PG_RETURN_POINTER(bbox_out);
+       }
+
+       POSTGIS_DEBUGF(4, "[SPGIST] got box: %s", box2df_to_string(bbox_out));
+
+       /* Check all the dimensions for finite values */
+       if ( ! isfinite(bbox_out->xmax) || ! isfinite(bbox_out->xmin) ||
+            ! isfinite(bbox_out->ymax) || ! isfinite(bbox_out->ymin) )
+       {
+               box2df_set_finite(bbox_out);
+
+               POSTGIS_DEBUG(4, "[SPGIST] infinite geometry!");
+               PG_RETURN_POINTER(bbox_out);
+       }
+
+       /* Ensure bounding box has minimums below maximums. */
+       box2df_validate(bbox_out);
+
+       /* Return BOX2DF. */
+       POSTGIS_DEBUG(4, "[SPGIST] 'compress' function complete");
+       PG_RETURN_POINTER(bbox_out);
+}
+
+/*****************************************************************************/
diff --git a/postgis/gserialized_spgist_3d.c b/postgis/gserialized_spgist_3d.c
new file mode 100644 (file)
index 0000000..79a2f3e
--- /dev/null
@@ -0,0 +1,787 @@
+/*****************************************************************************
+ *
+ * gserialized_spgist_3d.c
+ *       SP-GiST implementation of 6-dimensional oct-tree over 3D boxes
+ *
+ * This module provides SP-GiST implementation for boxes using oct tree
+ * analogy in 4-dimensional space.  SP-GiST doesn't allow indexing of
+ * overlapping objects.  We are making 3D objects never-overlapping in
+ * 6D space.  This technique has some benefits compared to traditional
+ * R-Tree which is implemented as GiST.  The performance tests reveal
+ * that this technique especially beneficial with too much overlapping
+ * objects, so called "spaghetti data".
+ *
+ * Unlike the original oct-tree, we are splitting the tree into 64
+ * octants in 6D space.  It is easier to imagine it as splitting space
+ * three times into 3:
+ *
+ *                             |          |                                            |          |
+ *                             |          |                                            |          |
+ *                             | -----+-----                                   | -----+-----
+ *                             |          |                                            |          |
+ *                             |          |                                            |          |
+ * -------------+------------- -+- -------------+-------------
+ *                             |                                                               |
+ *                             |                                                               |
+ *                             |                                                               |
+ *                             |                                                               |
+ *                             |                                                               |
+ *                       FRONT                                                   BACK
+ *
+ * We are using box3D data type as the prefix, but we are treating them
+ * as points in 6-dimensional space, because 3D boxes are not enough
+ * to represent the octant boundaries in 6D space.  They however are
+ * sufficient to point out the additional boundaries of the next
+ * octant.
+ *
+ * We are using traversal values provided by SP-GiST to calculate and
+ * to store the bounds of the octants, while traversing into the tree.
+ * Traversal value has all the boundaries in the 6D space, and is is
+ * capable of transferring the required boundaries to the following
+ * traversal values.  In conclusion, three things are necessary
+ * to calculate the next traversal value:
+ *
+ *     (1) the traversal value of the parent
+ *     (2) the octant of the current node
+ *     (3) the prefix of the current node
+ *
+ * If we visualize them on our simplified drawing (see the drawing above);
+ * transferred boundaries of (1) would be the outer axis, relevant part
+ * of (2) would be the up range_y part of the other axis, and (3) would be
+ * the inner axis.
+ *
+ * For example, consider the case of overlapping.  When recursion
+ * descends deeper and deeper down the tree, all octants in
+ * the current node will be checked for overlapping.  The boundaries
+ * will be re-calculated for all octants.  Overlap check answers
+ * the question: can any box from this octant overlap with the given
+ * box?  If yes, then this octant will be walked.  If no, then this
+ * octant will be skipped.
+ *
+ * This method provides restrictions for minimum and maximum values of
+ * every dimension of every corner of the box on every level of the tree
+ * except the root.  For the root node, we are setting the boundaries
+ * that we don't yet have as infinity.
+ *
+ * Portions Copyright (c) 2018, Esteban Zimanyi, Arthur Lesuisse,
+ *             Université Libre de Bruxelles
+ * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ *****************************************************************************/
+
+#include "gserialized_spgist_3d.h"
+#include "lwgeom_pg.h"
+
+PG_FUNCTION_INFO_V1(gserialized_overlaps_3d);
+Datum gserialized_overlaps_3d(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, PG_GETARG_DATUM(0)));
+       BOX3D *box2 = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, PG_GETARG_DATUM(1)));
+       bool resut = BOX3D_overlaps_internal(box1, box2);
+       pfree(box1); pfree(box2);
+
+       PG_RETURN_BOOL(resut);
+}
+
+PG_FUNCTION_INFO_V1(gserialized_contains_3d);
+Datum gserialized_contains_3d(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, PG_GETARG_DATUM(0)));
+       BOX3D *box2 = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, PG_GETARG_DATUM(1)));
+       bool resut = BOX3D_contains_internal(box1, box2);
+       pfree(box1); pfree(box2);
+
+       PG_RETURN_BOOL(resut);
+}
+
+PG_FUNCTION_INFO_V1(gserialized_contained_3d);
+Datum gserialized_contained_3d(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, PG_GETARG_DATUM(0)));
+       BOX3D *box2 = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, PG_GETARG_DATUM(1)));
+       bool resut = BOX3D_contained_internal(box1, box2);
+       pfree(box1); pfree(box2);
+
+       PG_RETURN_BOOL(resut);
+}
+
+PG_FUNCTION_INFO_V1(gserialized_same_3d);
+Datum gserialized_same_3d(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, PG_GETARG_DATUM(0)));
+       BOX3D *box2 = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, PG_GETARG_DATUM(1)));
+       bool resut = BOX3D_same_internal(box1, box2);
+       pfree(box1); pfree(box2);
+
+       PG_RETURN_BOOL(resut);
+}
+
+/*
+ * Comparator for qsort
+ *
+ * We don't need to use the floating point macros in here, because this
+ * is only going to be used in a place to effect the performance
+ * of the index, not the correctness.
+ */
+static int
+compareDoubles(const void *a, const void *b)
+{
+       double          x = *(double *) a;
+       double          y = *(double *) b;
+
+       if (x == y)
+               return 0;
+       return (x > y) ? 1 : -1;
+}
+
+typedef struct
+{
+       BOX3D   left;
+       BOX3D   right;
+} CubeBox3D;
+
+/*
+ * Calculate the octant
+ *
+ * The octant is 8 bit unsigned integer with 6 least bits in use.
+ * This function accepts 2 BOX3D as input. All 6 bits are set by comparing
+ * a corner of the box. This makes 64 octants in total.
+ */
+static uint8
+getOctant(BOX3D *centroid, BOX3D *inBox)
+{
+       uint8           octant = 0;
+
+       if (inBox->xmin > centroid->xmin)
+               octant |= 0x20;
+
+       if (inBox->xmax > centroid->xmax)
+               octant |= 0x10;
+
+       if (inBox->ymin > centroid->ymin)
+               octant |= 0x08;
+
+       if (inBox->ymax > centroid->ymax)
+               octant |= 0x04;
+
+       if (inBox->zmin > centroid->zmin)
+               octant |= 0x02;
+
+       if (inBox->zmax > centroid->zmax)
+               octant |= 0x01;
+
+       return octant;
+}
+
+/*
+ * Initialize the traversal value
+ *
+ * In the beginning, we don't have any restrictions.  We have to
+ * initialize the struct to cover the whole 6D space.
+ */
+static CubeBox3D *
+initCubeBox(void)
+{
+       CubeBox3D  *cube_box = (CubeBox3D *) palloc(sizeof(CubeBox3D));
+       double          infinity = get_float8_infinity();
+
+       cube_box->left.xmin = -infinity;
+       cube_box->left.xmax = infinity;
+
+       cube_box->left.ymin = -infinity;
+       cube_box->left.ymax = infinity;
+
+       cube_box->left.zmin = -infinity;
+       cube_box->left.zmax = infinity;
+
+       cube_box->right.xmin = -infinity;
+       cube_box->right.xmax = infinity;
+
+       cube_box->right.ymin = -infinity;
+       cube_box->right.ymax = infinity;
+
+       cube_box->right.zmin = -infinity;
+       cube_box->right.zmax = infinity;
+
+       return cube_box;
+}
+
+/*
+ * Calculate the next traversal value
+ *
+ * All centroids are bounded by CubeBox3D, but SP-GiST only keeps
+ * boxes.  When we are traversing the tree, we must calculate CubeBox3D,
+ * using centroid and octant.
+ */
+static CubeBox3D *
+nextCubeBox3D(CubeBox3D *cube_box, BOX3D *centroid, uint8 octant)
+{
+       CubeBox3D    *next_cube_box = (CubeBox3D *) palloc(sizeof(CubeBox3D));
+
+       memcpy(next_cube_box, cube_box, sizeof(CubeBox3D));
+
+       if (octant & 0x20)
+               next_cube_box->left.xmin = centroid->xmin;
+       else
+               next_cube_box->left.xmax = centroid->xmin;
+
+       if (octant & 0x10)
+               next_cube_box->right.xmin = centroid->xmax;
+       else
+               next_cube_box->right.xmax = centroid->xmax;
+
+       if (octant & 0x08)
+               next_cube_box->left.ymin = centroid->ymin;
+       else
+               next_cube_box->left.ymax = centroid->ymin;
+
+       if (octant & 0x04)
+               next_cube_box->right.ymin = centroid->ymax;
+       else
+               next_cube_box->right.ymax = centroid->ymax;
+
+       if (octant & 0x02)
+               next_cube_box->left.zmin = centroid->zmin;
+       else
+               next_cube_box->left.zmax = centroid->zmin;
+
+       if (octant & 0x01)
+               next_cube_box->right.zmin = centroid->zmax;
+       else
+               next_cube_box->right.zmax = centroid->zmax;
+
+       return next_cube_box;
+}
+
+/* Can any cube from cube_box overlap with query? */
+static bool
+overlap6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return  (cube_box->left.xmin <= query->xmax) &&
+                       (cube_box->right.xmax >= query->xmin) &&
+                       (cube_box->left.ymin <= query->ymax) &&
+                       (cube_box->right.ymax >= query->ymin) &&
+                       (cube_box->left.zmin <= query->zmax) &&
+                       (cube_box->right.zmax >= query->zmin);
+}
+
+/* Can any cube from cube_box contain query? */
+static bool
+contain6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return  (cube_box->right.xmax >= query->xmax) &&
+                       (cube_box->left.xmin <= query->xmin) &&
+                       (cube_box->right.ymax >= query->ymax) &&
+                       (cube_box->left.ymin <= query->ymin) &&
+                       (cube_box->right.zmax >= query->zmax) &&
+                       (cube_box->left.zmin <= query->zmin);
+}
+
+/* Can any cube from cube_box be left of query? */
+static bool
+left6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->right.xmax < query->xmin);
+}
+
+/* Can any cube from cube_box does not extend the right of query? */
+static bool
+overLeft6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->right.xmax <= query->xmax);
+}
+
+/* Can any cube from cube_box be right of query? */
+static bool
+right6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->left.xmin > query->xmax);
+}
+
+/* Can any cube from cube_box does not extend the left of query? */
+static bool
+overRight6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->left.xmin >= query->xmin);
+}
+
+/* Can any cube from cube_box be below of query? */
+static bool
+below6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->right.ymax < query->ymin);
+}
+
+/* Can any cube from cube_box does not extend above query? */
+static bool
+overBelow6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->right.ymax <= query->ymax);
+}
+
+/* Can any cube from cube_box be above of query? */
+static bool
+above6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->left.ymin > query->ymax);
+}
+
+/* Can any cube from cube_box does not extend below of query? */
+static bool
+overAbove6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->left.ymin >= query->ymin);
+}
+
+/* Can any cube from cube_box be before of query? */
+static bool
+front6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->right.zmax < query->zmin);
+}
+
+/* Can any cube from cube_box does not extend the after of query? */
+static bool
+overFront6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->right.zmax <= query->zmax);
+}
+
+/* Can any cube from cube_box be after of query? */
+static bool
+back6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->left.zmin > query->zmax);
+}
+
+/* Can any cube from cube_box does not extend the before of query? */
+static bool
+overBack6D(CubeBox3D *cube_box, BOX3D *query)
+{
+       return (cube_box->left.zmin >= query->zmin);
+}
+
+/*
+ * SP-GiST config function
+ */
+
+PG_FUNCTION_INFO_V1(gserialized_spgist_config_3d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_config_3d(PG_FUNCTION_ARGS)
+{
+       spgConfigOut *cfg = (spgConfigOut *) PG_GETARG_POINTER(1);
+
+       Oid boxoid = TypenameGetTypid("box3d");
+       cfg->prefixType = boxoid;
+       cfg->labelType = VOIDOID;       /* We don't need node labels. */
+       cfg->leafType = boxoid;
+       cfg->canReturnData = false;
+       cfg->longValuesOK = false;
+
+       PG_RETURN_VOID();
+}
+
+/*
+ * SP-GiST choose function
+ */
+
+PG_FUNCTION_INFO_V1(gserialized_spgist_choose_3d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_choose_3d(PG_FUNCTION_ARGS)
+{
+       spgChooseIn *in = (spgChooseIn *) PG_GETARG_POINTER(0);
+       spgChooseOut *out = (spgChooseOut *) PG_GETARG_POINTER(1);
+       BOX3D      *centroid = DatumGetBox3DP(in->prefixDatum),
+                          *box = DatumGetBox3DP(in->leafDatum);
+
+       out->resultType = spgMatchNode;
+       out->result.matchNode.restDatum = Box3DPGetDatum(box);
+
+       /* nodeN will be set by core, when allTheSame. */
+       if (!in->allTheSame)
+               out->result.matchNode.nodeN = getOctant(centroid, box);
+
+       PG_RETURN_VOID();
+}
+
+/*
+ * SP-GiST pick-split function
+ *
+ * It splits a list of boxes into octants by choosing a central 6D
+ * point as the median of the coordinates of the boxes.
+ */
+PG_FUNCTION_INFO_V1(gserialized_spgist_picksplit_3d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_picksplit_3d(PG_FUNCTION_ARGS)
+{
+       spgPickSplitIn *in = (spgPickSplitIn *) PG_GETARG_POINTER(0);
+       spgPickSplitOut *out = (spgPickSplitOut *) PG_GETARG_POINTER(1);
+       BOX3D      *centroid;
+       int                     median,
+                               i;
+       double     *lowXs = palloc(sizeof(double) * in->nTuples);
+       double     *highXs = palloc(sizeof(double) * in->nTuples);
+       double     *lowYs = palloc(sizeof(double) * in->nTuples);
+       double     *highYs = palloc(sizeof(double) * in->nTuples);
+       double     *lowZs = palloc(sizeof(double) * in->nTuples);
+       double     *highZs = palloc(sizeof(double) * in->nTuples);
+       BOX3D      *box = DatumGetBox3DP(in->datums[0]);
+       int32_t         srid = box->srid;
+
+       /* Calculate median of all 6D coordinates */
+       for (i = 0; i < in->nTuples; i++)
+       {
+               BOX3D      *box = DatumGetBox3DP(in->datums[i]);
+
+               lowXs[i] = box->xmin;
+               highXs[i] = box->xmax;
+               lowYs[i] = box->ymin;
+               highYs[i] = box->ymax;
+               lowZs[i] = box->zmin;
+               highZs[i] = box->zmax;
+       }
+
+       qsort(lowXs, in->nTuples, sizeof(double), compareDoubles);
+       qsort(highXs, in->nTuples, sizeof(double), compareDoubles);
+       qsort(lowYs, in->nTuples, sizeof(double), compareDoubles);
+       qsort(highYs, in->nTuples, sizeof(double), compareDoubles);
+       qsort(lowZs, in->nTuples, sizeof(double), compareDoubles);
+       qsort(highZs, in->nTuples, sizeof(double), compareDoubles);
+
+       median = in->nTuples / 2;
+
+       centroid = palloc(sizeof(BOX3D));
+
+       centroid->xmin = lowXs[median];
+       centroid->xmax = highXs[median];
+       centroid->ymin = lowYs[median];
+       centroid->ymax = highYs[median];
+       centroid->zmin = lowZs[median];
+       centroid->zmax = highZs[median];
+       centroid->srid = srid;
+
+       /* Fill the output */
+       out->hasPrefix = true;
+       out->prefixDatum = Box3DPGetDatum(centroid);
+
+       out->nNodes = 64;
+       out->nodeLabels = NULL;         /* We don't need node labels. */
+
+       out->mapTuplesToNodes = palloc(sizeof(int) * in->nTuples);
+       out->leafTupleDatums = palloc(sizeof(Datum) * in->nTuples);
+
+       /*
+        * Assign ranges to corresponding nodes according to octants relative to
+        * the "centroid" range
+        */
+       for (i = 0; i < in->nTuples; i++)
+       {
+               BOX3D      *box = DatumGetBox3DP(in->datums[i]);
+               uint8           octant = getOctant(centroid, box);
+
+               out->leafTupleDatums[i] = Box3DPGetDatum(box);
+               out->mapTuplesToNodes[i] = octant;
+       }
+
+       pfree(lowXs);
+       pfree(highXs);
+       pfree(lowYs);
+       pfree(highYs);
+       pfree(lowZs);
+       pfree(highZs);
+
+       PG_RETURN_VOID();
+}
+
+/*
+ * SP-GiST inner consistent function
+ */
+PG_FUNCTION_INFO_V1(gserialized_spgist_inner_consistent_3d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_inner_consistent_3d(PG_FUNCTION_ARGS)
+{
+       spgInnerConsistentIn *in = (spgInnerConsistentIn *) PG_GETARG_POINTER(0);
+       spgInnerConsistentOut *out = (spgInnerConsistentOut *) PG_GETARG_POINTER(1);
+       int                     i;
+       MemoryContext old_ctx;
+       CubeBox3D   *cube_box;
+       uint8           octant;
+       BOX3D      *centroid;
+       int                *nodeNumbers;
+       void      **traversalValues;
+
+       if (in->allTheSame)
+       {
+               /* Report that all nodes should be visited */
+               out->nNodes = in->nNodes;
+               out->nodeNumbers = (int *) palloc(sizeof(int) * in->nNodes);
+               for (i = 0; i < in->nNodes; i++)
+                       out->nodeNumbers[i] = i;
+
+               PG_RETURN_VOID();
+       }
+
+       /*
+        * We are saving the traversal value or initialize it an unbounded one, if
+        * we have just begun to walk the tree.
+        */
+       if (in->traversalValue)
+               cube_box = in->traversalValue;
+       else
+               cube_box = initCubeBox();
+
+       centroid = DatumGetBox3DP(in->prefixDatum);
+
+       /* Allocate enough memory for nodes */
+       out->nNodes = 0;
+       nodeNumbers = (int *) palloc(sizeof(int) * in->nNodes);
+       traversalValues = (void **) palloc(sizeof(void *) * in->nNodes);
+
+       /*
+        * We switch memory context, because we want to allocate memory for new
+        * traversal values (next_cube_box) and pass these pieces of memory to
+        * further call of this function.
+        */
+       old_ctx = MemoryContextSwitchTo(in->traversalMemoryContext);
+
+       for (octant = 0; octant < in->nNodes; octant++)
+       {
+               CubeBox3D  *next_cube_box = nextCubeBox3D(cube_box, centroid, octant);
+               bool            flag = true;
+
+               for (i = 0; i < in->nkeys; i++)
+               {
+                       StrategyNumber strategy = in->scankeys[i].sk_strategy;
+                       Datum           query = in->scankeys[i].sk_argument;
+                       BOX3D      *box = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, query));
+
+                       switch (strategy)
+                       {
+                               case SPGOverlapStrategyNumber:
+                               case SPGContainedByStrategyNumber:
+                                       flag = overlap6D(next_cube_box, box);
+                                       break;
+
+                               case SPGContainsStrategyNumber:
+                               case SPGSameStrategyNumber:
+                                       flag = contain6D(next_cube_box, box);
+                                       break;
+
+                               case SPGLeftStrategyNumber:
+                                       flag = !overRight6D(next_cube_box, box);
+                                       break;
+
+                               case SPGOverLeftStrategyNumber:
+                                       flag = !right6D(next_cube_box, box);
+                                       break;
+
+                               case SPGRightStrategyNumber:
+                                       flag = !overLeft6D(next_cube_box, box);
+                                       break;
+
+                               case SPGOverRightStrategyNumber:
+                                       flag = !left6D(next_cube_box, box);
+                                       break;
+
+                               case SPGAboveStrategyNumber:
+                                       flag = !overBelow6D(next_cube_box, box);
+                                       break;
+
+                               case SPGOverAboveStrategyNumber:
+                                       flag = !below6D(next_cube_box, box);
+                                       break;
+
+                               case SPGBelowStrategyNumber:
+                                       flag = !overAbove6D(next_cube_box, box);
+                                       break;
+
+                               case SPGOverBelowStrategyNumber:
+                                       flag = !above6D(next_cube_box, box);
+                                       break;
+
+                               case SPGBackStrategyNumber:
+                                       flag = !overFront6D(next_cube_box, box);
+                                       break;
+
+                               case SPGOverBackStrategyNumber:
+                                       flag = !front6D(next_cube_box, box);
+                                       break;
+
+                               case SPGFrontStrategyNumber:
+                                       flag = !overBack6D(next_cube_box, box);
+                                       break;
+
+                               case SPGOverFrontStrategyNumber:
+                                       flag = !back6D(next_cube_box, box);
+                                       break;
+
+                               default:
+                                       elog(ERROR, "unrecognized strategy: %d", strategy);
+                       }
+
+                       /* If any check is failed, we have found our answer. */
+                       if (!flag)
+                               break;
+               }
+
+               if (flag)
+               {
+                       traversalValues[out->nNodes] = next_cube_box;
+                       nodeNumbers[out->nNodes] = octant;
+                       out->nNodes++;
+               }
+               else
+               {
+                       /*
+                        * If this node is not selected, we don't need to keep the next
+                        * traversal value in the memory context.
+                        */
+                       pfree(next_cube_box);
+               }
+       }
+
+       /* Pass to the next level only the values that need to be traversed */
+       out->nodeNumbers = (int *) palloc(sizeof(int) * out->nNodes);
+       out->traversalValues = (void **) palloc(sizeof(void *) * out->nNodes);
+       for (i = 0; i < out->nNodes; i++)
+       {
+               out->nodeNumbers[i] = nodeNumbers[i];
+               out->traversalValues[i] = traversalValues[i];
+       }
+       pfree(nodeNumbers);
+       pfree(traversalValues);
+
+       /* Switch after */
+       MemoryContextSwitchTo(old_ctx);
+
+       PG_RETURN_VOID();
+}
+
+/*
+ * SP-GiST inner consistent function
+ */
+PG_FUNCTION_INFO_V1(gserialized_spgist_leaf_consistent_3d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_leaf_consistent_3d(PG_FUNCTION_ARGS)
+{
+       spgLeafConsistentIn *in = (spgLeafConsistentIn *) PG_GETARG_POINTER(0);
+       spgLeafConsistentOut *out = (spgLeafConsistentOut *) PG_GETARG_POINTER(1);
+       BOX3D           *leaf = DatumGetBox3DP(in->leafDatum);
+       bool            flag = true;
+       int                     i;
+
+       /* All tests are exact. */
+       out->recheck = false;
+
+       /* leafDatum is what it is... */
+       out->leafValue = in->leafDatum;
+
+       /* Perform the required comparison(s) */
+       for (i = 0; i < in->nkeys; i++)
+       {
+               StrategyNumber strategy = in->scankeys[i].sk_strategy;
+               Datum           query = in->scankeys[i].sk_argument;
+               BOX3D      *box = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, query));
+
+               switch (strategy)
+               {
+                       case SPGOverlapStrategyNumber:
+                               flag = BOX3D_overlaps_internal(leaf, box);
+                               break;
+
+                       case SPGContainsStrategyNumber:
+                               flag = BOX3D_contains_internal(leaf, box);
+                               break;
+
+                       case SPGContainedByStrategyNumber:
+                               flag = BOX3D_contained_internal(leaf, box);
+                               break;
+
+                       case SPGSameStrategyNumber:
+                               flag = BOX3D_same_internal(leaf, box);
+                               break;
+
+                       case SPGLeftStrategyNumber:
+                               flag = BOX3D_left_internal(leaf, box);
+                               break;
+
+                       case SPGOverLeftStrategyNumber:
+                               flag = BOX3D_overleft_internal(leaf, box);
+                               break;
+
+                       case SPGRightStrategyNumber:
+                               flag = BOX3D_right_internal(leaf, box);
+                               break;
+
+                       case SPGOverRightStrategyNumber:
+                               flag = BOX3D_overright_internal(leaf, box);
+                               break;
+
+                       case SPGAboveStrategyNumber:
+                               flag = BOX3D_above_internal(leaf, box);
+                               break;
+
+                       case SPGOverAboveStrategyNumber:
+                               flag = BOX3D_overabove_internal(leaf, box);
+                               break;
+
+                       case SPGBelowStrategyNumber:
+                               flag = BOX3D_below_internal(leaf, box);
+                               break;
+
+                       case SPGOverBelowStrategyNumber:
+                               flag = BOX3D_overbelow_internal(leaf, box);
+                               break;
+
+                       case SPGBackStrategyNumber:
+                               flag = BOX3D_back_internal(leaf, box);
+                               break;
+
+                       case SPGOverBackStrategyNumber:
+                               flag = BOX3D_overback_internal(leaf, box);
+                               break;
+
+                       case SPGFrontStrategyNumber:
+                               flag = BOX3D_front_internal(leaf, box);
+                               break;
+
+                       case SPGOverFrontStrategyNumber:
+                               flag = BOX3D_overfront_internal(leaf, box);
+                               break;
+
+                       default:
+                               elog(ERROR, "unrecognized strategy: %d", strategy);
+               }
+
+               /* If any check is failed, we have found our answer. */
+               if (!flag)
+                       break;
+       }
+
+       PG_RETURN_BOOL(flag);
+}
+
+PG_FUNCTION_INFO_V1(gserialized_spgist_compress_3d);
+
+PGDLLEXPORT Datum
+gserialized_spgist_compress_3d(PG_FUNCTION_ARGS)
+{
+       BOX3D      *result = DatumGetBox3DP(DirectFunctionCall1(LWGEOM_to_BOX3D, PG_GETARG_DATUM(0)));
+
+       /* Is the bounding box is null */
+       if ( result == LW_FAILURE )
+       {
+               PG_RETURN_NULL();
+       }
+
+       /* Return BOX3D. */
+       PG_RETURN_POINTER(result);
+}
+
+/*****************************************************************************/
diff --git a/postgis/gserialized_spgist_3d.h b/postgis/gserialized_spgist_3d.h
new file mode 100644 (file)
index 0000000..051e5cb
--- /dev/null
@@ -0,0 +1,70 @@
+
+#include <postgres.h>
+#include <liblwgeom.h>
+#include <math.h>
+
+#include <access/spgist.h>
+#include <access/stratnum.h>
+#include <catalog/namespace.h>
+#include <catalog/pg_type.h>
+#include <utils/builtins.h>
+#include <utils/geo_decls.h>
+
+/*****************************************************************************
+ * Operator strategy numbers used in the GiST and SP-GiST box3d opclasses
+ *****************************************************************************/
+
+#define SPGLeftStrategyNumber            1   /* for << */
+#define SPGOverLeftStrategyNumber        2   /* for &< */
+#define SPGOverlapStrategyNumber         3   /* for && */
+#define SPGOverRightStrategyNumber       4   /* for &> */
+#define SPGRightStrategyNumber           5   /* for >> */
+#define SPGSameStrategyNumber            6   /* for ~= */
+#define SPGContainsStrategyNumber        7   /* for @> */
+#define SPGContainedByStrategyNumber     8   /* for <@ */
+#define SPGOverBelowStrategyNumber       9   /* for &<| */
+#define SPGBelowStrategyNumber           10  /* for <<| */
+#define SPGAboveStrategyNumber           11  /* for |>> */
+#define SPGOverAboveStrategyNumber       12  /* for |&> */
+#define SPGOldContainsStrategyNumber     13  /* for old spelling of @> */
+#define SPGOldContainedByStrategyNumber  14  /* for old spelling of <@ */
+#define SPGKNNSearchStrategyNumber       15  /* for <-> (distance) */
+#define SPGContainsElemStrategyNumber    16  /* for range types @> elem */
+#define SPGAdjacentStrategyNumber        17  /* for -|- */
+#define SPGEqualStrategyNumber           18  /* for = */
+#define SPGNotEqualStrategyNumber        19  /* for != */
+#define SPGLessStrategyNumber            20  /* for < */
+#define SPGLessEqualStrategyNumber       21  /* for <= */
+#define SPGGreaterStrategyNumber         22  /* for > */
+#define SPGGreaterEqualStrategyNumber    23  /* for >= */
+#define SPGSubStrategyNumber             24  /* for inet >> */
+#define SPGSubEqualStrategyNumber        25  /* for inet <<= */
+#define SPGSuperStrategyNumber           26  /* for inet << */
+#define SPGSuperEqualStrategyNumber      27  /* for inet >>= */
+#define SPGOverFrontStrategyNumber             28              /* for &</ */
+#define SPGFrontStrategyNumber                 29              /* for <</ */
+#define SPGBackStrategyNumber                  30              /* for />> */
+#define SPGOverBackStrategyNumber              31              /* for /&> */
+
+/*****************************************************************************
+ * BOX3D operators
+ *****************************************************************************/
+
+
+bool BOX3D_contains_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_contained_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_overlaps_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_same_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_left_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_overleft_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_right_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_overright_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_below_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_overbelow_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_above_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_overabove_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_front_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_overfront_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_back_internal(BOX3D *box1, BOX3D *box2);
+bool BOX3D_overback_internal(BOX3D *box1, BOX3D *box2);
+double BOX3D_distance_internal(BOX3D *box1, BOX3D *box2);
index 748c6f5b0c0f872f238f3923d7e072e5167db76c..9f9ab08542d083016da9d2b86795fad34df5c189 100644 (file)
 #include "utils/elog.h"
 #include "utils/geo_decls.h"
 
+/** needed for sp-gist support PostgreSQL 11+ **/
+#if POSTGIS_PGSQL_VERSION > 100
+#include "gserialized_spgist_3d.h"
+#endif
+
 #include "../postgis_config.h"
 #include "lwgeom_pg.h"
 #include "liblwgeom.h"
@@ -58,6 +63,27 @@ Datum BOX3D_zmax(PG_FUNCTION_ARGS);
 Datum BOX3D_combine(PG_FUNCTION_ARGS);
 Datum BOX3D_combine_BOX3D(PG_FUNCTION_ARGS);
 
+/** needed for sp-gist support PostgreSQL 11+ **/
+#if POSTGIS_PGSQL_VERSION > 100
+Datum BOX3D_contains(PG_FUNCTION_ARGS);
+Datum BOX3D_contained(PG_FUNCTION_ARGS);
+Datum BOX3D_overlaps(PG_FUNCTION_ARGS);
+Datum BOX3D_same(PG_FUNCTION_ARGS);
+Datum BOX3D_left(PG_FUNCTION_ARGS);
+Datum BOX3D_overleft(PG_FUNCTION_ARGS);
+Datum BOX3D_right(PG_FUNCTION_ARGS)    ;
+Datum BOX3D_overright(PG_FUNCTION_ARGS);
+Datum BOX3D_below(PG_FUNCTION_ARGS);
+Datum BOX3D_overbelow(PG_FUNCTION_ARGS);
+Datum BOX3D_above(PG_FUNCTION_ARGS);
+Datum BOX3D_overabove(PG_FUNCTION_ARGS);
+Datum BOX3D_front(PG_FUNCTION_ARGS);
+Datum BOX3D_overfront(PG_FUNCTION_ARGS);
+Datum BOX3D_back(PG_FUNCTION_ARGS);
+Datum BOX3D_overback(PG_FUNCTION_ARGS);
+Datum BOX3D_distance(PG_FUNCTION_ARGS);
+#endif
+
 /**
  *  BOX3D_in - takes a string rep of BOX3D and returns internal rep
  *
@@ -601,3 +627,387 @@ Datum BOX3D_construct(PG_FUNCTION_ARGS)
 
        PG_RETURN_POINTER(result);
 }
+
+/** needed for sp-gist support PostgreSQL 11+ **/
+#if POSTGIS_PGSQL_VERSION > 100
+/*****************************************************************************
+ * BOX3D functions
+ *****************************************************************************/
+
+/* contains? */
+
+bool
+BOX3D_contains_internal(BOX3D *box1, BOX3D *box2)
+{
+       return (box1->xmax >= box2->xmax &&
+                       box1->xmin <= box2->xmin &&
+                       box1->ymax >= box2->ymax &&
+                       box1->ymin <= box2->ymin &&
+                       box1->zmax >= box2->zmax &&
+                       box1->zmin <= box2->zmin);
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_contains);
+
+PGDLLEXPORT Datum
+BOX3D_contains(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_contains_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* contained by? */
+
+bool
+BOX3D_contained_internal(BOX3D *box1, BOX3D *box2)
+{
+       return BOX3D_contains_internal(box2, box1);
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_contained);
+
+PGDLLEXPORT Datum
+BOX3D_contained(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_contained_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* overlaps? */
+
+bool
+BOX3D_overlaps_internal(BOX3D *box1, BOX3D *box2)
+{
+       return (box1->xmin <= box2->xmax &&
+                       box2->xmin <= box1->xmax &&
+                       box1->ymin <= box2->ymax &&
+                       box2->ymin <= box1->ymax &&
+                       box1->zmin <= box2->zmax &&
+                       box2->zmin <= box1->zmax);
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_overlaps);
+
+PGDLLEXPORT Datum
+BOX3D_overlaps(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_overlaps_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* same? */
+
+bool
+BOX3D_same_internal(BOX3D *box1, BOX3D *box2)
+{
+       return (FPeq(box1->xmax, box2->xmax) &&
+                       FPeq(box1->xmin, box2->xmin) &&
+                       FPeq(box1->ymax, box2->ymax) &&
+                       FPeq(box1->ymin, box2->ymin) &&
+                       FPeq(box1->zmax, box2->zmax) &&
+                       FPeq(box1->zmin, box2->zmin));
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_same);
+
+PGDLLEXPORT Datum
+BOX3D_same(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_same_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* strictly left of? */
+
+bool
+BOX3D_left_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->xmax < box2->xmin;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_left);
+
+PGDLLEXPORT Datum
+BOX3D_left(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_left_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* does not extend to right of? */
+
+bool
+BOX3D_overleft_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->xmax <= box2->xmax;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_overleft);
+
+PGDLLEXPORT Datum
+BOX3D_overleft(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_overleft_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* strictly right of? */
+
+bool
+BOX3D_right_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->xmin > box2->xmax;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_right);
+
+PGDLLEXPORT Datum
+BOX3D_right(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_right_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* does not extend to left of? */
+
+bool
+BOX3D_overright_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->xmin >= box2->xmin;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_overright);
+
+PGDLLEXPORT Datum
+BOX3D_overright(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_overright_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* strictly below of? */
+
+bool
+BOX3D_below_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->ymax < box2->ymin;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_below);
+
+PGDLLEXPORT Datum
+BOX3D_below(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_below_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* does not extend above of? */
+
+bool
+BOX3D_overbelow_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->ymax <= box2->ymax;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_overbelow);
+
+PGDLLEXPORT Datum
+BOX3D_overbelow(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_overbelow_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* strictly above of? */
+
+bool
+BOX3D_above_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->ymin > box2->ymax;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_above);
+
+PGDLLEXPORT Datum
+BOX3D_above(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_above_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* does not extend below of? */
+
+bool
+BOX3D_overabove_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->ymin >= box2->ymin;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_overabove);
+
+PGDLLEXPORT Datum
+BOX3D_overabove(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_overabove_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* strictly in before of? */
+
+bool
+BOX3D_front_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->zmax < box2->zmin;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_front);
+
+PGDLLEXPORT Datum
+BOX3D_front(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_front_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* does not extend to the after of? */
+
+bool
+BOX3D_overfront_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->zmax <= box2->zmax;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_overfront);
+
+PGDLLEXPORT Datum
+BOX3D_overfront(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_overfront_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* strictly after of? */
+
+bool
+BOX3D_back_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->zmin > box2->zmax;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_back);
+
+PGDLLEXPORT Datum
+BOX3D_back(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_back_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* does not extend to the before of? */
+
+bool
+BOX3D_overback_internal(BOX3D *box1, BOX3D *box2)
+{
+       return box1->zmin >= box2->zmin;
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_overback);
+
+PGDLLEXPORT Datum
+BOX3D_overback(PG_FUNCTION_ARGS)
+{
+       BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+       BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+       bool result = BOX3D_overback_internal(box1, box2);
+       PG_RETURN_BOOL(result);
+}
+
+/* Minimum distance between 2 bounding boxes */
+
+double
+BOX3D_distance_internal(BOX3D *box1, BOX3D *box2)
+{
+    double      sqrDist = 0;
+    double      d;
+
+    if (BOX3D_overlaps_internal(box1, box2))
+        return 0.0;
+
+    /* X axis */
+    if (box1->xmax < box2->xmin)
+    {
+        d = box1->xmax - box2->xmin;
+        sqrDist += d * d;
+    }
+    else if (box1->xmin > box2->xmax)
+    {
+        d = box1->xmin - box2->xmax;
+        sqrDist += d * d;
+    }
+    /* Y axis */
+    if (box1->ymax < box2->ymin)
+    {
+        d = box1->ymax - box2->ymin;
+        sqrDist += d * d;
+    }
+    else if (box1->ymin > box2->ymax)
+    {
+        d = box1->ymin - box2->ymax;
+        sqrDist += d * d;
+    }
+    /* Z axis */
+    if (box1->zmax < box2->zmin)
+    {
+        d = box1->zmax - box2->zmin;
+        sqrDist += d * d;
+    }
+    else if (box1->zmin > box2->zmax)
+    {
+        d = box1->zmin - box2->zmax;
+        sqrDist += d * d;
+    }
+
+    return sqrt(sqrDist);
+}
+
+PG_FUNCTION_INFO_V1(BOX3D_distance);
+
+PGDLLEXPORT Datum
+BOX3D_distance(PG_FUNCTION_ARGS)
+{
+    BOX3D *box1 = PG_GETARG_BOX3D_P(0);
+    BOX3D *box2 = PG_GETARG_BOX3D_P(1);
+    PG_RETURN_FLOAT8(BOX3D_distance_internal(box1, box2));
+}
+#endif
index 08b63c9a891348d92f20d2f52530bf2bb30c7fd9..df4bac03cb5d88309132b262d82905f362f548b7 100644 (file)
@@ -6093,4 +6093,8 @@ GRANT SELECT ON TABLE geography_columns TO public;
 GRANT SELECT ON TABLE geometry_columns TO public;
 GRANT SELECT ON TABLE spatial_ref_sys TO public;
 
+
+-- moved to separate file cause its invovled
+#include "postgis_spgist.sql.in"
+
 COMMIT;
diff --git a/postgis/postgis_spgist.sql.in b/postgis/postgis_spgist.sql.in
new file mode 100644 (file)
index 0000000..bcde4ea
--- /dev/null
@@ -0,0 +1,166 @@
+#include "sqldefines.h"
+#if POSTGIS_PGSQL_VERSION > 100
+-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
+-- SP-GiST 2D Support Functions
+-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_config_2d(internal, internal)
+       RETURNS void
+       AS 'MODULE_PATHNAME' ,'gserialized_spgist_config_2d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_choose_2d(internal, internal)
+       RETURNS void
+       AS 'MODULE_PATHNAME' ,'gserialized_spgist_choose_2d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_picksplit_2d(internal, internal)
+       RETURNS void
+       AS 'MODULE_PATHNAME' ,'gserialized_spgist_picksplit_2d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_inner_consistent_2d(internal, internal)
+       RETURNS void
+       AS 'MODULE_PATHNAME' ,'gserialized_spgist_inner_consistent_2d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_leaf_consistent_2d(internal, internal)
+       RETURNS bool
+       AS 'MODULE_PATHNAME' ,'gserialized_spgist_leaf_consistent_2d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_compress_2d(internal)
+       RETURNS internal
+       AS 'MODULE_PATHNAME' ,'gserialized_spgist_compress_2d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+
+-- Availability: 2.5.0
+CREATE OPERATOR CLASS spgist_geometry_ops_2d
+       DEFAULT FOR TYPE geometry USING SPGIST AS
+       OPERATOR        1        <<  ,
+       OPERATOR        2        &<      ,
+       OPERATOR        3        &&  ,
+       OPERATOR        4        &>      ,
+       OPERATOR        5        >>      ,
+       OPERATOR        6        ~=      ,
+       OPERATOR        7        ~       ,
+       OPERATOR        8        @       ,
+       OPERATOR        9        &<| ,
+       OPERATOR        10       <<| ,
+       OPERATOR        11       |>> ,
+       OPERATOR        12       |&> ,
+       FUNCTION                1               geometry_spgist_config_2d(internal, internal),
+       FUNCTION                2               geometry_spgist_choose_2d(internal, internal),
+       FUNCTION                3               geometry_spgist_picksplit_2d(internal, internal),
+       FUNCTION                4               geometry_spgist_inner_consistent_2d(internal, internal),
+       FUNCTION                5               geometry_spgist_leaf_consistent_2d(internal, internal),
+       FUNCTION                6               geometry_spgist_compress_2d(internal);
+
+-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
+-- 3-D GEOMETRY Operators
+-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
+
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_overlaps_3d(geom1 geometry, geom2 geometry)
+       RETURNS boolean
+       AS 'MODULE_PATHNAME' ,'gserialized_overlaps_3d'
+       LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
+
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_contains_3d(geom1 geometry, geom2 geometry)
+       RETURNS boolean
+       AS 'MODULE_PATHNAME' ,'gserialized_contains_3d'
+       LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
+
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_contained_3d(geom1 geometry, geom2 geometry)
+       RETURNS boolean
+       AS 'MODULE_PATHNAME' ,'gserialized_contained_3d'
+       LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
+
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_same_3d(geom1 geometry, geom2 geometry)
+       RETURNS boolean
+       AS 'MODULE_PATHNAME' ,'gserialized_same_3d'
+       LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
+
+-- Availability: 2.5.0
+CREATE OPERATOR &/& (
+       PROCEDURE = geometry_overlaps_3d,
+       LEFTARG = geometry, RIGHTARG = geometry,
+       COMMUTATOR = &/&,
+       RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd
+);
+
+-- Availability: 2.5.0
+CREATE OPERATOR @>> (
+       PROCEDURE = geometry_contains_3d,
+       LEFTARG = geometry, RIGHTARG = geometry,
+       COMMUTATOR = <<@,
+       RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd
+);
+
+-- Availability: 2.5.0
+CREATE OPERATOR <<@ (
+       PROCEDURE = geometry_contained_3d,
+       LEFTARG = geometry, RIGHTARG = geometry,
+       COMMUTATOR = @>>,
+       RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd
+);
+
+-- Availability: 2.5.0
+CREATE OPERATOR ~== (
+       PROCEDURE = geometry_same_3d,
+       LEFTARG = geometry, RIGHTARG = geometry,
+       COMMUTATOR = ~==,
+       RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd
+);
+
+-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
+-- SP-GiST 3D Support Functions
+-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_config_3d(internal, internal)
+       RETURNS void
+       AS 'MODULE_PATHNAME', 'gserialized_spgist_config_3d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_choose_3d(internal, internal)
+       RETURNS void
+       AS 'MODULE_PATHNAME', 'gserialized_spgist_choose_3d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_picksplit_3d(internal, internal)
+       RETURNS void
+       AS 'MODULE_PATHNAME', 'gserialized_spgist_picksplit_3d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_inner_consistent_3d(internal, internal)
+       RETURNS void
+       AS 'MODULE_PATHNAME', 'gserialized_spgist_inner_consistent_3d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_leaf_consistent_3d(internal, internal)
+       RETURNS bool
+       AS 'MODULE_PATHNAME', 'gserialized_spgist_leaf_consistent_3d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+-- Availability: 2.5.0
+CREATE OR REPLACE FUNCTION geometry_spgist_compress_3d(internal)
+       RETURNS internal
+       AS 'MODULE_PATHNAME', 'gserialized_spgist_compress_3d'
+       LANGUAGE C IMMUTABLE STRICT  _PARALLEL;
+
+-- Availability: 2.5.0
+CREATE OPERATOR CLASS spgist_geometry_ops_3d
+       FOR TYPE geometry USING SPGIST AS
+       OPERATOR        3        &/&    ,
+       OPERATOR        6        ~==    ,
+       OPERATOR        7        @>>    ,
+       OPERATOR        8        <<@    ,
+       FUNCTION        1       geometry_spgist_config_3d(internal, internal),
+       FUNCTION        2       geometry_spgist_choose_3d(internal, internal),
+       FUNCTION        3       geometry_spgist_picksplit_3d(internal, internal),
+       FUNCTION        4       geometry_spgist_inner_consistent_3d(internal, internal),
+       FUNCTION        5       geometry_spgist_leaf_consistent_3d(internal, internal),
+       FUNCTION        6       geometry_spgist_compress_3d(internal);
+#endif
index 73d6c84ab38613a790e1d1babd678dd8affa0eb0..3d93c9b6c1ab32e1ef144407e0ce4c0e1b4d801b 100644 (file)
@@ -25,6 +25,7 @@ HAVE_JSON=@HAVE_JSON@
 HAVE_PROTOBUF=@HAVE_PROTOBUF@
 HAVE_SFCGAL=@HAVE_SFCGAL@
 HAVE_BRIN=@HAVE_BRIN@
+HAVE_SPGIST=@HAVE_SPGIST@
 MINGWBUILD=@MINGWBUILD@
 INTERRUPTTESTS=@INTERRUPTTESTS@
 
@@ -250,6 +251,12 @@ ifeq ($(HAVE_BRIN),yes)
                regress_brin_index_geography
 endif
 
+ifeq ($(HAVE_SPGIST),yes)
+       TESTS += \
+       regress_spgist_index_2d \
+       regress_spgist_index_3d
+endif
+
 ifeq ($(HAVE_PROTOBUF),yes)
        # protobuf-c adds:
        # ST_AsMVT, ST_AsGeobuf
diff --git a/regress/regress_spgist_index_2d.data b/regress/regress_spgist_index_2d.data
new file mode 100644 (file)
index 0000000..7b2a63d
--- /dev/null
@@ -0,0 +1,206 @@
+1      01030000000100000004000000DDFCABCC74BB544056C9E447BD9744400000AF4DB80D55400000BED2EA163F4029E3DB90E39B5440DC1F0C61E1444240DDFCABCC74BB544056C9E447BD974440
+2      0105000000040000000102000000030000000000CA56CA9931400000FCB2D741334000003A8F8B513C400000104635FB3640B600476F20534040E42BA5EDA5C54240010200000002000000000001A296C74940000085EC0C12484078F030A2FDA75440FD2239AB31ED4A40010200000002000000000086F364F641400000AC3F2739364049FFA179C02A4F40C73D809ED0E243400102000000020000000000D6B868C5454000000726414E4240279A0D0E9D144240EEF423F18B904740
+3      010400000003000000010100000000806D95ACC555400000D6EA52324C4001010000000000DD6A036C4B40000025670023594001010000000000C568DDFB44400000345AABB43440
+4      010100000000009C8CDCF543400080C6B439685740
+5      0102000000020000000000A033D9F00E4000001B874E9E40400000C9CA4C6543400000188EB14D5640
+6      010500000006000000010200000003000000000000E904D9EE3F00006873503C16400000CA77DB3145400000C0ECDCDFFE3F89D615C05D444C40AE0EFB5FE5DA264001020000000200000000001A81B46F31400000B1D8D4914F4080D0A3426A873B4054C44D201DB950400102000000020000000000F48BA64742400000074A127E414003DC9F7ACB7B4240DE4DF75EB83C434001020000000200000003DC9F7ACB7B4240DE4DF75EB83C434005104256B31E4340B6646A651CB048400102000000020000000000C8D662A92C40000033D986FD4E4003DC9F7ACB7B4240DE4DF75EB83C434001020000000200000003DC9F7ACB7B4240DE4DF75EB83C43408B5A8326FB0D4A40E5012B2716C03640
+7      010500000002000000010200000002000000008003C240BA50400000B0066DBC0040E870ECDEF448524037CB001B36693340010200000003000000000060AE5B49F23F0000C0B7B1184C400000890914A0474000001CA08FA43440BA17A002C9724C400A2EE5097BD34A40
+8      01050000002E0000000102000000030000003C6742C9E6DA43401048151753F75340000010F16AC639400080DF6DFE7058400000C409ECAB284000000E6C0F8554400102000000020000003C6742C9E6DA43401048151753F7534000003328EC36464000801F7C18A55640010200000002000000008090BA8E7458400000C02BDA95034011B5576B150D584056ED906FE051184001020000000200000011B5576B150D584056ED906FE0511840946ECDD871BC5740BEEF602D0FD22140010200000002000000946ECDD871BC5740BEEF602D0FD2214026DF93758A1A574037434EBC8C2F2D4001020000000200000026DF93758A1A574037434EBC8C2F2D40CEC2FCE0CFD5554062806BB18AFD3940010200000003000000CEC2FCE0CFD5554062806BB18AFD3940008077A150955840000030F06FF3244026DF93758A1A574037434EBC8C2F2D40010200000003000000CEC2FCE0CFD5554062806BB18AFD39400080232DF0185340000076FA874B4940C58F5049517D4A4068D89D7D1AD852400102000000020000000000E2BA2EC537400080F0133D0E5240D96693ABAB624240B97B6C622C4C5240010200000002000000D96693ABAB624240B97B6C622C4C5240F51190BAE63A464075D0361CCE705240010200000003000000F51190BAE63A464075D0361CCE70524000008C125E854A400080D444B0995240CEC2FCE0CFD5554062806BB18AFD394001020000000200000026DF93758A1A574037434EBC8C2F2D408A62E4BF24125640B6008ED08A7731400102000000020000008A62E4BF24125640B6008ED08A7731400D0277DB053153403C8FDF0BCF7A39400102000000030000000D0277DB053153403C8FDF0BCF7A39400000945FE9264C400000ADD68ADB4340722566FDB9B23D40D8BDE586AD904C40010200000002000000722566FDB9B23D40D8BDE586AD904C40D834D9DA3BD43B40CA0E4067472D4D40010200000003000000D834D9DA3BD43B40CA0E4067472D4D40000060DFEE931B400000668BA0035240DD2EB578229025407A0CA0F416764B40010200000002000000DD2EB578229025407A0CA0F416764B40A0D830DEC2712B406D24B2C4E3FA4440010200000002000000A0D830DEC2712B406D24B2C4E3FA4440BE6233DD7CCD2C4021606FF7B17B434001020000000200000000007BC4A5374A400000F5D82FA74F402923CBD79C783E401E7842B558714D400102000000020000002923CBD79C783E401E7842B558714D40D834D9DA3BD43B40CA0E4067472D4D40010200000002000000D834D9DA3BD43B40CA0E4067472D4D40DD2EB578229025407A0CA0F416764B40010200000003000000DD2EB578229025407A0CA0F416764B40000038ED9D321440000055856AE24A40A0D830DEC2712B406D24B2C4E3FA4440010200000002000000A0D830DEC2712B406D24B2C4E3FA44407AEB96B46C88334029BAA1182C0641400102000000030000007AEB96B46C88334029BAA1182C064140000082134CEF3A400000D8DC4AF837404787CE3B3DF03440E3C1396CAF9E42400102000000030000004787CE3B3DF03440E3C1396CAF9E42400000340DB1172B40000003849DCC4A40E1A4BD4F529939403505C53A3EE94740010200000002000000E1A4BD4F529939403505C53A3EE94740F526E78C4A823F40DDC815B9B07E4640010200000002000000F526E78C4A823F40DDC815B9B07E46400000B576CA6C5040000012227B9A3C400102000000020000000000BABCF13A33400000E8EE5F914A403C034EFB48F8394038529B2E0F5548400102000000020000003C034EFB48F8394038529B2E0F554840F526E78C4A823F40DDC815B9B07E4640010200000002000000F526E78C4A823F40DDC815B9B07E46409805E4EEB7E64340FE0B031C6BBE43400102000000020000000000CE64EB123C4000004F0EDB7B494000006AC8626F454000002991EEA64740010200000002000000000074F3C0E8484000007AEED42F4A400D0277DB053153403C8FDF0BCF7A39400102000000020000000D0277DB053153403C8FDF0BCF7A394011B5576B150D584056ED906FE051184001020000000300000011B5576B150D584056ED906FE0511840000068CCAD1B5940000000C0E0C3FD3F946ECDD871BC5740BEEF602D0FD22140010200000002000000946ECDD871BC5740BEEF602D0FD221408A62E4BF24125640B6008ED08A7731400102000000020000008A62E4BF24125640B6008ED08A773140F51190BAE63A464075D0361CCE705240010200000002000000F51190BAE63A464075D0361CCE7052403C6742C9E6DA43401048151753F75340010200000002000000000074B6483D33400000D9A4DCB040407AEB96B46C88334029BAA1182C0641400102000000020000007AEB96B46C88334029BAA1182C0641404787CE3B3DF03440E3C1396CAF9E42400102000000020000004787CE3B3DF03440E3C1396CAF9E4240E1A4BD4F529939403505C53A3EE94740010200000002000000E1A4BD4F529939403505C53A3EE947403C034EFB48F8394038529B2E0F5548400102000000020000003C034EFB48F8394038529B2E0F554840722566FDB9B23D40D8BDE586AD904C40010200000002000000722566FDB9B23D40D8BDE586AD904C402923CBD79C783E401E7842B558714D400102000000020000002923CBD79C783E401E7842B558714D40D96693ABAB624240B97B6C622C4C5240010200000002000000D96693ABAB624240B97B6C622C4C52403C6742C9E6DA43401048151753F753400102000000020000000080F014892D59400080DFA9C3B452400000F5A742A156400080197AB23F5640
+9      010300000001000000040000000000F7AD4BCF54400000C973F3BD51400000B0747DCD3B40000026E220603840FFEFAF1D088046400AAA79DEFDAD47400000F7AD4BCF54400000C973F3BD5140
+10     010600000009000000010300000001000000040000008DEA2B8CA50650403C8F8481993A4240000071FA8BAF51400000E053CC1E1B40D91F4FD230FF45404233BED7E64137408DEA2B8CA50650403C8F8481993A424001030000000100000004000000D91F4FD230FF45404233BED7E641374000001075DCBE2E4000006840E0E11140F56B9DDF3A3A2D40CD14CDBF79AD4440D91F4FD230FF45404233BED7E641374001030000000100000007000000F56B9DDF3A3A2D40CD14CDBF79AD44400000A070CD97214000004BFD25784640E127C57F7F8D2C40DC773AB6E3DF4C4075B3620290932C4072C2843837964C400000EC5950EA23400000689CD2534740E7EEBE593EDE2C40F79C9C42F60A4940F56B9DDF3A3A2D40CD14CDBF79AD444001030000000100000004000000E127C57F7F8D2C40DC773AB6E3DF4C400000346D46442C400000BC07B72C5040AE98727040603140CC7FCCA4B13F5040E127C57F7F8D2C40DC773AB6E3DF4C4001030000000100000004000000AE98727040603140CC7FCCA4B13F50400000B201F2E6344000002104424F5240EE6652D179833140F08A07CF7F405040AE98727040603140CC7FCCA4B13F504001030000000100000005000000EE6652D179833140F08A07CF7F40504001A0D3D803104240AC38F37C6EAD5040E7EEBE593EDE2C40F79C9C42F60A494075B3620290932C4072C2843837964C40EE6652D179833140F08A07CF7F4050400103000000010000000400000001A0D3D803104240AC38F37C6EAD50400000D409AF1D4B400080F8CB92255440B617ECBD9D744C408909E7321727514001A0D3D803104240AC38F37C6EAD504001030000000100000007000000B617ECBD9D744C408909E7321727514072F23798B5A74C40F832404A6D2951400000DE8EFBAA50400000E35487F44540A7292927B58F534097D7E2940BC74D40008024F9CC5A564000009B318C894A408DEA2B8CA50650403C8F8481993A4240B617ECBD9D744C408909E732172751400103000000010000000700000072F23798B5A74C40F832404A6D29514000007DA607524C40000096E8A09A5140E676D75117A356404FBCEE3B0392534000802D3695D55640008038011A505340A7292927B58F534097D7E2940BC74D40059873E324ED4E40FA6CA7800344514072F23798B5A74C40F832404A6D295140
+11     01010000000080066357125640000080F17E94E03F
+12     010100000000003AE1B0B6304000005286F5494440
+13     0105000000050000000102000000030000000000C0E6FF4647400000EAF1EE783D40000097A41CC350400000A4FB884144409A1CF5EAFD1F5040015CB7743E5745400102000000020000009A1CF5EAFD1F5040015CB7743E5745401A65CF7C3DE24640DFFF4D2B4D504D40010200000004000000000078C3517D334000800CD3EB44514000007033713C3E4000001676C5565340008018CEFE7A504000805AA64D3C5340DC8BE36A3FA852404DCFD83E43A948400102000000030000000000815416A44D400000911B8993574000007B09A9E3574000006925FD9344409A1CF5EAFD1F5040015CB7743E5745400102000000030000009A1CF5EAFD1F5040015CB7743E5745400000A0A707B4424000004201940146400000904E16AD154000005BE9495A4440
+14     01030000000100000005000000FC949DDA987D4440062765B514B7514000005073C9E73840000013B8AC3E4A400000C89991C43B40000022303EB35240000023E6CE3140400000693ECDBE5340FC949DDA987D4440062765B514B75140
+15     0103000000010000000400000014E10094FB7D4B40CC0994E0BA2C4A400000E22A12603F400000C0D3277D3240E39913D74C0E45409628FB021D34454014E10094FB7D4B40CC0994E0BA2C4A40
+16     010100000000001D11A1C841400080B193BA6B5340
+17     01040000000300000001010000000000CAAF21AD524000803A19140D574001010000000000A237443532400000049A732D4E4001010000000000488CCF263E4000008E40CE524940
+18     0106000000020000000103000000010000000400000022DE54081CD8344025DA846317C647400000ECF47D312F40000054A2166A45400000C81FF930324000000A2CBA5B564022DE54081CD8344025DA846317C64740010300000001000000040000000000E8A4525A524000005DD4B4304D400000DCD6C66E51400000CE122B23554000007A07DD51574000002D60CC6C55400000E8A4525A524000005DD4B4304D40
+19     01020000000200000000009EDAC66A4240000092566FCB3640D2F25F2505AE41404A1E59F6E88D3D40
+20     0102000000020000000000C7D35DE54C40008075C5290355409D889B6AA3D94840E7AFD2F3B3635140
+21     0104000000090000000101000000000015FD93284440000036A54E7631400101000000008025BB907753400000046BC73B41400101000000000046DF2BB14C40000072AB5DA1514001010000000000483E312F42400000A0F9C85BFD3F01010000000000245F35322E400000F84CB0441E40010100000000004B55226655400000469951B74F4001010000000000A6A1353B4B400000BE85FFA2364001010000000000C8D4ECF62F400080F9F596E9564001010000000000ACB8717350400080EC9CC4475440
+22     010600000005000000010300000001000000040000000080B36BB0EC57400000C0766923E33FBF81009700974C407E5A926F81143640596D43CB4D114D40CA058F2D720939400080B36BB0EC57400000C0766923E33F01030000000100000006000000BF81009700974C407E5A926F81143640000022F5AB62494000007053FBFA01400000FCAE0C5526400000406F49C236400000467AC19033400000D81F2F833C4098373446766645400680283C77193E40BF81009700974C407E5A926F811436400103000000010000000600000098373446766645400680283C77193E40FC8BC257D6A03940DCDDE03198D643400A9F6CB8824549407F540B51821E454098BB33AED1DF4E40A5AA4F10728F44409BF39C20AB5B4B40F10C9FF4D1E93E4098373446766645400680283C77193E40010300000001000000050000009BF39C20AB5B4B40F10C9FF4D1E93E4000002514BC134E400000166BE8483F40596D43CB4D114D40CA058F2D72093940000051E4497D4A4000005A9244643C409BF39C20AB5B4B40F10C9FF4D1E93E4001030000000100000004000000D4CD627F24993040F647799594B24B400000F013448F0540000098EE89953A400000981DDE8F27400000A024FB644D40D4CD627F24993040F647799594B24B40
+23     01050000001200000001020000000200000000000076784105400000A0AF1B8B01402E7ADD074932254078283137801526400102000000020000002E7ADD07493225407828313780152640A11A09C513103E40DA716F44A95D40400102000000030000002E7ADD07493225407828313780152640000088EAA66E24400000806B1A44DA3F2D3B6C322A09464054F8BFEA873D36400102000000020000002D3B6C322A09464054F8BFEA873D3640813F541EECFD5040AA366005FFD242400102000000020000000000AF6D0A46464000003648AD9D34402D3B6C322A09464054F8BFEA873D3640010200000002000000000038AD9C8541400080FF82136756406A78427CDC0D3E40FE8D666FE73A54400102000000020000000000787BDEB236400000062BBD1057406A78427CDC0D3E40FE8D666FE73A54400102000000020000006A78427CDC0D3E40FE8D666FE73A5440E58751FCD2E13F40268369D7848653400102000000020000000000300EC9F4294000804207B05053408768D0CD2BE02940F0149A80FD0853400102000000020000008768D0CD2BE02940F0149A80FD0853402E7ADD0749322540782831378015264001020000000300000000005B078F2E47400000FC8D2A732940000009F25301584000001AE8FE194840A0EA278B316A42401CB0EF1B76965140010200000002000000A0EA278B316A42401CB0EF1B769651400000F417E3EB3F40008063CFFF0B52400102000000030000002D3B6C322A09464054F8BFEA873D36400000497BE09940400000C30AD5AE4D40ABC5947CBCA240409695A944203550400102000000020000000000002741CBC43F0000971FB4B555408768D0CD2BE02940F0149A80FD0853400102000000020000008768D0CD2BE02940F0149A80FD085340A357AB2A949C3E40FC3055AD7AAB4E400102000000020000000000FB07C763574000809FFBCDD05640A0EA278B316A42401CB0EF1B76965140010200000002000000A0EA278B316A42401CB0EF1B769651400000D0264FB539400000FDAB169050400102000000020000006A78427CDC0D3E40FE8D666FE73A5440B1F38A4E26523A405D75A0E8C79A5240
+24     010300000001000000070000000000F930E4B7584000009B459ABB45400080178BB11A51400000C4B472793A400080EBA82CE3504000005D308A5E4D4000007A2F5A084C400000E2F033983740000003DAA4364C400000BE2B8B5C54400000BF6EFAF351400080BD702F5757400000F930E4B7584000009B459ABB4540
+25     0101000000000062096CA04E400000C67EBA324540
+26     01020000000300000000809419F6A5584000007CF4B34125400000000BB9463440008019A87A43564000006EC787314440000058C381512440
+27     010100000000004AD7D7C047400000974A221E4940
+28     010200000002000000008008952A8150400000ACEDE5BA2C40E28E22C1267D504082EF60BC41142F40
+29     01050000000D000000010200000003000000000020759DAD1040000036E5F97F3340000040B2D95DFD3F0000C054388C24400000E01009D63340000078BB564537400102000000020000000000A98198D94B4000002635D67A334046C7EEC8D6864A401CFD099EEA1A3540010200000003000000D87EE245F4233E408AAAC15DDCA437400080253EB01153400000C8F27F892E4047E52E58E08F52407C7D53ED786D3240010200000002000000D87EE245F4233E408AAAC15DDCA43740000064E1B90E2940000088E2D25213400102000000020000000000904518EB0540000096C2459E3C4028B2811A7E100C40925F4D8B917A3C4001020000000200000028B2811A7E100C40925F4D8B917A3C40D87EE245F4233E408AAAC15DDCA437400102000000030000000000513BB1C957400000D0D1B8CB39400000805DA67E554000009571A9D25440D87EE245F4233E408AAAC15DDCA4374001020000000200000000000CAD1BD234400000A7D3143C5540AF967B4F257A454001BBE9C8CB9B53400102000000020000000000B0EA0C26064000006A8CADE23B4028B2811A7E100C40925F4D8B917A3C4001020000000200000028B2811A7E100C40925F4D8B917A3C40859A5403C2F140401E60E6906F6D4A40010200000002000000859A5403C2F140401E60E6906F6D4A4000003982BA7A49400000CA4648A350400102000000020000000000101F98A21640008013D4FD815540859A5403C2F140401E60E6906F6D4A40010200000003000000859A5403C2F140401E60E6906F6D4A400000BD9AD53E45400000903E705F45400000281A37FF484000008B5B32CF4840
+30     01020000000300000000809ACCC2B756400000A879B4A213400000B0033BAA09400000B822B5C721400000B19A3FE957400000B6876D2C4F40
+60     010400000004000000010100000000000085E87FE43F00000B65799B534001010000000080AC05384E54400080FD2B1FEF584001010000000000F9A48E515240000081A2E75F45400101000000000074C93038434000006C888F254340
+31     010600000012000000010300000001000000050000004AB0F9D75DEE56403AD43CC768512A400000591B146758400000A049CC3302403ECC6EAC4FA65540A3E552DFA942264061562B3A32455540BC2865C381B732404AB0F9D75DEE56403AD43CC768512A40010300000001000000040000003ECC6EAC4FA65540A3E552DFA94226400080E78CFC2856400000C0F0D27FED3F2E9AC43701BF5240B02CE104267834403ECC6EAC4FA65540A3E552DFA9422640010300000001000000100000002E9AC43701BF5240B02CE1042678344000002ACFD1B54C400000C1E0E04B41400000908C811F434000004A917ACF4E400000E8CB7A4B48400000DCCE8B2B41401D31C04FCC9947400718E7EA461B41400000E7A8B16340400000C6CC924F4C408462F4339AD23E40566315DEB0804E409E2DFC2E867243408DEB99FF8D6C53400000496F83BC47400000B3295F804E4056870EEED9104940BE8B191FBAEA4C4077937058970A4940295FFE06B1594C409A45A491D4D8484099D451ADD9554C40874D4B1E8A074940C6657C5AFD124C4000009C2587DC48400000F54B7C2E4840B75D97E07148494010D0242815B64B402E9AC43701BF5240B02CE10426783440010300000001000000050000001D31C04FCC9947400718E7EA461B41400EC9FC09EDAF49402B519A77CDBA3B40E0D71BA8A8E24540F352501B4DDE3C40A94B4A927CC54340DBA2533A84C140401D31C04FCC9947400718E7EA461B4140010300000001000000040000000EC9FC09EDAF49402B519A77CDBA3B40BD042C171AB650408BD7F2F2B26939400C4C0F76DD9E4C40A4AC6CA6549D32400EC9FC09EDAF49402B519A77CDBA3B40010300000001000000040000000C4C0F76DD9E4C40A4AC6CA6549D32400080E1208ACD50400000B08DEFFC084096371E0D135D4B40052EB8F8C5D530400C4C0F76DD9E4C40A4AC6CA6549D32400103000000010000000500000096371E0D135D4B40052EB8F8C5D5304000003084CBB54240000020B4745612402ADE2FFC9363454027BDDCCF5C043D40E0D71BA8A8E24540F352501B4DDE3C4096371E0D135D4B40052EB8F8C5D5304001030000000100000004000000A94B4A927CC54340DBA2533A84C1404000005EA0898130400000406E0B673F4014EE4D9FEB2939404DF80267F4A64840A94B4A927CC54340DBA2533A84C140400103000000010000000600000014EE4D9FEB2939404DF80267F4A64840DC5C21C6ED9D2840C597A5272CB64F40183C44D15CCF194097AC05D2287F52400000221AEB3A3540008041671CA054408462F4339AD23E40566315DEB0804E4014EE4D9FEB2939404DF80267F4A6484001030000000100000005000000DC5C21C6ED9D2840C597A5272CB64F40BFCF86F366253640453D83D6A5D646400000741B6C462C400000DDCD340F4840DFEA7AB092F31B40B613492013515140DC5C21C6ED9D2840C597A5272CB64F4001030000000100000004000000DFEA7AB092F31B40B6134920135151400000B08BF1E00F400000F2F1282452404BE67B4C8E421640DBB8D45C6E5E5240DFEA7AB092F31B40B613492013515140010300000001000000040000004BE67B4C8E421640DBB8D45C6E5E5240000020CB3AE00D4000006BBAF4B85340183C44D15CCF194097AC05D2287F52404BE67B4C8E421640DBB8D45C6E5E52400103000000010000000F0000009E2DFC2E867243408DEB99FF8D6C53400000FF090DDC414000008CFE0FF854400000522990C23E40000009BD27B1524000009837C7693A4000000810BFAB5740000039AC93FF504000807B7E952758400080EC925EDF5840000040A514A61A404AB0F9D75DEE56403AD43CC768512A40F2B1EAEE91BC544021219D7BDA633D4023493E764E445340DE5C7BC551644D401A9E25FFDFDC50405FF9010A4E054D400331568D30F04A40378EFDF510C954405EC4F97B76FB4A4028C7870843F854405D6BDAE381974A40460DF1150E1B554000007A73C8AD47400080EF7B7ECC57409E2DFC2E867243408DEB99FF8D6C53400103000000010000000400000009F4832098784940130E9167A97F4C4000000AE8D78E4A40000000F05B64514000006634C1F64C400000132411C14E4009F4832098784940130E9167A97F4C40010300000001000000060000001A9E25FFDFDC50405FF9010A4E054D40F2B1EAEE91BC544021219D7BDA633D4061562B3A32455540BC2865C381B732400000D76DD47B5340000040020DB23840E6E90A1DC1824940CDC97EA2F7624C401A9E25FFDFDC50405FF9010A4E054D4001030000000100000005000000B90408F8BD5C4940DE9E387408604C40B75D97E07148494010D0242815B64B40874D4B1E8A074940C6657C5AFD124C4077937058970A4940295FFE06B1594C40B90408F8BD5C4940DE9E387408604C40010300000001000000040000006E504219C9614940286F5230438A4C40E6E90A1DC1824940CDC97EA2F7624C40B90408F8BD5C4940DE9E387408604C406E504219C9614940286F5230438A4C40010300000001000000060000005D6BDAE381974A40460DF1150E1B55400331568D30F04A40378EFDF510C954406E504219C9614940286F5230438A4C4056870EEED9104940BE8B191FBAEA4C400000D356DCAA49400000A0B96D6D55405D6BDAE381974A40460DF1150E1B5540
+32     01060000000B0000000103000000010000000400000042932E36C28D4640912B1EF2EDEB444000001C106BBF374000000C9523412A407C7BB4E45F7746409959AF9DE50B454042932E36C28D4640912B1EF2EDEB4440010300000001000000060000007C7BB4E45F7746409959AF9DE50B45404374FD9BF7484340BC0CA51BFB964940D57E7FBC91C04D4074CC604A289B5140E80C9F77D3A84F40DBE3249D25645140A680632560974F4067990F53EFC250407C7BB4E45F7746409959AF9DE50B4540010300000001000000060000004374FD9BF7484340BC0CA51BFB964940000044BCBD0035400000FECADD8341400000608B84620F400000BE1FADA233400000ECC86BD138400000B697C3A451402AD0C4BDA1F338400D53CFED37A851404374FD9BF7484340BC0CA51BFB964940010300000001000000040000002AD0C4BDA1F338400D53CFED37A851400000462CAE59304000805CC063BA5440221E4EC4667F4740CD7E6EEB09E253402AD0C4BDA1F338400D53CFED37A8514001030000000100000009000000221E4EC4667F4740CD7E6EEB09E2534000004F6BAD175540000090F328A8574060F9C808AA1651402FD5E6F0224652408E99FBE614F15040A22DF54B16545240000004FC63915340000051BB52EB554042AC7BD7B0075040F98E4DB9B8AA5240542721F67FCD4F409F458FFEF2B6524000001B8A10E14F400080808EB16B5340221E4EC4667F4740CD7E6EEB09E253400103000000010000000400000060F9C808AA1651402FD5E6F02246524000806DD6C91559400000E0D77D9C4E40DDFD1E21705850404FCF8AAE6546514060F9C808AA1651402FD5E6F02246524001030000000100000005000000DDFD1E21705850404FCF8AAE6546514099F7D4EAA1904F40D4130FF8A3845040A680632560974F4067990F53EFC25040150B109F25325040280C7B85064F5140DDFD1E21705850404FCF8AAE654651400103000000010000000500000099F7D4EAA1904F40D4130FF8A38450407FE9861711634E407E2D2AB0C98A364042E87F9A8DE74D406768E5C3F1D8344042932E36C28D4640912B1EF2EDEB444099F7D4EAA1904F40D4130FF8A3845040010300000001000000080000007FE9861711634E407E2D2AB0C98A3640B5EC6789A8024F4091E69D0B5BBB3840835C240664075140D31D9EF5F5DB3140000094EEEFF64F400000F8C6AF801F400000F6D215E14C40000028A4053F314042E87F9A8DE74D406768E5C3F1D834400000E0884E4F4E4000000E8E98B033407FE9861711634E407E2D2AB0C98A364001030000000100000006000000E80C9F77D3A84F40DBE3249D2564514086D7874CA8C84F4072AD79AA368A524042AC7BD7B0075040F98E4DB9B8AA52408E99FBE614F15040A22DF54B16545240150B109F25325040280C7B85064F5140E80C9F77D3A84F40DBE3249D2564514001030000000100000006000000542721F67FCD4F409F458FFEF2B6524086D7874CA8C84F4072AD79AA368A5240D57E7FBC91C04D4074CC604A289B514000003B24CCEB4340008051F5B6B65240300DD4CF04914D40A67DB19033215340542721F67FCD4F409F458FFEF2B65240
+33     010400000001000000010100000000001A36CAD14D400080F2655F8B5140
+34     0103000000010000000400000007125CFC567452404C710C87B26F36400080A5348E7053400000083452E925409EC8BE075A645140C0C80D343493384007125CFC567452404C710C87B26F3640
+35     0104000000020000000101000000000030522A201A4000005E695A144D4001010000000000FF3D28AD5140000074BA5E815240
+36     01060000000200000001030000000200000004000000FF57373307BF57407C5C9C95081046400000CB025279574000005077999D0A40379EF2D4E27C4E40931352A3C8D24240FF57373307BF57407C5C9C95081046400400000082A39896D1B25440594120AB10AA3740052B9EA289665440BD3F2BE7DC7835400000EF8AA43955400000BEFC130E354082A39896D1B25440594120AB10AA3740010300000001000000050000000CAC461AC9CB45403AFB0B87155A474000000D2F2ECE5440000010438D5128400080346DBE0E54400000205E0C3FFC3F0000686AA434194000001048567210400CAC461AC9CB45403AFB0B87155A4740
+37     01040000000900000001010000000000F68EC1B54D4000007A5B9114364001010000000000B91AA0FA474000805989C241524001010000000000E8F2E5AE1B4000008CCABA1D2240010100000000002956B575424000000066FBB5F63F01010000000000EE582806314000004075D76C1540010100000000000186E01C434000001676CF0445400101000000000027D7D5F74C4000008C6082DB2B400101000000000012A0D27634400000645A291B59400101000000000060D7178BFB3F0080D57AB1CD5340
+38     0102000000020000000000965DF7DA4340000068482FD12B40373B8B1ED2964540B177F1655D923A40
+39     01020000000300000000801992A8DF50400000D43FE46E22400000C94934394C400000A4B6869F4140000072B701B051400000130CD2134740
+40     0103000000010000000500000000003E17CF50504000005CBE514634405DC91EF67051524093608466E5CE4240688029166B6B54407AC7D85EA2ED40400000D170481E5940000012855746314000003E17CF50504000005CBE51463440
+41     01050000001B0000000102000000020000000000F0AAE51652400000849619AC2E406454AC8A3F2752406A625DDDBD7E374001020000000200000000009F82F48B514000002CC5D14440400000BBC57F9543400000D87F8A5D3240010200000003000000000060F1F5C1FB3F0080CF2D95F45740000040D4A0BF1840000090A1BED31A40C3C5272E4B4236408AD362C9C3C43940010200000002000000C3C5272E4B4236408AD362C9C3C439405816F7AA22ED4040B958A3E873C243400102000000020000005816F7AA22ED4040B958A3E873C2434082F8860D075C4740852EF3BABB634B4001020000000200000082F8860D075C4740852EF3BABB634B40B8D7E2FAC68449409ED5C51951F34D400102000000020000000000D6BC4F8E4A40000004C0E86D5040EB97B1F24BE44F402601E9898E335340010200000002000000EB97B1F24BE44F402601E9898E33534053EFE0D1C1B85240336432FAE515564001020000000300000053EFE0D1C1B85240336432FAE51556400080427285D5544000008C4DC4475840A8A07C18AC235540B0D2D81AC2835540010200000002000000A8A07C18AC235540B0D2D81AC283554050A8196A66515540605EE5BB7CE5534001020000000200000050A8196A66515540605EE5BB7CE55340A0BE4FD05F1F5640C50B95B3ED364940010200000003000000A0BE4FD05F1F5640C50B95B3ED3649400000FBDD573E57400000A04A5B9D234073EDBE8973934E4018401E54D23946400102000000020000000000D0B0608F5240000070BC3F654740A0BE4FD05F1F5640C50B95B3ED364940010200000004000000A0BE4FD05F1F5640C50B95B3ED36494000804D53624D58400000AD61DB534A4000005528160958400080EDA4E69A514050A8196A66515540605EE5BB7CE5534001020000000200000050A8196A66515540605EE5BB7CE55340F0CF54B51A005440270B4B10E3015540010200000002000000F0CF54B51A005440270B4B10E301554053EFE0D1C1B85240336432FAE515564001020000000300000053EFE0D1C1B85240336432FAE5155640000024C03BE64E40008074422DD85840CD089AABB9CA4140EF2CF557B94E5140010200000003000000CD089AABB9CA4140EF2CF557B94E51400000BE825C643A400000869065544D40C3C5272E4B4236408AD362C9C3C43940010200000004000000C3C5272E4B4236408AD362C9C3C439400000F291456F34400000686279802640000042DE380146400000DC77BC413B405816F7AA22ED4040B958A3E873C243400102000000030000005816F7AA22ED4040B958A3E873C24340000046DC97783B4000005BB09D9C474082F8860D075C4740852EF3BABB634B4001020000000200000082F8860D075C4740852EF3BABB634B400080CEB64AF7514000806F579329504001020000000200000000005687900E364000809D0BF8765540CD089AABB9CA4140EF2CF557B94E5140010200000002000000CD089AABB9CA4140EF2CF557B94E51402548AC3AB6AF4540CB39D83DD6D34D4001020000000200000000808D88CB9555400080435A97B65540A8A07C18AC235540B0D2D81AC2835540010200000002000000A8A07C18AC235540B0D2D81AC2835540F0CF54B51A005440270B4B10E3015540010200000002000000F0CF54B51A005440270B4B10E3015540EB97B1F24BE44F402601E9898E335340010200000002000000EB97B1F24BE44F402601E9898E3353402F94A0B9A89A444093F9141300B05040
+42     01050000002E00000001020000000200000000808CE89F6657400080120839AD5640F2C6390D6E5C5740C1FD7F4842F45540010200000002000000000034B73CC854400000B358ABFA46409760A8800D5855404EF3C84EE29043400102000000030000009760A8800D5855404EF3C84EE290434000008F2B0E1958400000E0E0CCAB164073CC6F24003554400AF52B14E6FA3E400102000000020000000000A9327E0E5240000030746C1F2F4073CC6F24003554400AF52B14E6FA3E4001020000000200000073CC6F24003554400AF52B14E6FA3E409760A8800D5855404EF3C84EE29043400102000000020000009760A8800D5855404EF3C84EE290434000800723D09458400000537F062C4F400102000000020000000000305687EE054000001C5869CB3540827B9E74846E3740B25E0B94DC782B40010200000002000000827B9E74846E3740B25E0B94DC782B404B61066AEA293840EA2E1765E2E62A400102000000040000004B61066AEA293840EA2E1765E2E62A400000764E4EE5394000001C5E7F8D29400000CC8994203E4000002E962CDC3240265EBDDC5918414008428B427D543940010200000002000000265EBDDC5918414008428B427D543940C7CC87F5841C4640B48214742FA74440010200000002000000C7CC87F5841C4640B48214742FA74440E43A705A59FA4840AD95D5E2C037494001020000000200000073CC6F24003554400AF52B14E6FA3E40FE9B6AD8925E51403413AB5160B84840010200000002000000FE9B6AD8925E51403413AB5160B84840850B8ACE51ED5040AF9E5316C5284A40010200000002000000850B8ACE51ED5040AF9E5316C5284A40C5B586705A974F4077336C27ECD64D40010200000003000000C5B586705A974F4077336C27ECD64D400000FFE3A8554D40000001213EC150400CC4D7A325FE4E404D4A139868214D400102000000020000000CC4D7A325FE4E404D4A139868214D4087340F6F519A5040249CD8884D49474001020000000200000087340F6F519A5040249CD8884D4947404F8274E4C5DF5040D4A29FA970DA45400102000000020000004F8274E4C5DF5040D4A29FA970DA454000009D2594D652400000E69736F5364001020000000200000000804F0429BE514000002AD54A303C40F137A8351BB54F401D9C3CA4F0E43F40010200000002000000F137A8351BB54F401D9C3CA4F0E43F40781F5D2F06554740939956AFEE0D4440010200000002000000781F5D2F06554740939956AFEE0D4440C7CC87F5841C4640B48214742FA74440010200000002000000C7CC87F5841C4640B48214742FA74440FC58334A8056424046A40A38EC804640010200000002000000FC58334A8056424046A40A38EC8046405A8C8B609B254140FF63D3877116474001020000000200000000000C37324631400000C50742225240FCB41F3DC91A3240185D5CFFBD265040010200000002000000FCB41F3DC91A3240185D5CFFBD265040D25661CD563F354068ADFE34114C4140010200000002000000D25661CD563F354068ADFE34114C4140827B9E74846E3740B25E0B94DC782B40010200000003000000827B9E74846E3740B25E0B94DC782B400000685B008A374000009C2BF66B29404B61066AEA293840EA2E1765E2E62A400102000000020000004B61066AEA293840EA2E1765E2E62A40265EBDDC5918414008428B427D543940010200000002000000265EBDDC5918414008428B427D543940781F5D2F06554740939956AFEE0D4440010200000002000000781F5D2F06554740939956AFEE0D44400CC4D7A325FE4E404D4A139868214D400102000000020000000CC4D7A325FE4E404D4A139868214D40C5B586705A974F4077336C27ECD64D40010200000003000000C5B586705A974F4077336C27ECD64D40000072F52FE8514000008F57D76B5140850B8ACE51ED5040AF9E5316C5284A40010200000002000000850B8ACE51ED5040AF9E5316C5284A4087340F6F519A5040249CD8884D49474001020000000200000087340F6F519A5040249CD8884D4947400000FA3379525040000083F3B1CC44400102000000020000000000A51E5E3B4A40000000AF65C2C93FF137A8351BB54F401D9C3CA4F0E43F40010200000002000000F137A8351BB54F401D9C3CA4F0E43F404F8274E4C5DF5040D4A29FA970DA45400102000000020000004F8274E4C5DF5040D4A29FA970DA4540FE9B6AD8925E51403413AB5160B84840010200000002000000FE9B6AD8925E51403413AB5160B848400000F606C59955400000ACBB049B584001020000000200000000003046BF9F36400000B4A6105E3F40D25661CD563F354068ADFE34114C4140010200000003000000D25661CD563F354068ADFE34114C41400000C8B9BF6A114000803D105B8C5240FCB41F3DC91A3240185D5CFFBD265040010200000002000000FCB41F3DC91A3240185D5CFFBD265040DDDEB0D5BA5F3D4084CEA9B1B15F4C400102000000020000000000CE0A58163C4000009914D6C04940DDDEB0D5BA5F3D4084CEA9B1B15F4C4001020000000200000000001A44FD603E400000CDF0C3504340FC58334A8056424046A40A38EC804640010200000002000000FC58334A8056424046A40A38EC8046409943487764634340C997C95133914740010200000002000000DDDEB0D5BA5F3D4084CEA9B1B15F4C409E2323F4A99E44403EECC8F2AE3C4840010200000002000000DDDEB0D5BA5F3D4084CEA9B1B15F4C405F9C6EF654544040DD391B8535885140
+43     01060000000700000001030000000100000004000000D2C64BB14F08574030F20B161EDB1E401456D15603B357407A016452045E1A400000D756EAFD57400000500CA9440B40D2C64BB14F08574030F20B161EDB1E4001030000000100000006000000000006A50A7752400000A0E4E97AF43F0C60623161F04640A16A7525EB3F38407933F25FA37C5040448CDB0AE22C41407267669C8DB55240C95C097BFAE13740425CE2FF45775440F9E36259AA5C3840000006A50A7752400000A0E4E97AF43F010300000001000000050000000C60623161F04640A16A7525EB3F3840000040673C842740000028181F4F1C400000E84358801F400000C046DC0443406732382337D73A40737C40613CF043400C60623161F04640A16A7525EB3F38400103000000010000000F0000006732382337D73A40737C40613CF043400000701B97FB044000006974D7E04D40813A1C75101A51400D221F41C5F650400000175ACEF3554000006EDC49544D405253C49304A451406B25C049C107514000804235EE8D58400080818DA9E1514021E51BD5BFD25440B9EC7CD4E87B3C4008C99BF600AE51404053647443604240000004258F1053400000168D28C54340CC3606582E274E40379E894AA7CC4540B760491C01A64B409AD6491E41724740BD46E6EEFDBD4C40DE40D46C8B2846400000168D024E434000001494338F484000003BDCFF6844400000CDFEBB9D44406732382337D73A40737C40613CF0434001030000000100000005000000813A1C75101A51400D221F41C5F650401272590E75094E40ECE3DBCE96F3514029AF8DFB1DA84D409CC338A5C59252405253C49304A451406B25C049C1075140813A1C75101A51400D221F41C5F650400103000000010000000400000021E51BD5BFD25440B9EC7CD4E87B3C4000009A30A83556400000A82F71D63840425CE2FF45775440F9E36259AA5C384021E51BD5BFD25440B9EC7CD4E87B3C4001030000000100000005000000BD46E6EEFDBD4C40DE40D46C8B284640CC3606582E274E40379E894AA7CC454008C99BF600AE514040536474436042407933F25FA37C5040448CDB0AE22C4140BD46E6EEFDBD4C40DE40D46C8B284640
+44     0101000000000033317DE24E400000A3A057995440
+45     01060000001800000001030000000100000008000000119B0180F0325040F0CB7C0A728C3C40A58DAE4194EB4F40C390B678F7603940C9B0B71F6A3B4D40E3950C740EC93940072BD8764B894F402B8B058DD5D4364000006A5864054D4000003880BD9118400000180BA653354000002AE0BEAB3640C0AFE2064F1A5040EB8E322DEAFA3C40119B0180F0325040F0CB7C0A728C3C4001030000000100000005000000A58DAE4194EB4F40C390B678F7603940204E7DDCAC215040DB7333CEB05339400000C85934D7574000002058B0110140072BD8764B894F402B8B058DD5D43640A58DAE4194EB4F40C390B678F76039400103000000010000000400000000007A41331744400000B8B339B53C40128B2ED797EB434064150562B6AC3D40D475FE37E83E4440D8C13C25E06E3D4000007A41331744400000B8B339B53C4001030000000100000004000000AB10F14EE03C5540097D077C4CCE4F400080814BE553574000809B2BC892574000007A9EA574564000001EFCC6EA4F40AB10F14EE03C5540097D077C4CCE4F4001030000000100000004000000E43E97AC50BA2440F6E1679CEC9941401DBAAE3A768B45408826E155F43A4D407A0D7A91A929494034FBF7A335824A40E43E97AC50BA2440F6E1679CEC994140010300000001000000040000001DBAAE3A768B45408826E155F43A4D406092A04346C7424055A6FC49B24F4F40FD809EE983104940F91986C854BB4F401DBAAE3A768B45408826E155F43A4D40010300000001000000050000006092A04346C7424055A6FC49B24F4F400000E512A754414000003941E8364F404C7F73DD622A3E405ACD717CF602514000002F43874340400080671BFB9950406092A04346C7424055A6FC49B24F4F40010300000001000000040000004C7F73DD622A3E405ACD717CF60251400000A865C850124000000B5532745540251EF14D462A3140501BE2268E1255404C7F73DD622A3E405ACD717CF602514001030000000100000004000000251EF14D462A3140501BE2268E12554000003861A4111C40008021DF0A3E5840EC7F3F89C60E4240BD8BE9038B7F5440251EF14D462A3140501BE2268E12554001030000000100000004000000EC7F3F89C60E4240BD8BE9038B7F54400000205FDC0846400080ECD9D64154406B1BB998437347400A4ECBFF471C5340EC7F3F89C60E4240BD8BE9038B7F5440010300000001000000040000006B1BB998437347400A4ECBFF471C53406D6B88EEC2684840D9B3A88D1ADD52404C60D71BA64D4940B37F06BE039C51406B1BB998437347400A4ECBFF471C5340010300000001000000070000006D6B88EEC2684840D9B3A88D1ADD52400000CCA333274440008032E290D5584000000A35981B5340008081C4EC295040E14A684887F5504018DE14366A694E40D1C107A4581650402D3C2489891A504000007FB89C6551400000C22EF63050406D6B88EEC2684840D9B3A88D1ADD524001030000000100000006000000E14A684887F5504018DE14366A694E405665A246FDFF5440446FE479DE164640A854DFB0ABC7534026B7D9425F954040361E09DFD2325240127BDF830D3F41404221B7FE3F7D4D40C29A2BCDF76F4C40E14A684887F5504018DE14366A694E40010300000001000000040000005665A246FDFF5440446FE479DE16464000802EE12573564000004639E9A14C401227C3FBF28456408F896957C7F542405665A246FDFF5440446FE479DE164640010300000001000000040000001227C3FBF28456408F896957C7F54240000019CAFFAA58400000FCB2D2113D40E5889BA8748B5640679D783B72D93E401227C3FBF28456408F896957C7F5424001030000000100000006000000E5889BA8748B5640679D783B72D93E4000006D684F9B56400000CCF97F3D2B4085056BD59F98534022BCD9A6776F3940B64960A55D34534014A28C022BF93B40A854DFB0ABC7534026B7D9425F954040E5889BA8748B5640679D783B72D93E400103000000010000000400000085056BD59F98534022BCD9A6776F3940008037B8D08B544000002A5B87473340812F256338345340F2513B3186F93A4085056BD59F98534022BCD9A6776F394001030000000100000004000000812F256338345340F2513B3186F93A40E4D8F1FB942053403E6F084999463B40F2E63C17FD22534092E72E46525C3B40812F256338345340F2513B3186F93A4001030000000100000005000000F2E63C17FD22534092E72E46525C3B404054C35B24D751404469278C7A654140361E09DFD2325240127BDF830D3F4140B64960A55D34534014A28C022BF93B40F2E63C17FD22534092E72E46525C3B40010300000001000000050000004054C35B24D751404469278C7A6541400000C8C5E4E24C400000B5ECFCD142409EB93E8755D84B40D8347D25A77D484000003634A5F550400000DD4CEBEB43404054C35B24D751404469278C7A654140010300000001000000040000009EB93E8755D84B40D8347D25A77D48407A0D7A91A929494034FBF7A335824A4024D795CBB34C4B40BA49FDF113764B409EB93E8755D84B40D8347D25A77D4840010300000001000000050000004221B7FE3F7D4D40C29A2BCDF76F4C4024D795CBB34C4B40BA49FDF113764B4058CED0ED727F4A40F20483AADFD34F40CB18B87B675C4B403B5F8702A7E24F404221B7FE3F7D4D40C29A2BCDF76F4C400103000000010000000600000058CED0ED727F4A40F20483AADFD34F40FD809EE983104940F91986C854BB4F40000037EA293F4A400000D01D364950404C60D71BA64D4940B37F06BE039C514028F908CC051E4A4039FE0BAD39F3504058CED0ED727F4A40F20483AADFD34F400103000000010000000600000028F908CC051E4A4039FE0BAD39F3504000001D7FE7B0494000004BD0591C52400B4BDA37E9674D402A3CA3D57B875140D1C107A4581650402D3C2489891A5040CB18B87B675C4B403B5F8702A7E24F4028F908CC051E4A4039FE0BAD39F35040
+46     01060000000D00000001030000000200000006000000970D954EDF774740FECC4B7A9C393A400000334943F8564000009298B3184540F4408A4CE9C8504062352FAD388737400000EDFF1F32594000004A3038503C401B59414966F84640A597EAF1D2373440970D954EDF774740FECC4B7A9C393A4004000000F4408A4CE9C8504062352FAD388737400000C548101150400000D2A0A01E37400000E45F0DC750400000E4729C813740F4408A4CE9C8504062352FAD38873740010300000001000000040000001B59414966F84640A597EAF1D2373440000013D5CBA04540000070B1D81A1040419D170270A842409ECFE9BFE9F132401B59414966F84640A597EAF1D237344001030000000100000004000000419D170270A842409ECFE9BFE9F1324000005A9993B832400000DE3D3F33304032370AD200FC41403064035308543640419D170270A842409ECFE9BFE9F132400103000000010000000500000032370AD200FC4140306403530854364017C565E32E9941409B622F2B654438400000A58A343F484000002FCD25CF4140970D954EDF774740FECC4B7A9C393A4032370AD200FC41403064035308543640010300000001000000050000006EBECFA657625040714A934039CA4C400000088E8E7C45400000A3EBC3CB4340F3B75488AF3540406867879A5808454043F0F368CB425040231DC88BE53C4D406EBECFA657625040714A934039CA4C4001030000000100000008000000F3B75488AF3540406867879A58084540000080018AE0DF3F000010231B023A40000024341AFA3640000075526356574000000E2DBAC93340000091ACA1F05140E8FA14F0F5894E4039B8A40EBE6B5040C869F49B9F2C4F40540AD38DDAAF4F4000001A861F6435400000F71E2A534640F3B75488AF3540406867879A5808454001030000000100000006000000E8FA14F0F5894E4039B8A40EBE6B504096C1CBA1FA364B40E6A765BC0C71534018DF782036844B4029F8B48740895340B8C7A3867D515240F1FD3D34901751406237DB351A775040F978F82FB13E5040E8FA14F0F5894E4039B8A40EBE6B50400103000000010000000400000096C1CBA1FA364B40E6A765BC0C7153404DDB56CA7DD04940CA8D6AE0B5005340287C386AA5054B400DCAEF34E19D534096C1CBA1FA364B40E6A765BC0C71534001030000000100000004000000287C386AA5054B400DCAEF34E19D534070CCDF6BE7F04A4034A14B86BAB05340768003BCC3164B4029BC4E1B95A65340287C386AA5054B400DCAEF34E19D534001030000000100000005000000768003BCC3164B4029BC4E1B95A653400080F40214E151400080A294E20E584000808CBBFD2656400080E2710BCC584018DF782036844B4029F8B48740895340768003BCC3164B4029BC4E1B95A6534001030000000100000004000000B8C7A3867D515240F1FD3D349017514000802B7D17B755400000F7361CA5524043B49B634C2F5340C361C304AEA05040B8C7A3867D515240F1FD3D34901751400103000000010000000800000043B49B634C2F5340C361C304AEA050400080BA335AB95640000086831D764D406CEC763E0FB750402664321F49964B406EBECFA657625040714A934039CA4C409F4818742C5B5140C72D49B2F7564E400080729AD4CE524000009DF3DDCC4F40331890D10C5B5240AA2E92CBF1EE4F4043B49B634C2F5340C361C304AEA0504001030000000100000006000000C869F49B9F2C4F40540AD38DDAAF4F406237DB351A775040F978F82FB13E5040331890D10C5B5240AA2E92CBF1EE4F409F4818742C5B5140C72D49B2F7564E4043F0F368CB425040231DC88BE53C4D40C869F49B9F2C4F40540AD38DDAAF4F40
+47     01040000000900000001010000000000C289E9CB50400000DD3268424E40010100000000006F136D65404000006A9AB0E04B40010100000000802487CB3C524000003299A9353940010100000000005F4C979C45400000B5F162DA4B4001010000000000F8B24E0D104000001A334E6D4240010100000000007EF4F4A637400000CA804A4330400101000000000040187CC4F33F0000EE9125B142400101000000000046D5754B3040000080A2DEF7444001010000000000B04331A63D400000892547E24640
+48     01020000000700000000008C8D8F18514000801E7B6763534000804A0C35665240000056EE3468514000003002A41C4B4000001AD83AAD3840000051E000C947400000968A9FD14C40000000F03DCB074000009CA0DBF74F400000ADC70E5C554000005F279A0B57400080B575741A53400000C8D544BE5740
+49     01030000000100000004000000837F05FB82AA3D4036CC27E880B545400000E050380E1D400000A077BABA2D4044094BCD75C52D40580E9A5C8ADC4240837F05FB82AA3D4036CC27E880B54540
+50     01040000000700000001010000000000603B0E5AFC3F0000F4A3FEDE3540010100000000008A9748F3454000008075B243E03F01010000000080284E4EC957400000381D98A95540010100000000004A933F7943400000BD242C38404001010000000000169A57103C400000A491B3443D40010100000000006536BD1B5240000045B300454E4001010000000000F40E0E372B4000005008CA755540
+51     01030000000100000004000000BACE7736F427444083C4BB719B52554000006958D6A8454000807C25598958400000D7C281C14E400080A59149D65540BACE7736F427444083C4BB719B525540
+52     01060000000300000001030000000100000004000000000081661D1D47400000F8EC9A0F114081B9F58F63C84140243884A26E843E409F5A15202289484042A4612511603D40000081661D1D47400000F8EC9A0F114001030000000100000007000000E81239C62D8155402F3AE54E2581384000807FB633B657400000F82ED181244000000649EF925140000048DEF6C52A403D5B83D9E7D252405E7AE55F55A740406CF38F553AF5524065BDD7D08FDB404000005D66B27256400000C81700122940E81239C62D8155402F3AE54E2581384001030000000100000004000000FCEADBF679525440312DD15EF379414000004F652DC758400000F0BBBC8738406EAF6D7C3AA25340E6EDFF0BCDA74140FCEADBF679525440312DD15EF3794140
+53     010100000000001A95714648400000380663845140
+54     01060000000700000001030000000100000004000000DF7B23CDD70C32407A1A1B4BB2043D400000AC85869A3640000070078DC711400000B8286ABB2B400000943A24B53E40DF7B23CDD70C32407A1A1B4BB2043D4001030000000100000004000000BE3D78FA5967484067B535E9CFD92C4000003ACA156B49400000C00192B4214040937861C57C4840982D02BB09EF2A40BE3D78FA5967484067B535E9CFD92C400103000000010000000500000040937861C57C4840982D02BB09EF2A400000F7E1D6D748400000544A70C822409E355D40CF2844402ACB13108DAD3F40723042AD09A244402DF9F8763149404040937861C57C4840982D02BB09EF2A4001030000000100000005000000723042AD09A244402DF9F8763149404000004C982A13314000000BA196215740000062B935CD3340008005AA698557409C9CE84702FB44408D88CF7E2A9D4040723042AD09A244402DF9F87631494040010300000001000000040000009C9CE84702FB44408D88CF7E2A9D4040F03ECC2FA98246405CD0BFB3D00E4240BE3D78FA5967484067B535E9CFD92C409C9CE84702FB44408D88CF7E2A9D404001030000000100000004000000893AF53C248F43409B9C3ED4DB892C400000A59AAEF2414000000CB48F202440D3C2854C61EE424050807222F2223040893AF53C248F43409B9C3ED4DB892C40010300000001000000040000000080B232492E52400000F053ADF3174000009A88F48737400000608B0BE556400080D19EA2725840000034DB649743400080B232492E52400000F053ADF31740
+55     0106000000030000000103000000020000000900000052B3F5F5EFCB4240F3D434FBE38A5040105FD94AD9BF3540655BB6DDF6274F4000001803EB783440000005023DFE584000005570039F53400000EEFF632054400000F7C44F0259400000EF1793E8404006508732DD844A40DDE4A049947B51400FC31B6F01C44540CBBC3A946DE75040F2CCF33455B1444095B2D26CF2A4514052B3F5F5EFCB4240F3D434FBE38A50400400000006508732DD844A40DDE4A049947B51400000FE54B3A5514000808BBB178D52400000D948E536484000004EAF3F5E524006508732DD844A40DDE4A049947B514001030000000100000005000000CEDD656617C81E4071428922796C3F40000020E267C9F83F000061155A9A40400000D0F94E9B1B400000C58BD4C84240C085E7109BC92B40C96511BA4A504340CEDD656617C81E4071428922796C3F400103000000010000000C000000C085E7109BC92B40C96511BA4A50434052B3F5F5EFCB4240F3D434FBE38A50400FC31B6F01C44540CBBC3A946DE7504076A2E28E412F464001027A616D9D50400000CAC64B004340000001C13F884B403A026474352F5040CA44C060122D434000008BE7D69855400000B0B959F320400000004A8B1107400000E424E0D43940CEDD656617C81E4071428922796C3F400000E06C073E3F400000F83F9A9838406D22EC83C4554040720117300EBC4440C085E7109BC92B40C96511BA4A504340
+56     01020000000200000000006FB965464D400080C9B6542C59400080DAA87B7D584000005F9A0F5A4E40
+57     01060000001000000001030000000100000004000000467FE81BF5CD4B40D0A4DD78AE1740400080435ED1BD52400000A85C3BC21540424C45D8AB8F4140A5C45E8B60784540467FE81BF5CD4B40D0A4DD78AE17404001030000000100000004000000424C45D8AB8F4140A5C45E8B607845400000D8A3988A3140000028ACD1154A403D594DC83C7F374041885782EFF04A40424C45D8AB8F4140A5C45E8B60784540010300000001000000040000003D594DC83C7F374041885782EFF04A40B969471203AB3440840107C4C1454C40B4CA206D9CC93940D722F31235454B403D594DC83C7F374041885782EFF04A4001030000000100000004000000B969471203AB3440840107C4C1454C400000341062F424400000E8E16E444E4036A5921B59432640F29121A053615040B969471203AB3440840107C4C1454C400103000000010000000400000036A5921B59432640F29121A0536150400000A09575491E400000EF1BC2375140689A531507E42840788151902AE2524036A5921B59432640F29121A0536150400103000000010000000B000000689A531507E42840788151902AE25240000054EBCD7A2F40000035471A29594080F15B77466B4940CFF16826DA9250403269417F5326474004F76A3E8D494E408FF2564C7D364740D222C51A843C4E40288235C91B6D444088DD8C65776F4D4000008486AE6A3E400080DAEFBA01514065B06C0D65604440126E7DE0CF6B4D408AC08F233E8A42402B6974AEACE44C40000024A92B5F32400000E808AFE85440689A531507E42840788151902AE252400103000000010000000B00000080F15B77466B4940CFF16826DA9250400080FCCBDF95534000003E9B393D59403EAC7312988B5540A81D57D511B53F4096E20CEEEE4950406AE0777B4D244A40C3CD6852A3B04F4076594EAA17264C40008080565EC1534000004ABE0EBC4B4000800744DD08524000007E47869954404BB2C42258DA4E40372FA181A20A4E400000F61D2FEA4D400080F307D5145040FC17D9FBA4374B40A7E55F162E634F4080F15B77466B4940CFF16826DA925040010300000001000000040000003EAC7312988B5540A81D57D511B53F4000008B83F7E355400000C843235B3E40EEDE2F75BD9155404554F5A0E7DB3E403EAC7312988B5540A81D57D511B53F4001030000000100000004000000EEDE2F75BD9155404554F5A0E7DB3E4000804BEA4F9B5540000094DCAE893D40733CAD2567B75440A2A92407E9184040EEDE2F75BD9155404554F5A0E7DB3E4001030000000100000004000000733CAD2567B75440A2A92407E9184040C2375A6A430C524030660BE4CE2F4240FB0CA103646C5140C4A6D1E1C9024540733CAD2567B75440A2A92407E91840400103000000010000000B000000C2375A6A430C524030660BE4CE2F4240303ED9D17AE2534071E93005C4C2334051121CEA37D653409F5B0873F8B83340467FE81BF5CD4B40D0A4DD78AE1740409BDE470650694640B422F8C3508B4740BB5BC63FC0984E40F13595B3F356444000003B57AC3B5240000064CC873F3E404414C0B65A1652406214D88DF44A3F400080CD713F1552400000922E37403F4001F6D26280F34E40E1CE93536C334440C2375A6A430C524030660BE4CE2F424001030000000100000007000000303ED9D17AE2534071E93005C4C2334027879E1F2B0A5440B6D005C378E233400000E721A34F554000003C9C783B2D4086C7674B69BC53400148D2A15AA4334051121CEA37D653409F5B0873F8B833400000CD1B99E7534000005E2C79943340303ED9D17AE2534071E93005C4C2334001030000000100000004000000B4CA206D9CC93940D722F31235454B408AC08F233E8A42402B6974AEACE44C409BDE470650694640B422F8C3508B4740B4CA206D9CC93940D722F31235454B400103000000010000000500000065B06C0D65604440126E7DE0CF6B4D40288235C91B6D444088DD8C65776F4D4001F6D26280F34E40E1CE93536C334440BB5BC63FC0984E40F13595B3F356444065B06C0D65604440126E7DE0CF6B4D40010300000001000000090000008FF2564C7D364740D222C51A843C4E40FC17D9FBA4374B40A7E55F162E634F40597CB738B7244E4068038DA920864C400000494678024E4000000FFCDF3C4C40F4ED72AFCF754E40358D9728C4364C4096E20CEEEE4950406AE0777B4D244A40FB0CA103646C5140C4A6D1E1C902454000800A1C451F504000004889D8F346408FF2564C7D364740D222C51A843C4E4001030000000100000005000000597CB738B7244E4068038DA920864C404BB2C42258DA4E40372FA181A20A4E40C3CD6852A3B04F4076594EAA17264C40F4ED72AFCF754E40358D9728C4364C40597CB738B7244E4068038DA920864C40
+58     01010000000000E0DA2716584000000E17BD024340
+59     01050000000F0000000102000000020000000000BD55476640400000104FB7DF42403665B4A9BFE63D402E5E6F5C5B0E3F400102000000030000003665B4A9BFE63D402E5E6F5C5B0E3F400000D83C909833400000F035BF071D40D3C6B8012897444090F032E4243A3540010200000002000000D3C6B8012897444090F032E4243A35400000E2D5CC0055400000E3B7407948400102000000020000000000A3E57E5F44400000F82915324C400BD1B07CFD414240287E02D7623549400102000000020000000BD1B07CFD414240287E02D76235494022F9B68CAE503F409CFCA0B16089454001020000000200000022F9B68CAE503F409CFCA0B1608945400FA7305BC612394044989B131F2141400102000000030000000FA7305BC612394044989B131F214140000010B94DAF0B400000E0F54FE70D40008078A06C2559400000083AD0541D400102000000020000000000533EF63442400000CCC56EBC3A403665B4A9BFE63D402E5E6F5C5B0E3F400102000000020000003665B4A9BFE63D402E5E6F5C5B0E3F400FA7305BC612394044989B131F2141400102000000020000000FA7305BC612394044989B131F214140C4D29198FB043640621282506C2442400102000000020000000000F2771F1E474000009088DD112440D3C6B8012897444090F032E4243A3540010200000002000000D3C6B8012897444090F032E4243A354022F9B68CAE503F409CFCA0B16089454001020000000300000022F9B68CAE503F409CFCA0B1608945400000CC6156AA20400000EE91B77D57400BD1B07CFD414240287E02D7623549400102000000020000000BD1B07CFD414240287E02D762354940000077A06D394740000059FBCC8841400102000000020000000000D8C7EC0821400000013746534740000030AED59D054000808FB3F2445840
+61     01050000000C000000010200000002000000000022F021FC52400000F91BA3714740E4AEE9D8D28851403E0DDEC039754F400102000000020000000000C33F48904D4000806EDFB8D952401F4497657A384E40BC5783CD5A1C52400102000000020000000000D467048B444000007BAC751D4140B3B8503E84BF44404F11279EF5DD404001020000000200000000007C67F2B04540000088C7C980334000004207FC1F4A40000028446B472A400102000000020000000080E5840E4A5340000090FBEAAF094015E09D1CAF205540FD742E779FAF2E4001020000000200000015E09D1CAF205540FD742E779FAF2E4034FEAA9A0BC15640C3D861A283133A4001020000000300000034FEAA9A0BC15640C3D861A283133A400000419D913B584000009AA7C1EA4140ACA3D84003C557409A0EF8A78D5B42400102000000020000000000180E064F55400000D03D6F4C2C4015E09D1CAF205540FD742E779FAF2E4001020000000200000015E09D1CAF205540FD742E779FAF2E402FBFD5EA642253403C51E135007D3C400102000000020000000000F0AA66C458400000C0E60AC2164034FEAA9A0BC15640C3D861A283133A4001020000000200000034FEAA9A0BC15640C3D861A283133A40C3010E9E679752408E4E59E6CF0E514001020000000200000000801BC0396E544000001C0D0A0C54409DB1ECA3233D3440A6D3D74A47193040
+62     010400000001000000010100000000805559ACD25640000080B144811440
+63     01010000000000A500BE22554000004C76221B4E40
+64     0106000000030000000103000000010000000400000000002C6C594D44400000209A3CAD3A4000006C42D06424400000EE9159BF5240000000C6D58940400000E02097EA1D4000002C6C594D44400000209A3CAD3A40010300000001000000050000000138A16A5D534F404B129A1EB6044D400080BFE5B2D657400000A08224C5034000801B92283353400000D83DEFFD37400000C015EE281D4000805E9EDC0C56400138A16A5D534F404B129A1EB6044D4001030000000100000004000000872D05E1E2564C40547A60C8976750400000DC2355C251400080708138AB5840008083BE0D39544000004BE0E77B5540872D05E1E2564C40547A60C897675040
+65     0101000000000051BF8676474000807035E8465140
+66     01010000000000F1D71A0B4440000016A9C2FD4F40
+67     01030000000100000004000000FEC2FC32FD703A403FA0378BF7FC4340000070E948882C400000265C9CAF3C40464BFBBA5656334098D63DF149104640FEC2FC32FD703A403FA0378BF7FC4340
+68     01060000001A0000000103000000010000000500000012FA8F1A9FD55040B6342B36192829400000C922DDC050400000D4C003A52440966524F79A995040CA8C9ECC83A32640A74CCA3B11B95040A8A4F0653C32294012FA8F1A9FD55040B6342B361928294001030000000100000012000000A74CCA3B11B95040A8A4F0653C322940FB1124CD82FC4D40F398CEF871CF294088383FC960E74940412BE9912043464000004EDA7800424000006997FD0741406E89A905991B4240309914FE73ED4340DA9A6A3E38614B409A0449A373EF494088CE3FC52C1A5540C31B241C5B914940B641448AB1AE5540F9B3D7B28297424096187017C3A45440CE93A30A3D2F44406FDBA59E6AA355405244D1B7E4EC41409963DBEAFF2D55405CB6B2FC250341400080FDAF9A5355400000225A90BC40400B9859BEB9C05540A88D366454AA41400B461C0ED0C25540B634F1EA96A5414000007488CBBF564000008C6E870E274012FA8F1A9FD55040B6342B3619282940ADF92243F8E65040ECCEB94076ED2C40A74CCA3B11B95040A8A4F0653C32294001030000000100000004000000FB1124CD82FC4D40F398CEF871CF29400000A6BC7E184F400000D02016411140BF5BD809D40A48400B529B1990DD2A40FB1124CD82FC4D40F398CEF871CF294001030000000100000004000000BF5BD809D40A48400B529B1990DD2A40ED9A3CF3F8EB404058AFD47F24212C401BA2733C93AA4140AB8C789A16AD3540BF5BD809D40A48400B529B1990DD2A4001030000000100000004000000ED9A3CF3F8EB404058AFD47F24212C40000053DC763C40400000002875391C409C77253E4AC84040C8C627067A272C40ED9A3CF3F8EB404058AFD47F24212C400103000000010000000B0000009C77253E4AC84040C8C627067A272C40000038A159642F40000044D27BBD2D400C17742E6D2D304074CE444FD30932408280C17262B634406D0C3CC167AB34400000247FDCAE3140000098E56F993040B53A4EBF18C9344015B1A20D43B634409CE9A500089F36408EC6012CEAC63540FA12690221F63540A950B41F4E453640397F779C060B3A40B2B8B01367AE3B401AE00B097A664140A8B542A2210536409C77253E4AC84040C8C627067A272C40010300000001000000090000000C17742E6D2D304074CE444FD30932400000007C0A3AC23F0000D8F94B782140013FDC73D8662A40843350C10B0E41400000285E9BD32C4000007C1C46EB3B40F6EC1CDB3A042D40B5F755DA14D93B4000000063930B11400000F8F244E62D409F83B455BB543040C5E9A4E7E87B3A40087E814671583140B9B3B92591B939400C17742E6D2D304074CE444FD309324001030000000100000006000000F6EC1CDB3A042D40B5F755DA14D93B407CC8A50FA85532408E1AE298085540401B4ADD73E664324015613E441B50404003EB4D251DA73140B71A7B1048BF3B409F83B455BB543040C5E9A4E7E87B3A40F6EC1CDB3A042D40B5F755DA14D93B40010300000001000000050000007CC8A50FA85532408E1AE29808554040D5AD863608063240CFEB1110C56E4040250F362C5D7732403349B1E2DB8C40401780AB705B6A3240100061DC0F6240407CC8A50FA85532408E1AE2980855404001030000000100000005000000250F362C5D7732403349B1E2DB8C4040BD7F4CD5DE6533407AADC9ACA19D43401FCD4AE4222C3A40294EDA6CD943454042DE676C7BD63240AAA32BC71CA64040250F362C5D7732403349B1E2DB8C404001030000000100000004000000BD7F4CD5DE6533407AADC9ACA19D43400000CC4D30FD24400000F546BA724140D434C1C495213440489C95CB47074640BD7F4CD5DE6533407AADC9ACA19D434001030000000100000004000000D434C1C495213440489C95CB4707464000003437B07135400000FB912E594A4060CF8F49BE053D4097FD7D9721414A40D434C1C495213440489C95CB470746400103000000010000000A00000060CF8F49BE053D4097FD7D9721414A4000009EF4D46D4F40000027A30E2B5540000038D015F546400000B50649124A402F3B7C112AD64540762FF375948649401710C159E13D46409B4B2C6310104A403C29709B199945406A39B34826144A40D5CAF361BEA446401270D5B5EB134B400000C610A0EB41400000D1E19B594B401D8EDCFC3E00414083172F0954314A4060CF8F49BE053D4097FD7D9721414A40010300000001000000060000002F3B7C112AD64540762FF37594864940D205C8590C224240E22C34FFC59D4440C8C7345359284240CC5AA39CFF494540F479A83AEF3D3D40F217AD883F694340942C563EA32B444008401D18E6B648402F3B7C112AD64540762FF3759486494001030000000100000004000000D205C8590C224240E22C34FFC59D44406E89A905991B4240309914FE73ED4340BAE339A603244140494404C2074D4340D205C8590C224240E22C34FFC59D444001030000000100000004000000B641448AB1AE5540F9B3D7B282974240F0FF6B54BDD855406C5729950B5742403EF8EAF743B955407B8E438F63184240B641448AB1AE5540F9B3D7B28297424001030000000100000004000000F0FF6B54BDD855406C5729950B5742400000DE827E5858400000FC919F504740F37706E72BF95540EF427E0552254240F0FF6B54BDD855406C5729950B57424001030000000100000006000000F37706E72BF95540EF427E0552254240D8AA091856035640935BDF52BC1542400000F915FBFC55400000FDEE7B2141400B461C0ED0C25540B634F1EA96A54140BEB1A2A628C255400D7AB7D973AD4140F37706E72BF95540EF427E0552254240010300000001000000050000003D65C80F023342401073DAF0D41F3B401BA2733C93AA4140AB8C789A16AD35401AE00B097A664140A8B542A221053640A6AE1F763AB74140E763ED0325133A403D65C80F023342401073DAF0D41F3B40010300000001000000050000008280C17262B634406D0C3CC167AB344036E21359B6EC35402D37A1085A4C3640FA12690221F63540A950B41F4E453640B53A4EBF18C9344015B1A20D43B634408280C17262B634406D0C3CC167AB3440010300000001000000050000006FDBA59E6AA355405244D1B7E4EC41403EF8EAF743B955407B8E438F63184240BEB1A2A628C255400D7AB7D973AD41400B9859BEB9C05540A88D366454AA41406FDBA59E6AA355405244D1B7E4EC4140010300000001000000050000009DC982C870A33C40CE4D6B292CD1464000008EC6CB6D34400000729BD30E44407BDE4D494A6039405F5376EBC385474058FA42FE71783E40A00DA77459F847409DC982C870A33C40CE4D6B292CD146400103000000010000000800000058FA42FE71783E40A00DA77459F847401D8EDCFC3E00414083172F0954314A403C29709B199945406A39B34826144A40942C563EA32B444008401D18E6B648401FCD4AE4222C3A40294EDA6CD94345409DC982C870A33C40CE4D6B292CD14640608ECB7E47514040529B66C60829484058FA42FE71783E40A00DA77459F8474001030000000100000005000000397F779C060B3A40B2B8B01367AE3B40D3136E08AFF73940E1E56AF9E7BA3B4000001D5415ED404000002E0470294340BAE339A603244140494404C2074D4340397F779C060B3A40B2B8B01367AE3B400103000000010000000600000003EB4D251DA73140B71A7B1048BF3B409E00BDD942FF344024CB4E6673F13E40D3136E08AFF73940E1E56AF9E7BA3B4036E21359B6EC35402D37A1085A4C3640087E814671583140B9B3B92591B9394003EB4D251DA73140B71A7B1048BF3B4001030000000100000006000000F479A83AEF3D3D40F217AD883F6943409E00BDD942FF344024CB4E6673F13E401B4ADD73E664324015613E441B5040401780AB705B6A3240100061DC0F62404042DE676C7BD63240AAA32BC71CA64040F479A83AEF3D3D40F217AD883F694340
+69     010400000007000000010100000000808821183950400080698EE9DF57400101000000000078CB2BDD1F4000803FCCF25B5140010100000000006CAA3067424000003E9376033940010100000000007FE83A4A4A4000001109002D534001010000000080F9EC4CDB53400000A1DD7C3E4540010100000000004C13BC3256400000A2A5F95F4D4001010000000080EC1D1108514000802F7B247B5640
+70     010200000003000000000076F7017438400000A8943E4A2D400000B296CC1E564000004061905529405187872A50BC52409762FAC9DFCE4340
+71     010300000001000000040000000000595DAF8247400000EBE9EC8E51400000B1AFB5B342400080A66053D2564000000A5BCAFC50400000CAFF16D03E400000595DAF8247400000EBE9EC8E5140
+72     01030000000100000007000000B9E8E924C2494F4040FB8217343D5040000074AAEE97424000008F63F7214640008047FC9D9055400000FC3D2F0333400000A09CE6D432400000D610593C36401913A3B70B594640CBE7A53AD3AE52406B3FE40BF8434A40F64A29BA7B655340B9E8E924C2494F4040FB8217343D5040
+73     010400000001000000010100000000006400BB344A400080DF68CE885440
+74     010300000001000000040000000080C1D2258C55400000406026B94040000044630FF051400000C08E93E4464000001C200D32564000000B8A721453400080C1D2258C55400000406026B94040
+75     0102000000020000000000E1396C15584000001D1FD7C3584023F91706D64E50405363D8E5DDAD5240
+76     01040000000A000000010100000000802F31217F53400000902B60EE4840010100000000002A9B45FC4240000081A4F4E458400101000000000010D3E03017400000CC61DFB6264001010000000000544518C824400000CA87A9FA3E4001010000000000A781889C58400000487E2CB25040010100000000006117AC7455400080FEE8887F584001010000000000A82AB3011F400000E0DE6E1D1640010100000000004C2038764A400080097CFD9251400101000000000042FAB327434000008009240F06400101000000008025669DEC524000001BB5D4A34B40
+77     01060000000400000001030000000100000004000000241A759C08384840EF1CB92790AC4E40000016DD00E845400000C275FBBC3D407AFE8DF3E6634740A414F36E66BC4E40241A759C08384840EF1CB92790AC4E40010300000001000000050000007AFE8DF3E6634740A414F36E66BC4E400000D649B46F3D400000AB4024624F400000BFB08C2041400000EE2C1359584072A47D4C30BB474058D9D55CD63051407AFE8DF3E6634740A414F36E66BC4E400103000000010000000500000072A47D4C30BB474058D9D55CD63051400000103F366448400080FD4771B8544000003E5C64E349400080595C9D0A5540D4C02BB16883484075FD6805D957504072A47D4C30BB474058D9D55CD630514001030000000100000004000000D4C02BB16883484075FD6805D9575040B4DAFA963C7C4940EA873DF45B944E40241A759C08384840EF1CB92790AC4E40D4C02BB16883484075FD6805D9575040
+78     01040000000800000001010000000000687F7C8551400000678281BC50400101000000000061B41250584000007BFC08A7464001010000000000B59548214B40000001811E5340400101000000000023779FCB5140000049FD4FE6534001010000000000DCECB8A55840000024C0C8AE4240010100000000001029650F1B4000006056544C524001010000000000B67602E939400000B16863DD414001010000000080A85DAC82564000801A5E96475040
+79     01030000000100000004000000E498948025565340DCCB9F1082733940000022BCDD535740000040EDBE851D4073A7B61666415040B77464ADAC903540E498948025565340DCCB9F1082733940
+80     0102000000030000000000C556527549400000163156893F400000404DD5451E4000803AE7C61D54400000EA15624F38400000788402F33440
+81     01050000002C000000010200000002000000000006551DBF50400080D47D50FA5740BD3778146B854D407D64B6F6FCD9514001020000000200000083FA2E253F4B4E4069C19D3A451047409049E3AFB49A5140835805C6BD7F4A400102000000040000009049E3AFB49A5140835805C6BD7F4A4000803A651F0256400080367AF253504000804E8FC2095340000079AB99A64C4000001C70C96A544000003987C82D50400102000000030000009049E3AFB49A5140835805C6BD7F4A40000079B6EC6750400000D021BEF04F4083FA2E253F4B4E4069C19D3A4510474001020000000200000000009DB474654540000084EA749C2340F97B69BDD54D4C401DA8943499654240010200000002000000F97B69BDD54D4C401DA8943499654240A91006C54CCC4D405927CBF4BB504540010200000002000000A91006C54CCC4D405927CBF4BB504540ED58BF44D9F34D408A7476E9FD9D4540010200000002000000ED58BF44D9F34D408A7476E9FD9D4540CE2F9D71EEA34E402C043F0CF7F5464001020000000200000000002F7FCCA450400000AA8446C83C40534AA5EC7EBF50405805A0E2F39D3D40010200000002000000534AA5EC7EBF50405805A0E2F39D3D408090D65CF4AE5140B953FF0E448D42400102000000020000000000D095E0F84940000065DE4C6B434018F5233BA2C24740FC48F1AA91EE414001020000000200000018F5233BA2C24740FC48F1AA91EE41402F5260C3625F45408C3167E4935340400102000000030000002F5260C3625F45408C3167E493534040000008336C7B1440000098215D6B1D40FBBD918B052345407345B6C1A1A94040010200000002000000FBBD918B052345407345B6C1A1A94040FA40134C36FF4740CAC445DD70A94240010200000002000000FA40134C36FF4740CAC445DD70A9424031FAE2AAF3334B4016BEAE9425E7444001020000000200000031FAE2AAF3334B4016BEAE9425E74440F1A54C1C94EA4D400081E5C8B2CC4640010200000002000000F1A54C1C94EA4D400081E5C8B2CC464083FA2E253F4B4E4069C19D3A451047400102000000020000000000B8F705645640000018C5C30F23408E01AC4037CE5540D8091941B0B02D400102000000020000008E01AC4037CE5540D8091941B0B02D409049E3AFB49A5140835805C6BD7F4A4001020000000200000083FA2E253F4B4E4069C19D3A451047405D32B06121F24D40B6E524F019D645400102000000020000005D32B06121F24D40B6E524F019D64540A91006C54CCC4D405927CBF4BB504540010200000002000000A91006C54CCC4D405927CBF4BB5045401F58456E77B54C405DA4AB48BD7941400102000000020000001F58456E77B54C405DA4AB48BD7941400000353AC09B4A40000056802B24344001020000000200000000002A4D6C254740000084609E983B40B52A361D51A64640A6118C1505033D40010200000002000000B52A361D51A64640A6118C1505033D402F5260C3625F45408C3167E4935340400102000000020000002F5260C3625F45408C3167E493534040FBBD918B052345407345B6C1A1A94040010200000002000000FBBD918B052345407345B6C1A1A94040A6504FCAA3B94040E82DB62EA9F346400102000000020000000000D43D423558400000D0E6B94F1F408E01AC4037CE5540D8091941B0B02D400102000000020000008E01AC4037CE5540D8091941B0B02D40534AA5EC7EBF50405805A0E2F39D3D40010200000003000000534AA5EC7EBF50405805A0E2F39D3D400000ACE6B2154E400000AB2EA74C4140ED58BF44D9F34D408A7476E9FD9D4540010200000002000000ED58BF44D9F34D408A7476E9FD9D45405D32B06121F24D40B6E524F019D645400102000000020000005D32B06121F24D40B6E524F019D64540F1A54C1C94EA4D400081E5C8B2CC4640010200000002000000F1A54C1C94EA4D400081E5C8B2CC4640BD3778146B854D407D64B6F6FCD95140010200000004000000BD3778146B854D407D64B6F6FCD9514000006126F07B4D4000006A55C57452400000EB1070804E40000065F2E59A54403F87D111FA543E40360C66584E364F40010200000002000000000028AD0769464000003B5C8BCF4F40BA0DBFE3AEC64940B006F6B979264840010200000002000000BA0DBFE3AEC64940B006F6B97926484031FAE2AAF3334B4016BEAE9425E7444001020000000200000031FAE2AAF3334B4016BEAE9425E74440F97B69BDD54D4C401DA8943499654240010200000002000000F97B69BDD54D4C401DA89434996542401F58456E77B54C405DA4AB48BD7941400102000000020000001F58456E77B54C405DA4AB48BD7941404BCFE8E83AE04C40DB4D218169184140010200000002000000BD3778146B854D407D64B6F6FCD95140BA0DBFE3AEC64940B006F6B979264840010200000002000000BA0DBFE3AEC64940B006F6B979264840FA40134C36FF4740CAC445DD70A94240010200000002000000FA40134C36FF4740CAC445DD70A9424018F5233BA2C24740FC48F1AA91EE414001020000000200000018F5233BA2C24740FC48F1AA91EE4140B52A361D51A64640A6118C1505033D40010200000002000000B52A361D51A64640A6118C1505033D400000FE0EF6FD45400000DAA055F43840
+82     010300000001000000040000006AC297689BBD384011B9E4B2670C3D400000BC185F512D400000F07093C028400000A41363CD36400000E0F0E1993C406AC297689BBD384011B9E4B2670C3D40
+83     01050000000E0000000102000000020000008E174D95A5AE4940B3F9FD3BFC584E403EF1E7BB27EB4140F8A608C3EC0730400102000000030000008E174D95A5AE4940B3F9FD3BFC584E400000CEC41A513A4000000170ECB0404080007F1B8D0C2940EBFBDF8540413D40010200000003000000000000EA89B7B43F0080D99FED665340000060B602CDFC3F0000F08B36835040297369BC537E414002111597FE4D5240010200000003000000297369BC537E414002111597FE4D5240000023545DB34C400000C2C6DA835340A37F3817FEA94A402A5C80A8FD955040010200000002000000A37F3817FEA94A402A5C80A8FD9550408E174D95A5AE4940B3F9FD3BFC584E4001020000000300000000004215EB5548400080FE4C951C554000006CEFFEC455400000FB11E3E8584018D30FAC00E55040F8EE56AC0598534001020000000200000018D30FAC00E55040F8EE56AC05985340251A8D935CDC4B40B99CAD13925C5040010200000002000000251A8D935CDC4B40B99CAD13925C50408E174D95A5AE4940B3F9FD3BFC584E4001020000000200000000004C9EAA902D400080FC81B2325440297369BC537E414002111597FE4D5240010200000002000000297369BC537E414002111597FE4D5240A37F3817FEA94A402A5C80A8FD955040010200000002000000A37F3817FEA94A402A5C80A8FD955040251A8D935CDC4B40B99CAD13925C5040010200000002000000251A8D935CDC4B40B99CAD13925C504000008AAECB844E4000003ABD15BA4F40010200000002000000000043A9087E50400000380AC132544018D30FAC00E55040F8EE56AC0598534001020000000200000018D30FAC00E55040F8EE56AC05985340C801CF689BF5524032CFD847AF7D5040
+84     010600000022000000010300000001000000040000000080BE9E2333524000803B91268A51402AE126D32A18514061BEC15ADA1E514000000103867D514000806A5C20EA53400080BE9E2333524000803B91268A514001030000000100000004000000EA971073919D53404F8BDA30F9323740000057B318F94E400000C850E38D27403B3347B7955B5040664217BABD153440EA971073919D53404F8BDA30F9323740010300000001000000040000003B3347B7955B5040664217BABD153440000065F749E84C40000096DEC743324093145578D28F5040869CAF87DB0736403B3347B7955B5040664217BABD1534400103000000010000000500000093145578D28F5040869CAF87DB07364061DCE03680DA5040AF219181F7CF3840C202553569A353400EEAA381E1123D40000060060D9C534000008C38A7793B4093145578D28F5040869CAF87DB07364001030000000100000004000000C202553569A353400EEAA381E1123D4000D76127B6A753408764FA0FFF013E4021151A7A8D5854400CBA1B9611283E40C202553569A353400EEAA381E1123D400103000000010000000900000000D76127B6A753408764FA0FFF013E4016F31DC7AE1D4F402906EF042F203D404DAE9E35E49F50400D037EF287523F400080F250A7305140000090AEC20D3F40513A30B4575C56407342CF9CC0B94140451BF45FDE5C5640053BDB18139F4040125060E7439C5440B2711330AF8F3E40509F454914B25340B59581993921404000D76127B6A753408764FA0FFF013E400103000000010000000400000016F31DC7AE1D4F402906EF042F203D402B002013A4C44B40BFBB68CAA4AD3940AB09EDBD5E914D4028E056B785F53C4016F31DC7AE1D4F402906EF042F203D40010300000001000000040000002B002013A4C44B40BFBB68CAA4AD3940ED2876DE23154A4049D7FDE40B9B36405C9ABF6375F34940DDA7D51D9FCE37402B002013A4C44B40BFBB68CAA4AD394001030000000100000004000000ED2876DE23154A4049D7FDE40B9B364000002D3AC0F44B400000F8613EFD15404AB3B33211B046404C1360CAC86A3040ED2876DE23154A4049D7FDE40B9B3640010300000001000000050000004AB3B33211B046404C1360CAC86A30400000B0B759314140000058C4BB9919401715AFC9CD474040013CFC26A0B22B40712FF024906345407BBEE9C6FA1B33404AB3B33211B046404C1360CAC86A3040010300000001000000060000001715AFC9CD474040013CFC26A0B22B400000B83119DF28400000E04925E50B40000068B8B3B3304000001076649D1C400000C8FE3666224000008C23C8AB3B4088CCC56134433C402B07B423A4653F401715AFC9CD474040013CFC26A0B22B400103000000010000000500000088CCC56134433C402B07B423A4653F40B27F98FABB223B40F2E159DDA6FF41400E0B44298221444078F443371C3841408D25FE40B42644406B4AA1FE0AE0404088CCC56134433C402B07B423A4653F4001030000000100000006000000B27F98FABB223B40F2E159DDA6FF41400000A058DBD916400000A523524543408421A8B5F30826406ACA2B3BA30D44400000A806BC7627400000F220D1F842409488C70B88B03940B581D72C51F34440B27F98FABB223B40F2E159DDA6FF4140010300000001000000080000008421A8B5F30826406ACA2B3BA30D4440000080147B9601400000272066B35040527040B515D83440EA864C4257D74E407497988A247C35406D89A46C76884D40000034F2D53E314000007DC7EE684C4012C4DCF8084E37401D35F66279D149409370A62E551C3940B5B390B8D22146408421A8B5F30826406ACA2B3BA30D44400103000000010000000B000000527040B515D83440EA864C4257D74E4000002819B44933400080282243025140F9307A83A8E344400D593BC663C45040F07A9968E0374A40C5FA94641E244D4000003081938743400000F27E47694B40880BE37D66B74340DE29407BA73E48408B8F35751B2D3E404B08A9601BE1464012C4DCF8084E37401D35F66279D149407497988A247C35406D89A46C76884D40D0C8BDA2A7843840A51654FE2E564E40527040B515D83440EA864C4257D74E4001030000000100000004000000F9307A83A8E344400D593BC663C4504000006E17F5F34240008063ADB7905140937430A2DFFC4F40B930803E53875040F9307A83A8E344400D593BC663C4504001030000000100000004000000937430A2DFFC4F40B930803E5387504028709D0707415240B4EEA05D746E5040DC25122E140E5240B47EA06665335040937430A2DFFC4F40B930803E538750400103000000010000000400000028709D0707415240B4EEA05D746E504000805E49A550564000009B368E23554072AFFF4D4C555640806D7E179141504028709D0707415240B4EEA05D746E50400103000000010000000700000072AFFF4D4C555640806D7E17914150400080C0690F9258400080E959F2285040923C496D5357564046A4FE907B414C406BE90AACE656564040FCF30CC3254D400000FEB1714F5740000023EECABA4E40CEDEA3E7FF555640AF9A56EF250A4F4072AFFF4D4C555640806D7E179141504001030000000100000005000000923C496D5357564046A4FE907B414C40AE09990E765A56400D986DD0BDAC4540B3B9336C55C45540760964CC0D7245406B43E729342F5440F3B6083400534840923C496D5357564046A4FE907B414C4001030000000100000004000000AE09990E765A56400D986DD0BDAC4540008010F7488856400000B6A3A7BE4540988F0AFA835A564074E1110E868F4540AE09990E765A56400D986DD0BDAC454001030000000100000004000000988F0AFA835A564074E1110E868F4540572ECBA7145B56408EC4CDDCD65F444005E4FF7446F05540DC775A5F1F224540988F0AFA835A564074E1110E868F454001030000000100000004000000572ECBA7145B56408EC4CDDCD65F44400080BA1F7689574000004D10CC394240513A30B4575C56407342CF9CC0B94140572ECBA7145B56408EC4CDDCD65F444001030000000100000004000000451BF45FDE5C5640053BDB18139F40400080C74E0557584000005E9A562242406E3EE105735D56408257F1DB1DCE3E40451BF45FDE5C5640053BDB18139F4040010300000001000000040000006E3EE105735D56408257F1DB1DCE3E400080CA10805D5640000056F05C973E400D072241FB475640DB6880F0BA923E406E3EE105735D56408257F1DB1DCE3E40010300000001000000050000000D072241FB475640DB6880F0BA923E4075D143D98D415440B1BC29619BF83840000075DC35FE54400000A674D9D93D40470D92D23DC754402F100028E63F3E400D072241FB475640DB6880F0BA923E400103000000010000000400000075D143D98D415440B1BC29619BF8384000800D37280D544000009C1BA59D3740EA971073919D53404F8BDA30F932374075D143D98D415440B1BC29619BF8384001030000000100000004000000470D92D23DC754402F100028E63F3E4021151A7A8D5854400CBA1B9611283E40125060E7439C5440B2711330AF8F3E40470D92D23DC754402F100028E63F3E40010300000001000000050000008B8F35751B2D3E404B08A9601BE1464000004E54293940400000DC5C84E845409488C70B88B03940B581D72C51F344409370A62E551C3940B5B390B8D22146408B8F35751B2D3E404B08A9601BE146400103000000010000000800000057E726EB2A6A4940910081BC12833C400000EB5DF9A54940000084C732923A405C9ABF6375F34940DDA7D51D9FCE3740712FF024906345407BBEE9C6FA1B334011CEE5353ADC40404476CCBFFB7E3C40E3F1E88869444440F07D693FF9D03D400000E4D4665244400000247ABAF63B4057E726EB2A6A4940910081BC12833C4001030000000100000008000000E3F1E88869444440F07D693FF9D03D408D25FE40B42644406B4AA1FE0AE04040F10A8971023D4540A5EED6B5701641405A0EE481A3234F40C6F47CCCD4D23F40AB09EDBD5E914D4028E056B785F53C4057E726EB2A6A4940910081BC12833C40696417E00A094940D392E66DFEA93F40E3F1E88869444440F07D693FF9D03D4001030000000100000009000000F10A8971023D4540A5EED6B5701641400E0B44298221444078F443371C384140880BE37D66B74340DE29407BA73E48409FE5E4E8F6E04C402A70E959A1F24A400080ADC001B25140000036E150944540E48E2642DCCD5340D8CE0978120449406B43E729342F5440F3B60834005348409A0F8DBEFCBD514032F51FD345DF4340F10A8971023D4540A5EED6B570164140010300000001000000090000009FE5E4E8F6E04C402A70E959A1F24A40F07A9968E0374A40C5FA94641E244D40008070D244AA5140000021BC657F4F40DC25122E140E5240B47EA06665335040CEDEA3E7FF555640AF9A56EF250A4F406BE90AACE656564040FCF30CC3254D40E48E2642DCCD5340D8CE097812044940008035B833B05140000069985EDD4C409FE5E4E8F6E04C402A70E959A1F24A40010300000001000000060000009A0F8DBEFCBD514032F51FD345DF4340B3B9336C55C45540760964CC0D72454005E4FF7446F05540DC775A5F1F2245404DAE9E35E49F50400D037EF287523F405A0EE481A3234F40C6F47CCCD4D23F409A0F8DBEFCBD514032F51FD345DF4340
+85     01040000000600000001010000000000061D662A57400000E8356C0F1D4001010000000000B8B40A294E40008024C4E01C534001010000000000A01D2A83194000804F91C12051400101000000000063BE8B8B41400000FF079223534001010000000000D5EB97DC5340008068849FA6554001010000000000F2B2892735400000B4B3E2593E40
+86     010300000001000000040000005DA5389A467D5140A724148C76734B400000B9DC2796554000800FBDBC37504000007B8B8C7A51400000150B296D43405DA5389A467D5140A724148C76734B40
+87     01010000000000431FEC9B444000002961CFD54940
+88     01060000001100000001030000000200000009000000AF66605E80BA304090A68B73D3E345400000565C63EA32400000ACF435AB4E40F2DB6F22B3EE3D403EB1EEB8835551400000E2C4F3E048400000EAEC9B3559402C0FE99CBF8F514018ACBA66FF914D4000008618BBE1504000006C0A5E544D404D270FEBEC454A40451A62F46F4545403DD06F40D9DB47400534B1E90C7A4940AF66605E80BA304090A68B73D3E3454004000000F2DB6F22B3EE3D403EB1EEB883555140000030FE27FF32400000484FD3FA49400000963E3BBF4A400000CEEF539C5540F2DB6F22B3EE3D403EB1EEB88355514001030000000100000004000000BECCD7CCD17334408433D51E8BAE2E4000004CFF33223340000054566FC92D40749E6C30A26F33409D41967ABBCA2E40BECCD7CCD17334408433D51E8BAE2E4001030000000100000008000000749E6C30A26F33409D41967ABBCA2E400000E40331782A400000B073BA762F403C94B1F88E97304064DD11A2905745408D93E300C5CE3B40BF425990A13442400000300E2E6836400000C1939D8C404035EDE0D713D73E405B3D2863895B4140B963C05DE9013F40754549E18E4F4140749E6C30A26F33409D41967ABBCA2E40010300000001000000040000003C94B1F88E97304064DD11A290574540000010DC197E2E4000005B16E8B74540AF66605E80BA304090A68B73D3E345403C94B1F88E97304064DD11A290574540010300000001000000040000002C0FE99CBF8F514018ACBA66FF914D4000005908CCDD58400000A3F225145040FF62FD68CC8852405C48789C4C9C49402C0FE99CBF8F514018ACBA66FF914D400103000000010000000B000000FF62FD68CC8852405C48789C4C9C49400000CF9EF46D5740000008297EBE2640BECCD7CCD17334408433D51E8BAE2E4035FC5FD0214046404EAD99FF2B80374000007C9B89D943400000726109083040C158F8AF8FA248402AB132924568384000003672975B51400000C4AE2D432A403302AD63AC304D404506D4F1B13040400000C8DF6BA4514000000F3120864540298976FC8431504050E1ECF8AF304740FF62FD68CC8852405C48789C4C9C494001030000000100000004000000076B3FEBBC442F40167B390203BB4D4000008C5A369422400000E566E7FB4A4045140F1A3A132A40295AF667CA4D4E40076B3FEBBC442F40167B390203BB4D40010300000001000000040000000F36DD9AD6D34640D2926EAFB74B3940000029F12C3B47400000B40E882A384035FC5FD0214046404EAD99FF2B8037400F36DD9AD6D34640D2926EAFB74B394001030000000100000004000000CC0C62E91C27464035E04C81152F3B409F0728A56F18474046B526D723213A400F36DD9AD6D34640D2926EAFB74B3940CC0C62E91C27464035E04C81152F3B4001030000000100000004000000298976FC8431504050E1ECF8AF304740F82754C735384C40755126BF2C09454011AAAD6BFB5A4E40A3B45FBABC5B4840298976FC8431504050E1ECF8AF30474001030000000100000005000000A8DAA4FC44434B407F1C5EBB248C43403302AD63AC304D404506D4F1B1304040C158F8AF8FA248402AB13292456838409F0728A56F18474046B526D723213A40A8DAA4FC44434B407F1C5EBB248C43400103000000010000000500000013BEC46181F94240A9E94332F8094240CC0C62E91C27464035E04C81152F3B40B963C05DE9013F40754549E18E4F41403236C33DCC173F4005D1CC65BD61414013BEC46181F94240A9E94332F8094240010300000001000000050000003236C33DCC173F4005D1CC65BD61414035EDE0D713D73E405B3D2863895B41408D93E300C5CE3B40BF425990A1344240935973E2324B4140F16189D0EA4844403236C33DCC173F4005D1CC65BD61414001030000000100000004000000935973E2324B4140F16189D0EA484440E7D4C4E61154414072893D0DA857444042A7EE96B05841409DCAA93131514440935973E2324B4140F16189D0EA4844400103000000010000000500000042A7EE96B05841409DCAA93131514440BE051A14874643406231B63C188045408A80E75C15454740F77833CFBFDC424013BEC46181F94240A9E94332F809424042A7EE96B05841409DCAA93131514440010300000001000000040000004D270FEBEC454A40451A62F46F4545402667528DA4D24A40AE405341535044400000B3B3290D48400000AAA18CE142404D270FEBEC454A40451A62F46F45454001030000000100000004000000A8DAA4FC44434B407F1C5EBB248C43402667528DA4D24A40AE40534153504440F82754C735384C40755126BF2C094540A8DAA4FC44434B407F1C5EBB248C4340
+89     01050000001600000001020000000200000000009ED06E264A4000003096EFFF1440D3359E3CC67A4940E8EFE69420EB2540010200000002000000D3359E3CC67A4940E8EFE69420EB25408CF74CE280774940D07A0FCCD32226400102000000020000008CF74CE280774940D07A0FCCD322264066747694D3CD474019AF07D7D23939400102000000020000000000CCACDEBF45400000F6244EFD3940D3359E3CC67A4940E8EFE69420EB2540010200000003000000D3359E3CC67A4940E8EFE69420EB2540000095092A7F4940000028FBBFC725408CF74CE280774940D07A0FCCD3222640010200000002000000000015C2BF7646400000DAF758A15540912C5330B6444640CE75C3D8E08B554001020000000300000000804DD8D7FC51400080AF7D4A7256400000733F53D244400080709632175740912C5330B6444640CE75C3D8E08B55400102000000050000008CF74CE280774940D07A0FCCD32226400000C42252AD3F40000037835D135140000016959686434000008031004C1040000080E09C622E400000A0CF42A9FF3F00007445833C2C4000001C452E3B29400102000000020000000000BA6431BA43400000505CC2985440C5F6C39259FD4340A7A90D3594915440010200000003000000C5F6C39259FD4340A7A90D359491544000000957D0BD46400080165242465440ADC48F7FD6FD47408DA2A66D08A25240010200000002000000ADC48F7FD6FD47408DA2A66D08A252409E4402196D664B40D9648EE875504C4001020000000200000000006042B886164000005E1466ED5040FC135D49BE3830402E9DE4814FFB51400102000000020000000000E00C790A11400080959A409053409EFBED6696023540CE0F2B4F339251400102000000020000000000BF097424414000803EA3ACF453405CB2DA28C2CE41409515EB58E8A153400102000000030000005CB2DA28C2CE41409515EB58E8A1534000000A07D54548400080908D8E7D5040ADC48F7FD6FD47408DA2A66D08A25240010200000002000000ADC48F7FD6FD47408DA2A66D08A25240D444D41DDBD34740B8F8BC8ADDE15340010200000004000000D444D41DDBD34740B8F8BC8ADDE153400000EB4C14904740000010CE35E655400000DB904E82514000000B85BB284F4000804ED9DA645640008089F9DE095540010200000002000000912C5330B6444640CE75C3D8E08B5540C5F6C39259FD4340A7A90D3594915440010200000002000000C5F6C39259FD4340A7A90D35949154405CB2DA28C2CE41409515EB58E8A153400102000000020000005CB2DA28C2CE41409515EB58E8A15340F880BEBD01984140B00928696A8A5340010200000002000000912C5330B6444640CE75C3D8E08B5540D444D41DDBD34740B8F8BC8ADDE15340010200000002000000D444D41DDBD34740B8F8BC8ADDE15340275AC74555884840F5F1CE413D215340
+90     01040000000300000001010000000000FB9889F34C400000324B59E05040010100000000000C75CA903E400000669B2839314001010000000000AD1E747A454000009F7ECA784240
+91     01060000000200000001030000000100000006000000BF7F91ECBE6E4440B4138A1476DF3E400000EEEAFC1E5740000080331A15F03F0000239F2D4A4040000010AEE62E15400000259416C049400000D492F3282540000036BB18B834400000FA99568D3640BF7F91ECBE6E4440B4138A1476DF3E4001030000000100000004000000786DB183704E54409B3988BB8F3D4840000067E831B85540000021C0EAF946400080AC148435544000004A7F4E993940786DB183704E54409B3988BB8F3D4840
+92     0105000000380000000102000000020000000000C01FD07C58400000D29A65AB324056C1AA7BA5935640FD46780C4F303240010200000003000000EE97C1DFE9CB3D4069E1188BEF69364000007C7DEDA03D4000004ABF804D3640BDA81DA53DBF3D406BA61999106E3640010200000002000000BDA81DA53DBF3D406BA61999106E364000002C2913EA4A400000278C2926484001020000000300000048E0F068325C4C40AB7957D0E96B4B400000C0CE704816400000FC3FA54E3E40BDA81DA53DBF3D406BA61999106E3640010200000002000000BDA81DA53DBF3D406BA61999106E3640EE97C1DFE9CB3D4069E1188BEF693640010200000003000000EE97C1DFE9CB3D4069E1188BEF6936400000D1B8C3E244400000EAF61383324000806C6AE811504000001CFFD67C33400102000000020000000000603A84EA11400000070071C24F4048E0F068325C4C40AB7957D0E96B4B4001020000000400000048E0F068325C4C40AB7957D0E96B4B4000805F7B048450400000AD5450A54A400080A930B57954400000ACE972704C40EE97C1DFE9CB3D4069E1188BEF69364001020000000200000000000CB944B4564000803126707952408E656CCCC1AE5640FB032D3FE04A52400102000000020000008E656CCCC1AE5640FB032D3FE04A5240A0C660A5EDA256405929AE86F1E65140010200000002000000A0C660A5EDA256405929AE86F1E65140D68ED57F0C4B5640BA0AA51006014E40010200000002000000D68ED57F0C4B5640BA0AA51006014E4000002808A1EA54400000241254F92A40010200000002000000008084EF6CE950400000F9002D405840BF6D7C2A91075140E638616F401A5540010200000002000000BF6D7C2A91075140E638616F401A55400944FE06FF115140AAFD78AE650354400102000000020000000944FE06FF115140AAFD78AE6503544039EE60CC531451401EB8A83711C5534001020000000200000039EE60CC531451401EB8A83711C55340A12611465A145140EF25631464C45340010200000002000000A12611465A145140EF25631464C453401C26555C3D1E5140228D22E007BC52400102000000020000001C26555C3D1E5140228D22E007BC5240EB6122D000325140D8EFC83C98AB5040010200000003000000EB6122D000325140D8EFC83C98AB50400000DB383C4051400000AC871D5E4E4048E0F068325C4C40AB7957D0E96B4B400102000000020000003E4EFBC15B93524084DFF5A7172050400000ABBAF4325340000076119C3C4C400102000000020000000080B8109E6B58400000D34ED5835540749D7E43354E5740E71655B4FC195240010200000002000000749D7E43354E5740E71655B4FC1952404E9DE1FC46365740D3CCA8B5B7D051400102000000020000004E9DE1FC46365740D3CCA8B5B7D05140D68ED57F0C4B5640BA0AA51006014E40010200000003000000D68ED57F0C4B5640BA0AA51006014E4000804C918C3156400000628DE0644D403E4EFBC15B93524084DFF5A7172050400102000000020000003E4EFBC15B93524084DFF5A717205040EB6122D000325140D8EFC83C98AB5040010200000002000000EB6122D000325140D8EFC83C98AB504043F7345A89D541407DB0A81B41F0534001020000000400000043F7345A89D541407DB0A81B41F05340000090219AAE15400000475F84EC56400000C0C2D67BE93F0000356A37AA54400000B831DE3E37400000FA43DF8650400102000000020000000000DB347EFC404000805EE3D3AD534043F7345A89D541407DB0A81B41F0534001020000000200000043F7345A89D541407DB0A81B41F053406EADFA32F9E74640ACE123CBA47D55400102000000020000006EADFA32F9E74640ACE123CBA47D5540D6C6DE41EA0847406030C1BFB9875540010200000002000000D6C6DE41EA0847406030C1BFB9875540B23D3C646070474077C21EE363A75540010200000002000000B23D3C646070474077C21EE363A75540C99F29AC01724D4045224932FC7D5740010200000003000000C99F29AC01724D4045224932FC7D5740000015C28D0950400080B437FD4B5840BF6D7C2A91075140E638616F401A5540010200000002000000BF6D7C2A91075140E638616F401A55400604A33835665140E978A8C893E953400102000000020000000604A33835665140E978A8C893E95340857EB872657B51405D56A4BB5DA55340010200000002000000857EB872657B51405D56A4BB5DA553403F60B21D957B5140599AF746C4A453400102000000020000003F60B21D957B5140599AF746C4A45340E518F8FF04CC51407A388471D1A15240010200000002000000E518F8FF04CC51407A388471D1A152403E4EFBC15B93524084DFF5A7172050400102000000020000000000F809BACD1D400000694CC46D58406EADFA32F9E74640ACE123CBA47D55400102000000020000006EADFA32F9E74640ACE123CBA47D5540A12611465A145140EF25631464C45340010200000002000000A12611465A145140EF25631464C453403F60B21D957B5140599AF746C4A453400102000000030000003F60B21D957B5140599AF746C4A45340000066F47436534000807AD9171D5340857EB872657B51405D56A4BB5DA55340010200000002000000857EB872657B51405D56A4BB5DA5534039EE60CC531451401EB8A83711C5534001020000000300000039EE60CC531451401EB8A83711C5534000007E20A6B94C4000005201FC9A5440D6C6DE41EA0847406030C1BFB9875540010200000003000000D6C6DE41EA0847406030C1BFB98755400000C09A120C17400000DAEC34CE5840B23D3C646070474077C21EE363A75540010200000002000000B23D3C646070474077C21EE363A755400944FE06FF115140AAFD78AE650354400102000000020000000944FE06FF115140AAFD78AE650354400604A33835665140E978A8C893E953400102000000020000000604A33835665140E978A8C893E953408E656CCCC1AE5640FB032D3FE04A52400102000000020000008E656CCCC1AE5640FB032D3FE04A5240749D7E43354E5740E71655B4FC195240010200000003000000749D7E43354E5740E71655B4FC19524000800CFFC03B594000801894A98251404E9DE1FC46365740D3CCA8B5B7D051400102000000020000004E9DE1FC46365740D3CCA8B5B7D05140A0C660A5EDA256405929AE86F1E65140010200000002000000A0C660A5EDA256405929AE86F1E65140E518F8FF04CC51407A388471D1A15240010200000002000000E518F8FF04CC51407A388471D1A152401C26555C3D1E5140228D22E007BC52400102000000020000001C26555C3D1E5140228D22E007BC5240E2D83B93C15042405F6B5C016BEF534001020000000200000000004244CB3B4E400000727A2A125840C99F29AC01724D4045224932FC7D5740010200000002000000C99F29AC01724D4045224932FC7D5740AD96A1D454604A40B5A91722083D5540
+93     01040000000A00000001010000000000C5B699C957400000AB8C04F64340010100000000001AF0CC695740000080683A6DFE3F010100000000008768B2B946400000E500D2C9464001010000000080AB65B20C524000806431B3F05440010100000000007D41C42A48400000A2979F72474001010000000000E4173B0543400000EC9B69C64A40010100000000004D4AF8974240000079AE63954540010100000000805302E74850400000776ED6D9564001010000000000F461519540400000FA860C3B4A40010100000000006993E99F47400080E90AFDE45240
+94     01010000000000B28CD25D564000008AD104423540
+95     01040000000500000001010000000000C41A8DD4564000000D484EFF434001010000000000D5E5D43C4040000043DDB455554001010000000000C48D66D02A400000A094BCF9F83F0101000000000054BF6CA449400000CC30FC5023400101000000000085E1D66E4740000048A8AA2D1240
+115    01040000000500000001010000000080F35A1FC658400000EE3F15F6574001010000000000289777434F4000007971F2D94340010100000000800A1F3981504000000DF8892A594001010000000000146CE9704A40000020F4D737FB3F010100000000009DA9ECC3564000007FC227C15740
+116    01030000000100000004000000C9101553A67639401FE46AB7F03D4A400000B14DA7AA48400000BE4A2C6C3F400000E44A69FE2240000096C103FE4540C9101553A67639401FE46AB7F03D4A40
+96     01050000001000000001020000000200000000003E96DEEA3B40000056331AD95740F6DE953689493A40C4CD8D1B88E75440010200000002000000F6DE953689493A40C4CD8D1B88E754404D0CDC73B9223740A1B8CC66606D4E400102000000030000004D0CDC73B9223740A1B8CC66606D4E4000005EB99B0D34400000D829984B4340AE75BA4099E72640001B1EB043B23F40010200000003000000AE75BA4099E72640001B1EB043B23F400000A0B8C789FF3F0000604BAE1838401EDEB13EE3A11B40BDDBAC0FEF5A34400102000000030000001EDEB13EE3A11B40BDDBAC0FEF5A344000000878E4932940000090C02FCC2F406B3665986E6653406C80339CBE2955400102000000040000006B3665986E6653406C80339CBE29554000002B591ACE554000008839DCB657400080E053D90059400000140272785440BB33F171681F4C4010EC65E408364440010200000002000000BB33F171681F4C4010EC65E408364440E788147CBD66494009FDFFF71AA24140010200000002000000E788147CBD66494009FDFFF71AA241400000F838DE2F2C40000000A54F8FDF3F010200000002000000000038F70FC016400000B2F9214F31401EDEB13EE3A11B40BDDBAC0FEF5A34400102000000020000001EDEB13EE3A11B40BDDBAC0FEF5A3440AE75BA4099E72640001B1EB043B23F40010200000002000000AE75BA4099E72640001B1EB043B23F404D0CDC73B9223740A1B8CC66606D4E400102000000040000004D0CDC73B9223740A1B8CC66606D4E400000982C4D293C400000677A6B5952400000B231ECF1474000006781B3F64F40F6DE953689493A40C4CD8D1B88E75440010200000004000000F6DE953689493A40C4CD8D1B88E754400000202B831624400080932C129B58400080C0F3575954400080771BDB2057406B3665986E6653406C80339CBE2955400102000000020000006B3665986E6653406C80339CBE295540BB33F171681F4C4010EC65E408364440010200000004000000BB33F171681F4C4010EC65E40836444000007597008C4B400000487EBB0443400000A277AFFD504000006A7DF6DE4340E788147CBD66494009FDFFF71AA24140010200000002000000E788147CBD66494009FDFFF71AA241400000902DCA9C434000008AF3A01F4040
+97     010300000001000000040000007194707BCE813D4035B9F8D18A9730400000F875B0103C40000080C3A8922F40ECEE4BA3D89D3B40F42F2C64223131407194707BCE813D4035B9F8D18A973040
+98     010400000006000000010100000000001EEC1D174240000070EE186A074001010000000000405D7B3C3A40000018846D67224001010000000000746A547C3C400080A0CCB719584001010000000000EEBAF3A83840000050B3A17B154001010000000000F2339D9D40400000DF4D33B64B40010100000000806C8D171158400000D89B6AE23140
+99     0103000000010000000400000022E66BE4926D39403DB6DB74BB363E400000D034F23934400000A0B176C7024038134A08BA0031400408D651358C364022E66BE4926D39403DB6DB74BB363E40
+100    0102000000040000000000FD72DDF6464000004CF8115837400000B1EB572940400080109F7BA953400000E64C5CB25240000099D3B05552400000E7A50D8049400000DDC30DE74340
+101    01060000000C0000000103000000010000000400000031183920CEAB4F40E63A47FCD157524000806F43D607504000801480A682534000801ADF135151400080393713EF554031183920CEAB4F40E63A47FCD157524001030000000100000004000000D646E529A0285340BB371A4021685540000043413ED352400000EA9CBD3F57400000791F277B584000806EC7BCD95440D646E529A0285340BB371A402168554001030000000100000004000000CF4B7856A2994240B03EE4C7FDF519400000F441C60442400000603D7BCD1240EF88067CFE793F40C5D49005AE891C40CF4B7856A2994240B03EE4C7FDF5194001030000000100000004000000EF88067CFE793F40C5D49005AE891C400000001D7214CB3F0000E026904E25405BED1C38D6772640A4D84773C3EF3140EF88067CFE793F40C5D49005AE891C40010300000001000000070000005BED1C38D6772640A4D84773C3EF3140000088D6DD70154000006A7A311235400000008954BE08400000C858F69E4640B8864D67CF24334004D5A746BA6345400000506B4D4B2E400000B4B2A62E4540047FEC1ED1A9414090F7DDC98BED40405BED1C38D6772640A4D84773C3EF314001030000000100000007000000B8864D67CF24334004D5A746BA63454044314EF413375240C2405E94162D4840A25C2CF98F1C554039E964E6AD3D47400080A2FED706544000005894EDF22D406288ABD8CC60494040F608DA9B593B40AEAB5898F7804C40130889D1177C4240B8864D67CF24334004D5A746BA6345400103000000010000000500000044314EF413375240C2405E94162D48400000BE0A9613354000001AFA295B4C408FE98F1F41193F40ACBA3A4CEE354E40DA5E651C043553408F7C7ECCC761484044314EF413375240C2405E94162D484001030000000100000004000000DA5E651C043553408F7C7ECCC7614840F3D9344C09385540D59EB3BAA5CC48406B14A755751F55405DF4D6B9BB674740DA5E651C043553408F7C7ECCC7614840010300000001000000040000006B14A755751F55405DF4D6B9BB67474000001884640556400000D5E980F24640A25C2CF98F1C554039E964E6AD3D47406B14A755751F55405DF4D6B9BB674740010300000001000000040000006288ABD8CC60494040F608DA9B593B40E1D9A6107D54494076CFB9FEB7333B40C1513C3489194940C1618987B4953B406288ABD8CC60494040F608DA9B593B4001030000000100000004000000E1D9A6107D54494076CFB9FEB7333B400000FDEF0E6654400000A0E240E5F73FCF4B7856A2994240B03EE4C7FDF51940E1D9A6107D54494076CFB9FEB7333B4001030000000100000006000000C1513C3489194940C1618987B4953B40047FEC1ED1A9414090F7DDC98BED40406E0301E35CED4440337A0A6EA2154340D453AD352CF74440DD9650A38C1743400000FDB17B924440000029D0188E4140C1513C3489194940C1618987B4953B40
+102    0102000000020000000000803258E9F33F0080F985EA6A534000007853330A4A400000A0814BBC5340
+103    010600000003000000010300000001000000050000000F598EBA5A665140DB7E490DCE0D4D400000417474FC534000008D7CA5814840008099E4BA6352400000149C98E220402E44DE42969C5040B78B3DC887C54C400F598EBA5A665140DB7E490DCE0D4D400103000000010000000D0000002E44DE42969C5040B78B3DC887C54C4008ACF034A6634F409D568ED96F714C402116D7580E884F40ACFE944C3CE84D40264CCF6793F04C401EE1AC04400F4D40BCC0CFE236574D4041FB684282134C400000C1678A7245400000EE6499A94A4000002CF0F5D0374000006FBDC57454400000CE105B07504000003FE962A64E4080E70AE51CF153404BB32A885BF551400080B4E45AB4574000005877F34F4F400F598EBA5A665140DB7E490DCE0D4D400000F42326795040000026EBE0AE4E402E44DE42969C5040B78B3DC887C54C400103000000010000000400000008ACF034A6634F409D568ED96F714C4000004F3E60F74E4000009889CA164840BCC0CFE236574D4041FB684282134C4008ACF034A6634F409D568ED96F714C40
+104    010400000003000000010100000000001EF5988A5140000030F079EA2E40010100000000009800A57853400000B19A2DEA424001010000000000D0E072C33E40008037725DB95640
+105    010200000003000000000050621AC32A4000003CCAB9D84D400000A43E570C294000000015CD86FD3F04DC026FD7DD4B40B3A78193A8064440
+106    01020000000200000000001CF76C2A274000007BFA031C4240ECAB2C78D10834406F94007A2F1E4040
+107    010300000001000000040000000000D8C1183555400000D4C4DAF3254081D70837B0644E40F4504E83B9293E40A257269B47804E40FBF9739EED7E45400000D8C1183555400000D4C4DAF32540
+108    01060000000400000001030000000100000006000000FEB2C896815A4E403573CBA4BA2150400080C7B7264C564000007E64406C4B4000803E1FF5D251400000FDCDEA7044400000D0FC1AE054400000AE837F7533406ABAFC8A8E674B40FFE799A036994940FEB2C896815A4E403573CBA4BA215040010300000001000000050000006ABAFC8A8E674B40FFE799A036994940DBA97E765FDC494070A6781A111C464000000C8FCCF63A400080E8338A3B50407B16FAA106A34440FFC937FBD08A50406ABAFC8A8E674B40FFE799A036994940010300000001000000070000007B16FAA106A34440FFC937FBD08A5040384FD652E2654140C2CFF0A363555240FB8831044F8442401E61AA1AB62452400000B57693FE44400080FDFC60DB50409528E9BB788D4640A68F4A0F207551406CE668DCC3744A404AB72E954BCB50407B16FAA106A34440FFC937FBD08A5040010300000001000000040000006CE668DCC3744A404AB72E954BCB5040000051C2451E4F400000DBE0F3FE5040FEB2C896815A4E403573CBA4BA2150406CE668DCC3744A404AB72E954BCB5040
+109    01060000001700000001030000000100000007000000C4BA778E1F2C3B4080C208E9BC223040000044AE959A3C4000004489E0B02E40ADF141141715444096AFF3C8F70A344000005872C4A0474000004C2612C621407C55994197CB31407461D2B641D8204005788E1F1FFA33404ECD6D1376032840C4BA778E1F2C3B4080C208E9BC223040010300000001000000060000007C55994197CB31407461D2B641D820400000D01CA8452B4000000045856DF93F924F3D3EEC642F4000923792001A2340EBCB1BB7A31E3040642006BF279623400000DC29C9C82F40000090EEE4C820407C55994197CB31407461D2B641D820400103000000010000000B000000924F3D3EEC642F4000923792001A23400000ECC31ABC21400000806ACD86164000002076A98416400080281428245040000078B9438F2140000093DD18585240000088881B932540000068B944002640DAA9E3064B563440DC454E28FE2D3C4078708C94146B3440B1729063B0C93B40DF4452709E9F32405165DF38DEDA34400000B0A075F93140000074039836354051D2F143B8B9304052B8179ED80B2B40924F3D3EEC642F4000923792001A234001030000000100000007000000DAA9E3064B563440DC454E28FE2D3C40A4CCB62E8EB3314002FA48BCE17244409C3840185E543F40D60A6C2120FA4740F0C0522A872D3940A5BDE96CA171424072DB3A0B3D2836401179930FA14041403AA47814CCAD34403AD26A9167CB3C40DAA9E3064B563440DC454E28FE2D3C4001030000000100000007000000A4CCB62E8EB3314002FA48BCE17244400000BC7138882E400000BF3B79D14340B47696EDF4002640902741AFC8BD484092063474245740406D8E7C8704AF4A404DF5BF0829A24040B8B84545B2044A400000D4276DBC30400000ED2E1CC74640A4CCB62E8EB3314002FA48BCE17244400103000000010000000500000092063474245740406D8E7C8704AF4A40E7C0A88A3FB73640C50E8DB17BFF52404815F7EEAA853E40688F6CFA71EA5040A5CE17D7C0054140216E855F4ECE4A4092063474245740406D8E7C8704AF4A4001030000000100000004000000A5CE17D7C0054140216E855F4ECE4A40160F22CFD54241403EBAEC5A40D94A40841926FED816414063EAB0311F8A4A40A5CE17D7C0054140216E855F4ECE4A4001030000000100000007000000160F22CFD54241403EBAEC5A40D94A40009302C0F2714940B94D631A15C95440320A9161A4DA494081720717A89E54408E8E77BE31E6444006224DE8D7B04B407B6F4107636D42408751E812BEB84A406D2B639612404240AC0554FFA0064B40160F22CFD54241403EBAEC5A40D94A4001030000000100000004000000009302C0F2714940B94D631A15C95440000070E0BECC47400080FDF2C47355404D4EBE047F974940E7FB38E4DAEA5440009302C0F2714940B94D631A15C95440010300000001000000040000004D4EBE047F974940E7FB38E4DAEA54400000B6D1A8FE4A400000D1DCE72D56406D127B915BFC49408C0DEEBCC0CC54404D4EBE047F974940E7FB38E4DAEA5440010300000001000000050000006D127B915BFC49408C0DEEBCC0CC54400080EC8161C152400000A71E345C514000008B4E97544E400080729246CE5240320A9161A4DA494081720717A89E54406D127B915BFC49408C0DEEBCC0CC5440010300000001000000070000008E8E77BE31E6444006224DE8D7B04B4089EE472EFF2E4C40B0124E07F78B4E409BFAF4B810F543401F0E8DFE419B4340CFBE33F6D1394240A20940FE508943403EB9E57D382746405FDA3F2013FD494095F569E10D844340E9AA39B579E847408E8E77BE31E6444006224DE8D7B04B400103000000010000000A0000009BFAF4B810F543401F0E8DFE419B434080CC5612979E4F4099741FA41A144440744C8F799A4050400F37F1898AEC42401DDAB5171E8F45402635B59C3349394086FCA36FBC2041409BD6F1B50D293B4050383902FE3E41403691B6592AAF3940637758A1A2FB4340F39D3AD8227A3740C4BA778E1F2C3B4080C208E9BC223040CC13A38419EA37405FB591D625EF31409BFAF4B810F543401F0E8DFE419B43400103000000010000000800000080CC5612979E4F4099741FA41A1444407E1F696C85FA4B40E125C939BFD34840008085A643F15240008092B7205C50400000A635BFDA56400000237998A24A4000004C9500675740000080098A7EE13F744C8F799A4050400F37F1898AEC4240CE9F148F475E5140DA22AB5D6734444080CC5612979E4F4099741FA41A144440010300000001000000050000001DDAB5171E8F45402635B59C33493940489196CF10075340E63693B6D54E32400080AF63E79655400000002055151340637758A1A2FB4340F39D3AD8227A37401DDAB5171E8F45402635B59C334939400103000000010000000700000005788E1F1FFA33404ECD6D1376032840EBCB1BB7A31E3040642006BF2796234051D2F143B8B9304052B8179ED80B2B40DF4452709E9F32405165DF38DEDA3440C0B331F1C5453640F36D1ABC2ED73240601E64EFFBBE36408770B0974F8E304005788E1F1FFA33404ECD6D137603284001030000000100000009000000C0B331F1C5453640F36D1ABC2ED7324078708C94146B3440B1729063B0C93B403AA47814CCAD34403AD26A9167CB3C40F0C0522A872D3940A5BDE96CA171424095F569E10D844340E9AA39B579E847400000C7B094E941400000348911864340CFBE33F6D1394240A20940FE508943403FF42F03F7AA3740F725B71900123240C0B331F1C5453640F36D1ABC2ED73240010300000001000000050000003FF42F03F7AA3740F725B71900123240CC13A38419EA37405FB591D625EF3140000044EA49C636400000DA7D106B3040601E64EFFBBE36408770B0974F8E30403FF42F03F7AA3740F725B71900123240010300000001000000040000004F8CE4C1837E41401BF816E89FEC4840000068A5ADFE4140000070F56AED46407B9998E7872F41400D51022EBAC348404F8CE4C1837E41401BF816E89FEC4840010300000001000000040000007B9998E7872F41400D51022EBAC348409C3840185E543F40D60A6C2120FA4740CAFC27A4F4B440401840F3F305DA49407B9998E7872F41400D51022EBAC3484001030000000100000004000000CAFC27A4F4B440401840F3F305DA49404DF5BF0829A24040B8B84545B2044A40F8AF37AF86D84040F2B8A8E0021A4A40CAFC27A4F4B440401840F3F305DA494001030000000100000004000000F8AF37AF86D84040F2B8A8E0021A4A40841926FED816414063EAB0311F8A4A40033D3B92DC2A4140744D10C14A3A4A40F8AF37AF86D84040F2B8A8E0021A4A4001030000000100000005000000033D3B92DC2A4140744D10C14A3A4A407B6F4107636D42408751E812BEB84A401AA734B9CE034340E06E51C332B649404F8CE4C1837E41401BF816E89FEC4840033D3B92DC2A4140744D10C14A3A4A40
+110    01050000001C0000000102000000020000000000956DD466574000000B221E5A4240CC816A181323574026F71557182442400102000000030000000000D551B04B4D4000007C7519934840000047644159434000004873E18C19401DEDADBCC67431407D227FFDC2D345400102000000020000001DEDADBCC67431407D227FFDC2D345404980B6F2C0493040A589C1DE12DA46400102000000030000004980B6F2C0493040A589C1DE12DA4640000040A814A00E40008099C71BE450401D4D5562CCFE2A408A98701ADCD250400102000000020000001D4D5562CCFE2A408A98701ADCD2504074683575B7BD38407EA0B3ABCDBE504001020000000300000074683575B7BD38407EA0B3ABCDBE504000002C451C6E494000005A1336905040C9E63D9FA1AD4B4075C23F273FA75040010200000002000000C9E63D9FA1AD4B4075C23F273FA750408A51842C2EBA504005BB10F66EE25040010200000002000000000094DCEB6548400000A3D4E7D64B406A8829DBB0334440C7960A94DD7A49400102000000020000000000FCB3353F2A400080CB39BC3059404DC1FCB19C8550409F7F6C38247E54400102000000020000004DC1FCB19C8550409F7F6C38247E5440AFD4B304C0D3524031233311C6AC5340010200000003000000AFD4B304C0D3524031233311C6AC534000004D3181B9574000808734F8EF51405DD4FE6F170F5540AAFF44F080552140010200000002000000000050A5854A4140000059C632F0564062BF4763F9893940E09F725A573F514001020000000200000062BF4763F9893940E09F725A573F514074683575B7BD38407EA0B3ABCDBE504001020000000200000074683575B7BD38407EA0B3ABCDBE50400777FBD8C0F23540158E9C9BC3F94D400102000000020000000777FBD8C0F23540158E9C9BC3F94D404980B6F2C0493040A589C1DE12DA46400102000000020000004980B6F2C0493040A589C1DE12DA4640000014514DE422400000D40F107B3C40010200000002000000000028C0C91B37400080386C8B0D514062BF4763F9893940E09F725A573F514001020000000200000062BF4763F9893940E09F725A573F514036699DA4ABA04C404FEF56892CC9534001020000000200000036699DA4ABA04C404FEF56892CC953404DC1FCB19C8550409F7F6C38247E54400102000000030000004DC1FCB19C8550409F7F6C38247E544000803716324658400080473D7CF95640AFD4B304C0D3524031233311C6AC5340010200000002000000AFD4B304C0D3524031233311C6AC5340C9E63D9FA1AD4B4075C23F273FA75040010200000002000000C9E63D9FA1AD4B4075C23F273FA750401DEDADBCC67431407D227FFDC2D345400102000000020000001DEDADBCC67431407D227FFDC2D3454000009A5934B2304000008933D498454001020000000200000000006075C7DEF23F0000B89EF3A556401D4D5562CCFE2A408A98701ADCD250400102000000030000001D4D5562CCFE2A408A98701ADCD2504000004CA6C33E2D400080E48FB04A50400777FBD8C0F23540158E9C9BC3F94D400102000000020000000777FBD8C0F23540158E9C9BC3F94D40A68D37E4549A3E4031051CC209E54A40010200000002000000000082A63C914A40000062E0F360534036699DA4ABA04C404FEF56892CC9534001020000000200000036699DA4ABA04C404FEF56892CC95340B394DE1E50444E4072D1177F181C5440
+111    010400000002000000010100000000006E4AB3C1494000007BC9A0CC4640010100000000003082C1F3494000006CEA355B5540
+112    01020000000300000000002EDC1D4057400000BA9982DC3E40000070DBA3561D4000002093C24901407CB86FB31F384D40434FFF136AEE3940
+113    010600000005000000010300000002000000050000008A88FF83E53B4640F1BA93637F8E4740FC60F665308A4C40A731757C896F4440000069FDBA0A45400000C00115B1EA3F663FD37D13BF4140962C9749446439408A88FF83E53B4640F1BA93637F8E4740040000002AA9B83CB95246400CBFBE8235C344400236EF43844C4640765BAA1F98BE444000003B75440344400000CDD1311641402AA9B83CB95246400CBFBE8235C3444001030000000100000009000000663FD37D13BF4140962C9749446439400000700D1F673940000000D6DE1AEF3F0000D8328AE61A4000006827025B1F40027ED7935403374020A3EF16ACC23A4000006EA6261238400000BA8E5B7C3640905ADB5E1B793D40C0D85D88AFB33F40B25FA63A6A653B4018D3B09E31DA3F40ED83A7718D1F40409C74F79154BE4240663FD37D13BF4140962C97494464394001030000000100000004000000027ED7935403374020A3EF16ACC23A4092C4D7515EA63540511AD0205E224040B25FA63A6A653B4018D3B09E31DA3F40027ED7935403374020A3EF16ACC23A4001030000000100000005000000ED83A7718D1F40409C74F79154BE42405E0BB46A1E653B40E2FDD6B815C84B40F1FE493E5B274040844EB4F4DF904A400000C787F21F4440000096BD5D644740ED83A7718D1F40409C74F79154BE424001030000000100000006000000F1FE493E5B274040844EB4F4DF904A40039CC3E78E372D40C8E970D2C5D1504000002C850689414000006583C5FD53400000D9E0E2944C400080C120A47553408A88FF83E53B4640F1BA93637F8E4740F1FE493E5B274040844EB4F4DF904A40
+114    01020000000200000000001872667B1C4000004C481D3D244034BAE582BD51234096919BC0DC734240
+117    010600000024000000010300000001000000040000009CC7373250B34840D94CA2C8431AFB3F0000E57E27F74840000080B46A5ED73F3312F54154DB47405B40D6DF570CFB3F9CC7373250B34840D94CA2C8431AFB3F010300000001000000050000003312F54154DB47405B40D6DF570CFB3F0000C41882B83C400000C035A56FFA3F4CC1F7FE4A603C401EFAF2DC2D2E0C405C166F20790344407C60070CA72319403312F54154DB47405B40D6DF570CFB3F010300000001000000040000004CC1F7FE4A603C401EFAF2DC2D2E0C400000E43A10D62E40000000E648D3DC3F8A47D4B7C8813B40E9E93B34E97A20404CC1F7FE4A603C401EFAF2DC2D2E0C40010300000001000000040000008A47D4B7C8813B40E9E93B34E97A2040475FCC4DC35C3A402C140EA1B2E72C4054B0DB3632F53F402BEAD7F84E3726408A47D4B7C8813B40E9E93B34E97A204001030000000100000008000000475FCC4DC35C3A402C140EA1B2E72C40000050C080F61C40000014C1C5E1394096B61F2F16DF2940BCABF63F812F524000009A6ABBCC30400000AF9AAD965040C3A1E2D89C3A314078EDD5F994015040000084E136AC29400000C8818DA24B40F64838B54F1D33403051391339E54A40475FCC4DC35C3A402C140EA1B2E72C400103000000010000000400000096B61F2F16DF2940BCABF63F812F52400000004E6E56CE3F0000B982126F5740A0D0EF1A387A2A406AE654B910CF524096B61F2F16DF2940BCABF63F812F524001030000000100000006000000A0D0EF1A387A2A406AE654B910CF5240000090F0B8AA2D40008012BFDF16564067B07A0165CB34408A5BF582665A524046012B02D12335403786E23B73F451400292268A43D932400F54088330D05040A0D0EF1A387A2A406AE654B910CF52400103000000010000000800000067B07A0165CB34408A5BF582665A524000000A02F69532400000B03258E654405B699F8509EB3B40ABD44F490E555540F65ADDB6F8A53A40498A07FB15B3544000003A370885344000005D97BF4654404D822EA0FD0136407FB31C0E27635240BED148CD2C4D3540C496FDCB0E09524067B07A0165CB34408A5BF582665A5240010300000001000000040000005B699F8509EB3B40ABD44F490E5555400000E4E988973E4000804B8D1EAA5640C6EB313437C0404068C74E794B9755405B699F8509EB3B40ABD44F490E55554001030000000100000004000000C6EB313437C0404068C74E794B9755400000C83845F5494000807DE5BF71564051B983D66E3A4140E13839C01C3D5540C6EB313437C0404068C74E794B9755400103000000010000000C00000051B983D66E3A4140E13839C01C3D5540748506913EFE4A407B72EF0212114C40AE0D7AE1C197484057D20F6704694B400000931171DB48400000F9F865744E40F0C0DE338D0743400ECB9A9484E34940D97B19EF899F4040AEC626270C3B4940CC063A6769223E40FA899B31E59849400A14B0B38D073D401B00087C22624A407492C360883E3740EC839C0F54D150404D822EA0FD0136407FB31C0E27635240F65ADDB6F8A53A40498A07FB15B3544051B983D66E3A4140E13839C01C3D554001030000000100000008000000748506913EFE4A407B72EF0212114C400000B36E751B55400000E063601D5040BC2A5C435FC5544027F440DE901A4C409349664F55365240429C749791BB4A40A1C3EAD80AB85140E623C206FCC64A404CFBFA3888C2514036D72884847D4A40594F9FB512354D407B3B88548FCC4840748506913EFE4A407B72EF0212114C4001030000000100000004000000BC2A5C435FC5544027F440DE901A4C40008079EEBD77574000004AAE7E8C4D404B60277C429A5440DD851CD59F094A40BC2A5C435FC5544027F440DE901A4C40010300000001000000050000004B60277C429A5440DD851CD59F094A40EA749EE77956544001FCC0E7FEC94640AD4D3D8B271154404CCF9DC70386464008FD5F4AA74F54404A24B31432AE49404B60277C429A5440DD851CD59F094A4001030000000100000006000000EA749EE77956544001FCC0E7FEC946400080A025E9865740000021B4A3EA494000005C307EB95740000084F1CD16354000803221A0E156400000E6D17B3D43407D8E3B350E135440A7C9EC8DD18E4340EA749EE77956544001FCC0E7FEC94640010300000001000000040000007D8E3B350E135440A7C9EC8DD18E434010CB75777C0854406D71821B250D43400E53907F65FA5340E9DAF3169C9143407D8E3B350E135440A7C9EC8DD18E43400103000000010000000400000010CB75777C0854406D71821B250D434000000D6EA429554000001ECA46DD3040CE64376960165340C0B55912EACA2D4010CB75777C0854406D71821B250D434001030000000100000005000000CE64376960165340C0B55912EACA2D400080A99B288D5240000080DDE9E6FB3F9CC7373250B34840D94CA2C8431AFB3F1AEE672C8375474028F6EE4898AC1F40CE64376960165340C0B55912EACA2D4001030000000100000005000000297682DBC217474078BDFF81A5463440000040EAE1BE4640000078BB8F8F284028D56456D8704640AA20357A5B0C2A40F4DCF3996E6C45405DB5FDFBEE1F3240297682DBC217474078BDFF81A54634400103000000010000000900000028D56456D8704640AA20357A5B0C2A401AEE672C8375474028F6EE4898AC1F405C166F20790344407C60070CA723194054B0DB3632F53F402BEAD7F84E37264096BA025A110241403936327A64DE284000009B4CA0284140000008781117264093F6C9AE34054140E82915097BE628403E405F0FA2B84440C0CC74803838314028D56456D8704640AA20357A5B0C2A400103000000010000000500000096BA025A110241403936327A64DE284087F71B1547EF3D40E75A911D13423F4073F201BDB6763E40020707A9DA9C3E4093F6C9AE34054140E82915097BE6284096BA025A110241403936327A64DE28400103000000010000000400000087F71B1547EF3D40E75A911D13423F400000BE2436A13C40000084ACCD6C40403810A1D7FB6B3C40782BE3CC221E434087F71B1547EF3D40E75A911D13423F40010300000001000000050000003810A1D7FB6B3C40782BE3CC221E4340EF738D1C555E3940E9DA101B9F284A40A6EB5582A83A3A40A222A8BEAA0E4A405DC4645D3B4A3C40F2CDCD633ED344403810A1D7FB6B3C40782BE3CC221E434001030000000100000006000000EF738D1C555E3940E9DA101B9F284A40F64838B54F1D33403051391339E54A40C3A1E2D89C3A314078EDD5F9940150400292268A43D932400F54088330D05040E5600AFD1898374088FE1EF315404E40EF738D1C555E3940E9DA101B9F284A4001030000000100000006000000E5600AFD1898374088FE1EF315404E4046012B02D12335403786E23B73F45140BED148CD2C4D3540C496FDCB0E0952407492C360883E3740EC839C0F54D150401CC2B741E0F53840F2FAB5683C474D40E5600AFD1898374088FE1EF315404E40010300000001000000050000001CC2B741E0F53840F2FAB5683C474D400A14B0B38D073D401B00087C22624A40728DD21B679B3D40ABBE33A8CCA84940A6EB5582A83A3A40A222A8BEAA0E4A401CC2B741E0F53840F2FAB5683C474D4001030000000100000007000000728DD21B679B3D40ABBE33A8CCA84940CC063A6769223E40FA899B31E5984940000072EE7D113F400000833ECDEE4840D97B19EF899F4040AEC626270C3B49404E42AF91D2D3414057C259566AF248406CF671C0E47A3F404EA4A2CDBC4F4740728DD21B679B3D40ABBE33A8CCA84940010300000001000000060000004E42AF91D2D3414057C259566AF24840F0C0DE338D0743400ECB9A9484E34940AE0D7AE1C197484057D20F6704694B40E414BEB62E40484019BBBEFC987847407106E707202D4840D12FE4E27D7347404E42AF91D2D3414057C259566AF2484001030000000100000005000000E414BEB62E40484019BBBEFC98784740594F9FB512354D407B3B88548FCC48402282093CFE3F4F40B8DCDD3FD9C84540647051A85D3F4840DE182CB7316F4740E414BEB62E40484019BBBEFC9878474001030000000100000006000000647051A85D3F4840DE182CB7316F47402B36AA7F818847407EF216CF246B3E400000196A558B45400000025B29FB3B400000448E9CD8434000002E717F4A46407106E707202D4840D12FE4E27D734740647051A85D3F4840DE182CB7316F4740010300000001000000080000002B36AA7F818847407EF216CF246B3E40590EEBFDFC3C52406053D8C0DF234740C5C1A5C6428A5240D28E6175AE064540550E7DA84A5B51402838A17192DD434002E107425BBA524034BBE6C4D5B543408654A34626C45240000C8B6A3F714340297682DBC217474078BDFF81A54634402B36AA7F818847407EF216CF246B3E4001030000000100000007000000C5C1A5C6428A5240D28E6175AE064540AD4D3D8B271154404CCF9DC70386464040196933B4E55340CE82CFBB26544440EBD996D505D85340B68CAA4CC6D44440D4D7C85748F452407C980C4447AF434002E107425BBA524034BBE6C4D5B54340C5C1A5C6428A5240D28E6175AE0645400103000000010000000400000040196933B4E55340CE82CFBB265444400E53907F65FA5340E9DAF3169C914340A687AB33F8D6534040DE90A49E95434040196933B4E55340CE82CFBB2654444001030000000100000005000000A687AB33F8D6534040DE90A49E95434000001BB19774534000007885FE3A3D408654A34626C45240000C8B6A3F714340D4D7C85748F452407C980C4447AF4340A687AB33F8D6534040DE90A49E954340010300000001000000060000009349664F55365240429C749791BB4A400080B03D9C6054400000CF5677894A4008FD5F4AA74F54404A24B31432AE4940590EEBFDFC3C52406053D8C0DF2347404CFBFA3888C2514036D72884847D4A409349664F55365240429C749791BB4A4001030000000100000007000000F4DCF3996E6C45405DB5FDFBEE1F32403E405F0FA2B84440C0CC74803838314073F201BDB6763E40020707A9DA9C3E405DC4645D3B4A3C40F2CDCD633ED344409C9B675281323C40FAF4CD0B850646406CF671C0E47A3F404EA4A2CDBC4F4740F4DCF3996E6C45405DB5FDFBEE1F3240
+118    01010000000000FC418AFA4540000052A1E2B73540
+119    01010000000000C2D87DCE5740000028843B461840
+120    0102000000090000000000AF35A07349400000F042C59E3F400080FE8AC5E0544000002878A0F01840000028DDA3052B40000030F32DF8324000006DDD691E534000007981504346400000D0705CB105400000858E84DD56400000D49335C23D40008078F581B85640000036A57DD543400000269DBED1534000809FB91C2459400080C7288C005840008053C53015574000005CB0EE3F3A40
+121    010100000000009E89B74F49400000239489444340
+122    010300000001000000040000000000418787294D400000554B99DD46400000283EEB8C20400000CCBB77FD434000001F40B689524000806E38B4D455400000418787294D400000554B99DD4640
+123    0102000000050000000000A4FBDDF63140000060C6960121400000E468A0A036400080863EDC9F544000003EEDA71B59400080994E07D857400000B65F3BAC574000003EA7C0504C400000CCEBDF9256400000890F15E25540
+124    01020000000200000000000A5E76154340000042D922414740D583AEED65933F4090B268DCF5845340
+125    01050000003B00000001020000000200000073D95C583E6352402F7858EB11EF43406EF63697F479514093D143BAAA244040010200000002000000925E6A54934F45406AC443A30B1B47401B8FA681D577424031D7EE21F74149400102000000020000001B8FA681D577424031D7EE21F74149401F3CF502BBAF2D40501435A461CF50400102000000030000001F3CF502BBAF2D40501435A461CF504000001CF1A7FE23400080B05329BA51404B1F08F760043040D0BB46DB424551400102000000020000004B1F08F760043040D0BB46DB4245514027DAC400B1C33F40651746B07413504001020000000200000027DAC400B1C33F40651746B0741350400A7BD8457A8F4240741C5FCCDE564F400102000000020000000A7BD8457A8F4240741C5FCCDE564F40F22888C74888474062DC1C9BA9D44D40010200000003000000F22888C74888474062DC1C9BA9D44D4000000C89F4425040000041AE471A4B4089754A3734924840432582BBCA4D4E4001020000000200000089754A3734924840432582BBCA4D4E40ECC52A24658045404BF95252228A4F40010200000002000000ECC52A24658045404BF95252228A4F407C455CB55A273D408DE25B33E32951400102000000020000007C455CB55A273D408DE25B33E32951400000BEFCFFCB3840008019A4239A51400102000000020000000000BC0833053B400000ACEC6A0D52407C455CB55A273D408DE25B33E32951400102000000020000007C455CB55A273D408DE25B33E329514027DAC400B1C33F40651746B07413504001020000000200000027DAC400B1C33F40651746B074135040B1A74226509E4240F986A67AA4974B40010200000002000000B1A74226509E4240F986A67AA4974B403EF994629EFA42405279FDB4D2FD4A400102000000020000003EF994629EFA42405279FDB4D2FD4A40F2586422F11D4440A19527955B184940010200000002000000F2586422F11D4440A19527955B184940925E6A54934F45406AC443A30B1B4740010200000002000000925E6A54934F45406AC443A30B1B474022F14E56A102484045B03E33769B42400102000000020000000000136B045058400000B4FB642A264073917B5507A05540177706D29BD0464001020000000200000073917B5507A05540177706D29BD04640459FE9D3329E55407E3B5A1E5FDC4640010200000002000000459FE9D3329E55407E3B5A1E5FDC4640F2FCBC9F4F5455408915BA9447B74840010200000003000000F2FCBC9F4F5455408915BA9447B748400000612310A0544000002C5FD03D4D40060DAD3B11A553403FBA2FBDC0294940010200000002000000060DAD3B11A553403FBA2FBDC02949408D8D0E3D54485340156860E0FDA747400102000000020000008D8D0E3D54485340156860E0FDA74740F8AA0C7107325340E6797C203B4B4740010200000002000000F8AA0C7107325340E6797C203B4B474073D95C583E6352402F7858EB11EF43400102000000020000000000C63C0068564000005D14196E4840F2FCBC9F4F5455408915BA9447B74840010200000002000000F2FCBC9F4F5455408915BA9447B74840060DAD3B11A553403FBA2FBDC0294940010200000002000000060DAD3B11A553403FBA2FBDC029494012A019EE51C25240B1EA8258F165494001020000000200000012A019EE51C25240B1EA8258F1654940D97DC9BF743052409D00B887A98C49400102000000020000000000DC062A8457400080D9D497D05540123390A3BC755740F2BF7798F2B45540010200000002000000123390A3BC755740F2BF7798F2B4554012A019EE51C25240B1EA8258F165494001020000000200000012A019EE51C25240B1EA8258F165494008CBA0EA6362524026A09CAA4DF6474001020000000200000008CBA0EA6362524026A09CAA4DF647404CE1771A18425240F3B96640887A47400102000000030000004CE1771A18425240F3B96640887A4740000032CD79F3514000002C953C4D464073D95C583E6352402F7858EB11EF434001020000000300000073D95C583E6352402F7858EB11EF43400080EA1629925440000076FB9F2F3040925E6A54934F45406AC443A30B1B47400102000000020000000000E038450B0B40000031EB9DA048401F3CF502BBAF2D40501435A461CF50400102000000020000001F3CF502BBAF2D40501435A461CF50404B1F08F760043040D0BB46DB424551400102000000020000004B1F08F760043040D0BB46DB42455140C5597FF2EA1D3540D6B2CA8D5F455340010200000003000000000005D308B6584000801686CEB655400000DE614F2E59400000E1D932FA5640123390A3BC755740F2BF7798F2B45540010200000003000000123390A3BC755740F2BF7798F2B455400000F05A664752400000102FC9E15140DDBDEC85569F50405D4DC7F59E205140010200000002000000DDBDEC85569F50405D4DC7F59E205140B23B55C206294F4091ACD24914A75040010200000002000000B23B55C206294F4091ACD24914A7504089754A3734924840432582BBCA4D4E4001020000000200000089754A3734924840432582BBCA4D4E40F22888C74888474062DC1C9BA9D44D40010200000002000000F22888C74888474062DC1C9BA9D44D40B1A74226509E4240F986A67AA4974B40010200000003000000B1A74226509E4240F986A67AA4974B4000005349A2C141400000B5E31E334B403EF994629EFA42405279FDB4D2FD4A400102000000020000003EF994629EFA42405279FDB4D2FD4A4008CBA0EA6362524026A09CAA4DF6474001020000000200000008CBA0EA6362524026A09CAA4DF647408D8D0E3D54485340156860E0FDA747400102000000020000008D8D0E3D54485340156860E0FDA74740459FE9D3329E55407E3B5A1E5FDC4640010200000003000000459FE9D3329E55407E3B5A1E5FDC46400000202EB1ED554000009A454CC1464073917B5507A05540177706D29BD0464001020000000200000073917B5507A05540177706D29BD04640F8AA0C7107325340E6797C203B4B4740010200000002000000F8AA0C7107325340E6797C203B4B47404CE1771A18425240F3B96640887A47400102000000020000004CE1771A18425240F3B96640887A4740F2586422F11D4440A19527955B184940010200000002000000F2586422F11D4440A19527955B1849401B8FA681D577424031D7EE21F74149400102000000020000001B8FA681D577424031D7EE21F741494000002C16E34E38400000586E4BE1494001020000000200000000002507675F41400000D4B22A424F400A7BD8457A8F4240741C5FCCDE564F400102000000020000000A7BD8457A8F4240741C5FCCDE564F40ECC52A24658045404BF95252228A4F40010200000004000000ECC52A24658045404BF95252228A4F4000001A632258494000000E1F1DCD4F4000007C3BDCB039400080B4D7E01D5840DDBDEC85569F50405D4DC7F59E205140010200000003000000DDBDEC85569F50405D4DC7F59E20514000005AAE46A152400000AE3BE5804F40B23B55C206294F4091ACD24914A75040010200000002000000B23B55C206294F4091ACD24914A7504056347E14C3784D40A444544FECE65040
+126    0102000000040000000000EBAC0CB251400000224CCC243A400000406E50811440000008017B8F45400000FCE5394953400000A5D13777464000004A472CD33D4000001285872E5640
+127    01030000000100000004000000000095DCB35A57400000C858F31D5640008083F165F054400080B0846AF3534000805D735BA85740000045C48B3C5140000095DCB35A57400000C858F31D5640
+128    01010000000080C938CFCB58400000FAD768395540
+129    0104000000090000000101000000000002CD9ACA3E4000009B714D904940010100000000800A29784C584000005C4448C62E4001010000000000842B7C1E2B400000BBF32554494001010000000000F6D31103434000002680B48A3D400101000000000013E053A744400000E054549F06400101000000000044E98D5323400000E8515D5C3640010100000000008026868AE93F0000893B791F454001010000000000A305F354494000000F812C96524001010000000080E66BFBEF5740008083468DC65240
+130    010400000008000000010100000000000BBC0E07594000005241A813424001010000000000D033E2A821400000E08002B223400101000000008066A6D6A4584000802E86250E544001010000000000CA85C6EA33400000508E110D194001010000000000157FCBCD4F40000090316AAC3A40010100000000009D0D42C7454000001944541D504001010000000000405D27D5F23F0080D1183880544001010000000000B03197CB11400080F92DF3F55240
+131    010600000023000000010300000001000000040000004A6AA72B02433040EA75DD8168F94E40000040FD65F9F03F000021B919EE4E4000006C10FCE42D4000001DF81A714F404A6AA72B02433040EA75DD8168F94E40010300000001000000040000006B8087A9E8A2564091F61C69709A49400080BB222FF35740000087DB826848404DB7FA392B9156406CE5450184D348406B8087A9E8A2564091F61C69709A4940010300000001000000080000004DB7FA392B9156406CE5450184D348402B13851F51CC5540F94A8DA528344040A4753F1DF7C851405758BF8286CF4540DBA8ADC4A0425040FE9114A686BB4A407118C13C8F34544033448BBA438A494000001EC3B9DA544000008D230D5948408297C4C47C625440F6432DE7617C49404DB7FA392B9156406CE5450184D34840010300000001000000040000002B13851F51CC5540F94A8DA52834404000007C739815564000003C048E9B3F40F8FCFCDD36CC5540C9291D3B023340402B13851F51CC5540F94A8DA52834404001030000000100000004000000F8FCFCDD36CC5540C9291D3B0233404000003465124A5540000008635EFF34403FA411BD75D3514041D8E524A6AD4540F8FCFCDD36CC5540C9291D3B02334040010300000001000000050000003FA411BD75D3514041D8E524A6AD4540238C3A3EB3B84F40190692E1B36348405C48D994FABF4F402662F6FEB27A4840A4753F1DF7C851405758BF8286CF45403FA411BD75D3514041D8E524A6AD454001030000000100000005000000238C3A3EB3B84F40190692E1B363484047CCA2F947054F4027308E92D62C46409272752ACD2B4940AB913FBCDD104B40CBEC312E255D4A402146AD53C0154C40238C3A3EB3B84F40190692E1B36348400103000000010000000400000047CCA2F947054F4027308E92D62C46400080D5FE294551400000B0537B3B4340B7EEF16CC9FA4D402AA74330DDE2424047CCA2F947054F4027308E92D62C464001030000000100000004000000B7EEF16CC9FA4D402AA74330DDE24240C302BEFA49DA4D40B104755B307C4240BA2BA0CFA2B74D400E09AD66C4DD4240B7EEF16CC9FA4D402AA74330DDE2424001030000000100000004000000C302BEFA49DA4D40B104755B307C42400000937A1B714E400000751581D34040A12DB09ECA9F4D401322C8885EC34140C302BEFA49DA4D40B104755B307C42400103000000010000000B000000A12DB09ECA9F4D401322C8885EC341400000CF671E7E4A40000088391D7A2F40C3D6E1818D6746402A1244B9649A35409E45BC5361FE48408350A0F79D9E3C4000199724142C4640DF63126F19F73D40DD9FF48D55CF4440302CC561FFE3374025823BF7BB1E3B4012EC577039254140CC8AFE4613EB3C40CFF58AB0E1E941400000D2347F133D400000D1E7D2B6414072BBB93626BA4C40879368FA86CA4240A12DB09ECA9F4D401322C8885EC3414001030000000100000004000000C3D6E1818D6746402A1244B9649A3540000038C91E084140000038EA342C1C40DD9FF48D55CF4440302CC561FFE33740C3D6E1818D6746402A1244B9649A35400103000000010000000400000025823BF7BB1E3B4012EC5770392541404BDCBD7603133940677FA9CD7D4540402B25244CB7003A40E2BD12DBCC8B414025823BF7BB1E3B4012EC577039254140010300000001000000040000004BDCBD7603133940677FA9CD7D4540400000FA68CE6B354000009E93598336409C352E5FC4953740756D78243F453F404BDCBD7603133940677FA9CD7D454040010300000001000000050000009C352E5FC4953740756D78243F453F400000B4965A592E4000007C9DA6153840645DCF3BAC4E33400B8AC0A883F24340D285131C4DC038406973163BB6FE41409C352E5FC4953740756D78243F453F4001030000000100000005000000645DCF3BAC4E33400B8AC0A883F243400000307707EC124000008BF2D02C4940B886080C407435403D476AC280574B404086E6CB4D7D3640F5F88A9FB4084A40645DCF3BAC4E33400B8AC0A883F243400103000000010000000B000000B886080C407435403D476AC280574B409F47D70F35CC2140DCAD88D4B1995540A3CE433F1C2B394033FCB7287ACB52400415D39E375F4340BE5C82BE1CEA4F4071F0A51DC53A4240D4B8E5E570E64F40833695231E5E424024CD6F99BE2350400D946B05EDB64040DA92ED7892E14F400000F05B7AFC3E400000E894A5DD4F4000004612A2293A40000002D2A9875040B2026D3C504C37406DEA611AAA944B40B886080C407435403D476AC280574B40010300000001000000040000009F47D70F35CC2140DCAD88D4B19955400000800975E2E33F0080A3FD19075740CEF4BB5042D71F40AEFA1DE7733156409F47D70F35CC2140DCAD88D4B199554001030000000100000004000000CEF4BB5042D71F40AEFA1DE7733156400000889812F61D4000007E8A6D7D5640D8E5C1EC56162440FF14A8CBCCF45540CEF4BB5042D71F40AEFA1DE77331564001030000000100000007000000D8E5C1EC56162440FF14A8CBCCF455401608644F877D4C406713A7915C9E5040367EA2B02C2E4D4046185D27CF0F50401865B37603D54C406A3AABDE4104504011CC038F41C94440640D163DA8EE4F40A3CE433F1C2B394033FCB7287ACB5240D8E5C1EC56162440FF14A8CBCCF45540010300000001000000050000001608644F877D4C406713A7915C9E504000003EF341D147400000D4F5BE635440ABC4D965982C5040DAE618D9E27850403072123AF14C4E404D89A1A2F63450401608644F877D4C406713A7915C9E504001030000000100000006000000ABC4D965982C5040DAE618D9E2785040552DD20D5F1B51403B2B0B3EC2B650400ECDCEC149995140E6F183BA361E504000806A15BD0251400000B849E9A74F40B976A69BF4FA504000A0D60DBB764F40ABC4D965982C5040DAE618D9E278504001030000000100000008000000552DD20D5F1B51403B2B0B3EC2B6504000002EA59735454000802B455997584000009A511F655840008085C367A956406B8087A9E8A2564091F61C69709A494057A41A4012F45240E9FD789430F44C400ECDCEC149995140E6F183BA361E5040000008AF35B054400080C97055A45140552DD20D5F1B51403B2B0B3EC2B650400103000000010000000600000088D13B5CBBF24B40C90DC3E915D94740BA2BA0CFA2B74D400E09AD66C4DD424072BBB93626BA4C40879368FA86CA4240B232FCC80D914840D06E3B2D128F47406CA2C81ED0AE4A4060BB0F84F235494088D13B5CBBF24B40C90DC3E915D94740010300000001000000050000008297C4C47C625440F6432DE7617C49407118C13C8F34544033448BBA438A49405E13E4345EC05140C5444DCC1F0C4E4057A41A4012F45240E9FD789430F44C408297C4C47C625440F6432DE7617C4940010300000001000000040000005E13E4345EC05140C5444DCC1F0C4E403F04BA62A3E15040D64FB6ECC0D64E40B976A69BF4FA504000A0D60DBB764F405E13E4345EC05140C5444DCC1F0C4E4001030000000100000004000000DBA8ADC4A0425040FE9114A686BB4A40EABED2749C3B5040FBC9E299A5BD4A40A58193F3C23D5040147E7F1E3CCB4A40DBA8ADC4A0425040FE9114A686BB4A4001030000000100000005000000BD558D22118A3B40177B8DF7C6A743402B25244CB7003A40E2BD12DBCC8B4140D285131C4DC038406973163BB6FE4140C7E144B8F2533A40C1C9B26A7F2F4540BD558D22118A3B40177B8DF7C6A7434001030000000100000005000000C7E144B8F2533A40C1C9B26A7F2F45404086E6CB4D7D3640F5F88A9FB4084A40B2026D3C504C37406DEA611AAA944B40C6B09CEC6CE93D40613FAB1007704C40C7E144B8F2533A40C1C9B26A7F2F454001030000000100000006000000C6B09CEC6CE93D40613FAB1007704C40000022F2AA7F3F400000B6B210A64F400D946B05EDB64040DA92ED7892E14F4071F0A51DC53A4240D4B8E5E570E64F4012ACF0C59A2D4140B2D33AF470034D40C6B09CEC6CE93D40613FAB1007704C400103000000010000000600000012ACF0C59A2D4140B2D33AF470034D40FD181E7D72804540D9B8C33B40224E409272752ACD2B4940AB913FBCDD104B40CC8AFE4613EB3C40CFF58AB0E1E94140BD558D22118A3B40177B8DF7C6A7434012ACF0C59A2D4140B2D33AF470034D40010300000001000000040000005C48D994FABF4F402662F6FEB27A484000002F90D96B4B40000072CACF804B40EABED2749C3B5040FBC9E299A5BD4A405C48D994FABF4F402662F6FEB27A484001030000000100000008000000C03D75CEB03B4D40A129A5DBE6045040367EA2B02C2E4D4046185D27CF0F50403072123AF14C4E404D89A1A2F63450403F04BA62A3E15040D64FB6ECC0D64E40A58193F3C23D5040147E7F1E3CCB4A406574BB8471D74D40745241946B0E4F405927CB5360044F40FD1B95B0C4075040C03D75CEB03B4D40A129A5DBE6045040010300000001000000060000006574BB8471D74D40745241946B0E4F40CBEC312E255D4A402146AD53C0154C4064F3C1117DE04640354B3B2C797D4E401865B37603D54C406A3AABDE41045040C03D75CEB03B4D40A129A5DBE60450406574BB8471D74D40745241946B0E4F40010300000001000000050000000415D39E375F4340BE5C82BE1CEA4F4011CC038F41C94440640D163DA8EE4F4064F3C1117DE04640354B3B2C797D4E40FD181E7D72804540D9B8C33B40224E400415D39E375F4340BE5C82BE1CEA4F40
+132    010400000007000000010100000000008DDA50E9564000809891F45954400101000000008055DCB79658400080DC8EDD95544001010000000000881575DF11400000528CD90352400101000000008049A8F16252400000CE7D21AD36400101000000000050654D6A3F400000706BB194054001010000000080BA7FAF545240000038348CD5324001010000000000ADA50C0F4F40000099D6D3D95740
+133    010600000004000000010300000001000000040000007886DDE9FDE94E40CDFF653CEF6831400000D85DFD8A4F4000006811F9FB2A402C4706B3AC4D4E40D5C6FB4A662532407886DDE9FDE94E40CDFF653CEF683140010300000001000000090000002C4706B3AC4D4E40D5C6FB4A66253240C94FEDBB964E47408AFE05F2D5943A407A70F1C820EB4E4091F06A82FC7341400080391F3E985640000000CAF36EC93F7886DDE9FDE94E40CDFF653CEF68314000008BDCDFC04E400000840D14693240F28A214A8F5C4E402059BA8324C53B405F017485EF974B40167CF3DE28523C402C4706B3AC4D4E40D5C6FB4A66253240010300000001000000040000001CB515DE74864A407B7087C97A1C46400000603D37C43640000007D8F7ED4A4000806688761152400080F565CCE953401CB515DE74864A407B7087C97A1C4640010300000001000000040000000000F82E261B1A4000000FD8C5EA5540B1641C0566981B40604A2AA95ED555400000081CE4091C400000B9AE7FA952400000F82E261B1A4000000FD8C5EA5540
+134    0104000000050000000101000000000092E7CBDF55400000CB3832A2544001010000000000907375583340000092BBB3CD4440010100000000801CDF23CB51400000F2589C114340010100000000006CEADB5B2A4000008C814C5742400101000000000090B162D956400000EA1866114540
+135    010600000010000000010300000001000000040000006EED78DFBF785140C6CAA49EF748514000809F99270E5140008015CFA5DF56400080303B437F56400000CFD62C364D406EED78DFBF785140C6CAA49EF7485140010300000001000000040000009EDB749DD37C2740B50ABDB911EB414064277B51679739404CAD3364F2F234400000080E140B14400000004E1E7A02409EDB749DD37C2740B50ABDB911EB414001030000000100000007000000D82304249A6B424060B8777BBA3E2F400000A0DE321A2F40000000A45A37EB3F00001EFADF9A3240000018F6EFAC17409A4E009D93024040ACD30780525A3140000028BB30F13F40000010E1E9952840D36B129A9604424088C9E83843882F40D82304249A6B424060B8777BBA3E2F40010300000001000000040000009A4E009D93024040ACD30780525A31408C92E6DF220D4040DF7611E3B8B436403E49C1DD71DC404092835DFFB4CD32409A4E009D93024040ACD30780525A3140010300000001000000040000008C92E6DF220D4040DF7611E3B8B43640131B20B3B6EE3A405A975934E9944140447D6C55881E40407510B47D5F863F408C92E6DF220D4040DF7611E3B8B4364001030000000100000008000000447D6C55881E40407510B47D5F863F4074395C1D0189404094E8E4D10060554050A507875CA040402806749FF15E5540CD0BD6D823D44C40AD96D1008DA34440365A7509BC9D4940995E499B7C7343405FF9695065664B40C16AB8BE5B624240FB57E8D47BAA4440747CB564154A3940447D6C55881E40407510B47D5F863F400103000000010000000700000074395C1D0189404094E8E4D10060554000006C025CEA22400080BBCF15E955400000F61C216D51400080BC950D545740000050AAF6BF4D400000519391C6544050A507875CA040402806749FF15E55400000A95D9B8940400000B4668D73554074395C1D0189404094E8E4D10060554001030000000100000004000000CD0BD6D823D44C40AD96D1008DA344408C56763C38FA4E409D18E6D9ED6E4540F53B01C3CC374D40BBA8028707EF4340CD0BD6D823D44C40AD96D1008DA34440010300000001000000040000008C56763C38FA4E409D18E6D9ED6E45406858E42347905040C78F5E2EFD434740C113478102DD504043708F44247346408C56763C38FA4E409D18E6D9ED6E45400103000000010000000A0000006858E42347905040C78F5E2EFD43474000005870360E4A4000003D55D5715040176101AC02554E40061047E93D38514000803A4D0BC454400000298124E840400080BC3901FC56400000885F812827404053065EC4E6514038718713CF9F4340442B970C7DDA5140D79BB4EE4ACE43408E6307381AF25240621659335252454045089DC301735140BE44BE697AC648406858E42347905040C78F5E2EFD434740010300000001000000050000004053065EC4E6514038718713CF9F43400000E7483152544000009E4E9FED3440688E3CADCFC24E403F8711C8BE5F4040BBB96D384FD751403D0D038FE1C943404053065EC4E6514038718713CF9F434001030000000100000005000000688E3CADCFC24E403F8711C8BE5F4040D8BC2EDF400A4740F8C453539008364021E5F797204E4640610CA544910A3740670C3A760D284D40DBBAEF596B554140688E3CADCFC24E403F8711C8BE5F404001030000000100000004000000D8BC2EDF400A4740F8C453539008364000005DC403FC4E400000306FC3462640D82304249A6B424060B8777BBA3E2F40D8BC2EDF400A4740F8C45353900836400103000000010000000600000021E5F797204E4640610CA544910A3740D36B129A9604424088C9E83843882F400000973A057341400000F4482CF02F403E49C1DD71DC404092835DFFB4CD3240FB57E8D47BAA4440747CB564154A394021E5F797204E4640610CA544910A374001030000000100000005000000F53B01C3CC374D40BBA8028707EF4340C0B4EF7B052D4E40FBF9F94AD7324240670C3A760D284D40DBBAEF596B5541405FF9695065664B40C16AB8BE5B624240F53B01C3CC374D40BBA8028707EF434001030000000100000005000000BBB96D384FD751403D0D038FE1C94340C113478102DD504043708F4424734640E0B024D97E1B5140C1A741C558A14640442B970C7DDA5140D79BB4EE4ACE4340BBB96D384FD751403D0D038FE1C94340
+136    01040000000500000001010000000000B08B4998564000002EA2E20A4D4001010000000000874B549F4A400000DCB93C4E5040010100000000002E2BAD58544000000892774B244001010000000000381458BA3F4000008843FEE62540010100000000003465E45E3B4000806414D0AB5240
+137    0105000000940000000102000000020000000000EE9B87E55640000050C3DF55214072B2CDAC13A854408AFE2ED42F26264001020000000200000072B2CDAC13A854408AFE2ED42F262640E42C478E94145440AFB5B9B525632740010200000002000000E42C478E94145440AFB5B9B5256327400358847168225340DCFC584E8F6B29400102000000020000000358847168225340DCFC584E8F6B2940DBD29CFE4FAB504031738928BEB72E40010200000002000000DBD29CFE4FAB504031738928BEB72E40828028F576665040816C2736B14B2F40010200000002000000828028F576665040816C2736B14B2F408C82B2EE20184C40023A640A1B2D32400102000000020000000080B9CDAF3F5440000000308B0FD73F20ABE03F9B665440CDE35AE46E6B114001020000000200000020ABE03F9B665440CDE35AE46E6B114006A65E618E8D5440A223876286B4204001020000000200000006A65E618E8D5440A223876286B4204072B2CDAC13A854408AFE2ED42F26264001020000000200000072B2CDAC13A854408AFE2ED42F2626406230EA80AC3D5540DCA7831CC16D3A400102000000020000006230EA80AC3D5540DCA7831CC16D3A40153F00F97D49554091B3505047A43B40010200000002000000153F00F97D49554091B3505047A43B40C075CEF7195955403B270A186A3E3D40010200000002000000C075CEF7195955403B270A186A3E3D4009232F97A65955404754B6F3D84C3D4001020000000200000009232F97A65955404754B6F3D84C3D4087578A8803955540F51139514EB2414001020000000300000087578A8803955540F51139514EB241400000D05284C955400000C4B3106444405122E3DC714F5540278C7288E03443400102000000020000005122E3DC714F5540278C7288E0344340B7FF516DB7A05440DE6E8268E8824140010200000002000000B7FF516DB7A05440DE6E8268E882414028B8F49471825440C1BB3C44B837414001020000000200000028B8F49471825440C1BB3C44B8374140D0E37C3D163E5440B4F3D07CF18D4040010200000002000000D0E37C3D163E5440B4F3D07CF18D4040645C55B03A255440A88F077534504040010200000002000000645C55B03A255440A88F077534504040848A3740A520544069DC0603D2444040010200000002000000848A3740A520544069DC0603D2444040AD612D46455E52409883253777CC3740010200000002000000AD612D46455E52409883253777CC3740DBD29CFE4FAB504031738928BEB72E40010200000002000000DBD29CFE4FAB504031738928BEB72E4087B84C5EDC9B50400BE94F1B3C1E2E4001020000000200000087B84C5EDC9B50400BE94F1B3C1E2E40EBD4C2EA01144F403FDF05658A7D2340010200000003000000EBD4C2EA01144F403FDF05658A7D234000009FF9A04B4B40000000EB1C68D63FAC867814C970414022893CF2FDA03640010200000002000000AC867814C970414022893CF2FDA0364018364A0E9FAD404021BE9E90325A384001020000000200000018364A0E9FAD404021BE9E90325A3840D315828F4A2D3540D5AAC956470F4340010200000002000000D315828F4A2D3540D5AAC956470F4340F451243C320512402832D70A6E7B4C40010200000003000000F451243C320512402832D70A6E7B4C40000000AA0B940E400000D2DD37DE4C40AA88B45471C610402266AB52CBF84C40010200000002000000AA88B45471C610402266AB52CBF84C40BC1F229561F236400A17184B281B5140010200000003000000BC1F229561F236400A17184B281B514000006A09E5DB40400000A6A76B9C52404006C45A73634540B835F487E57053400102000000020000004006C45A73634540B835F487E5705340480287063FD64640204A4D44D7B45340010200000002000000480287063FD64640204A4D44D7B45340983300F3451A484033D94A2037F05340010200000002000000983300F3451A484033D94A2037F053401F999751AAF149401CD3E8C3974654400102000000020000001F999751AAF149401CD3E8C397465440C8A7462AA71A4A40D86D42771A4E5440010200000002000000C8A7462AA71A4A40D86D42771A4E5440500DBD38150C4D4036F0714829D85440010200000002000000500DBD38150C4D4036F0714829D8544060E0E7757B6157401EE129172117584001020000000200000060E0E7757B6157401EE12917211758401E492264B2755740F9572F97891E58400102000000020000001E492264B2755740F9572F97891E58400080E516D18B57400080D2D8A42658400102000000030000000000782F5172344000000780E89849400000F6B7B3AD3E400000206180254440BF5004BFB8C741407E8AF82A866C4240010200000002000000BF5004BFB8C741407E8AF82A866C4240828028F576665040816C2736B14B2F40010200000002000000828028F576665040816C2736B14B2F4087B84C5EDC9B50400BE94F1B3C1E2E4001020000000200000087B84C5EDC9B50400BE94F1B3C1E2E4039FFA28512EC5240961D1E6ECC0E214001020000000200000039FFA28512EC5240961D1E6ECC0E214020ABE03F9B665440CDE35AE46E6B114001020000000300000020ABE03F9B665440CDE35AE46E6B1140008078506698554000004044E674EF3F06A65E618E8D5440A223876286B4204001020000000200000006A65E618E8D5440A223876286B42040E42C478E94145440AFB5B9B525632740010200000002000000E42C478E94145440AFB5B9B5256327404D810BDAA558534002CE763246E230400102000000020000004D810BDAA558534002CE763246E23040AD612D46455E52409883253777CC3740010200000002000000AD612D46455E52409883253777CC37407112614C2DA34B40D89D19CD70FB4B400102000000030000007112614C2DA34B40D89D19CD70FB4B400000DFF3EF61494000008CC5B9F74F401FFAEA66283D4C400FF8B12BE0F34C400102000000020000001FFAEA66283D4C400FF8B12BE0F34C40848A3740A520544069DC0603D2444040010200000002000000848A3740A520544069DC0603D2444040BA1D52E87723544000932564DC3E4040010200000002000000BA1D52E87723544000932564DC3E4040EE5802D3ADAB544091C70A139B3E3E40010200000002000000EE5802D3ADAB544091C70A139B3E3E40153F00F97D49554091B3505047A43B40010200000002000000153F00F97D49554091B3505047A43B40F274CF0DDDDE5540B8009921982D3940010200000003000000F274CF0DDDDE5540B8009921982D39400080DE3ADB4A5640000088E79E6537406ADBF44FF5635540BEE88E2632FB3C400102000000020000006ADBF44FF5635540BEE88E2632FB3C40C075CEF7195955403B270A186A3E3D40010200000002000000C075CEF7195955403B270A186A3E3D4028B8F49471825440C1BB3C44B837414001020000000200000028B8F49471825440C1BB3C44B83741404BF0E568674D544048A4F6FEE9DB41400102000000020000004BF0E568674D544048A4F6FEE9DB41408D5DCD3EC9C84E403533ED799C8750400102000000020000008D5DCD3EC9C84E403533ED799C875040FC26B2FBD28E4C40567A857DB7405240010200000002000000FC26B2FBD28E4C40567A857DB74052401F999751AAF149401CD3E8C3974654400102000000020000001F999751AAF149401CD3E8C3974654408A6397530C8C4840B360BE395C5B55400102000000020000008A6397530C8C4840B360BE395C5B5540F2B23BAD96BB47405FD09D05B1FC5540010200000002000000F2B23BAD96BB47405FD09D05B1FC554057FC9A2C249947405D4A97D85917564001020000000200000057FC9A2C249947405D4A97D85917564084E1EE78C49846408D69F698C3DD564001020000000300000084E1EE78C49846408D69F698C3DD56400000158F84E943400080E017A4F1584038B0F75D436745408143FBE20546564001020000000200000038B0F75D436745408143FBE2054656401EA2E03DA5BF45409EBDEC27C0A755400102000000020000001EA2E03DA5BF45409EBDEC27C0A755406C2B038BB00146403793B7127B3155400102000000020000006C2B038BB00146403793B7127B315540480287063FD64640204A4D44D7B45340010200000002000000480287063FD64640204A4D44D7B45340F22C3E6834874A406AD89F8D46314A40010200000002000000F22C3E6834874A406AD89F8D46314A40E079B35ECA024F4026D2C4C24D463440010200000003000000E079B35ECA024F4026D2C4C24D463440000053255D0A4F40000010280E103440000074BCDA4849400000191343D340400102000000020000000080B582CB5C50400000C292E40C3040E079B35ECA024F4026D2C4C24D463440010200000002000000E079B35ECA024F4026D2C4C24D4634407EDB2FC412F14240211910726B0249400102000000020000007EDB2FC412F14240211910726B024940BC1F229561F236400A17184B281B5140010200000003000000BC1F229561F236400A17184B281B51400000806AF3B2DD3F0000B3703808584038B0F75D436745408143FBE20546564001020000000200000038B0F75D436745408143FBE205465640A6813C44115C46409423D840B0315640010200000002000000A6813C44115C46409423D840B031564057FC9A2C249947405D4A97D85917564001020000000200000057FC9A2C249947405D4A97D859175640B98B05133AB747409C8AC617DA145640010200000003000000B98B05133AB747409C8AC617DA145640000081AAF22B4C400000E34319B65540500DBD38150C4D4036F0714829D85440010200000002000000500DBD38150C4D4036F0714829D854403326B886361D50403B3F056FCDB151400102000000020000003326B886361D50403B3F056FCDB15140E4D7234EDA5E5440F01C31A1C7874240010200000002000000E4D7234EDA5E5440F01C31A1C7874240B7FF516DB7A05440DE6E8268E8824140010200000002000000B7FF516DB7A05440DE6E8268E882414009232F97A65955404754B6F3D84C3D4001020000000200000009232F97A65955404754B6F3D84C3D406ADBF44FF5635540BEE88E2632FB3C400102000000020000006ADBF44FF5635540BEE88E2632FB3C40F274CF0DDDDE5540B8009921982D3940010200000002000000F274CF0DDDDE5540B8009921982D39402BA90F5C081158401D03D3BC57211F400102000000020000002BA90F5C081158401D03D3BC57211F401C291EF899465840125691D5F27F18400102000000030000001C291EF899465840125691D5F27F184000803B3D22475840000000F3146F1840FF4EC5949B4658409481E7EF287D1840010200000002000000FF4EC5949B4658409481E7EF287D1840E533E74216205840582B6C4821841C40010200000002000000E533E74216205840582B6C4821841C406230EA80AC3D5540DCA7831CC16D3A400102000000020000006230EA80AC3D5540DCA7831CC16D3A40EE5802D3ADAB544091C70A139B3E3E40010200000002000000EE5802D3ADAB544091C70A139B3E3E40D0E37C3D163E5440B4F3D07CF18D4040010200000002000000D0E37C3D163E5440B4F3D07CF18D4040C57BCEE1353054403F22A2E65DBC4040010200000002000000C57BCEE1353054403F22A2E65DBC4040804139291FB34E40F307A36822765040010200000002000000804139291FB34E40F307A36822765040FC26B2FBD28E4C40567A857DB7405240010200000002000000FC26B2FBD28E4C40567A857DB7405240C8A7462AA71A4A40D86D42771A4E5440010200000003000000C8A7462AA71A4A40D86D42771A4E54400000524DECE3484000001A78FD5155408A6397530C8C4840B360BE395C5B55400102000000020000008A6397530C8C4840B360BE395C5B5540724911AC31D54740F0CFE6AADB6E5540010200000002000000724911AC31D54740F0CFE6AADB6E55405BE919C880274640B42E361DAD9C55400102000000020000005BE919C880274640B42E361DAD9C55401EA2E03DA5BF45409EBDEC27C0A755400102000000020000001EA2E03DA5BF45409EBDEC27C0A755400000122564813D400000666EB8665640010200000002000000000000043739E23F0080F7E136565140AA88B45471C610402266AB52CBF84C40010200000002000000AA88B45471C610402266AB52CBF84C40F451243C320512402832D70A6E7B4C40010200000003000000F451243C320512402832D70A6E7B4C4000003C05BD05264000003B152F3F4240D315828F4A2D3540D5AAC956470F4340010200000002000000D315828F4A2D3540D5AAC956470F43407049356F7B4D3540F2D49D4BDA11434001020000000200000000009D70B02A554000000D761D0144405122E3DC714F5540278C7288E03443400102000000020000005122E3DC714F5540278C7288E034434087578A8803955540F51139514EB2414001020000000200000087578A8803955540F51139514EB241402BA90F5C081158401D03D3BC57211F400102000000020000002BA90F5C081158401D03D3BC57211F40E533E74216205840582B6C4821841C40010200000003000000E533E74216205840582B6C4821841C40008079655148584000009043BB871540FF4EC5949B4658409481E7EF287D1840010200000002000000FF4EC5949B4658409481E7EF287D18401C291EF899465840125691D5F27F18400102000000020000001C291EF899465840125691D5F27F18401E492264B2755740F9572F97891E58400102000000030000001E492264B2755740F9572F97891E584000805BE8DE725740008081D3C36C584060E0E7757B6157401EE129172117584001020000000200000060E0E7757B6157401EE12917211758400328B8E29C5455403E53921F72FC4B400102000000020000000328B8E29C5455403E53921F72FC4B40E4D7234EDA5E5440F01C31A1C7874240010200000002000000E4D7234EDA5E5440F01C31A1C78742404BF0E568674D544048A4F6FEE9DB41400102000000020000004BF0E568674D544048A4F6FEE9DB4140C57BCEE1353054403F22A2E65DBC4040010200000002000000C57BCEE1353054403F22A2E65DBC4040645C55B03A255440A88F077534504040010200000002000000645C55B03A255440A88F077534504040BA1D52E87723544000932564DC3E4040010200000002000000BA1D52E87723544000932564DC3E40404D810BDAA558534002CE763246E230400102000000020000004D810BDAA558534002CE763246E230400358847168225340DCFC584E8F6B29400102000000020000000358847168225340DCFC584E8F6B294039FFA28512EC5240961D1E6ECC0E214001020000000300000039FFA28512EC5240961D1E6ECC0E214000803096B2AE524000006020D1720E40EBD4C2EA01144F403FDF05658A7D2340010200000002000000EBD4C2EA01144F403FDF05658A7D2340AC867814C970414022893CF2FDA03640010200000003000000AC867814C970414022893CF2FDA0364000003EBCB69840400000E26C1E6D374018364A0E9FAD404021BE9E90325A384001020000000200000018364A0E9FAD404021BE9E90325A3840BF5004BFB8C741407E8AF82A866C4240010200000002000000BF5004BFB8C741407E8AF82A866C42407EDB2FC412F14240211910726B0249400102000000020000007EDB2FC412F14240211910726B0249404006C45A73634540B835F487E57053400102000000020000004006C45A73634540B835F487E57053406C2B038BB00146403793B7127B3155400102000000020000006C2B038BB00146403793B7127B3155405BE919C880274640B42E361DAD9C55400102000000020000005BE919C880274640B42E361DAD9C5540A6813C44115C46409423D840B0315640010200000002000000A6813C44115C46409423D840B031564084E1EE78C49846408D69F698C3DD564001020000000300000084E1EE78C49846408D69F698C3DD56400000AB89423E47400080371CE9B25840B98B05133AB747409C8AC617DA145640010200000002000000B98B05133AB747409C8AC617DA145640F2B23BAD96BB47405FD09D05B1FC5540010200000002000000F2B23BAD96BB47405FD09D05B1FC5540724911AC31D54740F0CFE6AADB6E5540010200000002000000724911AC31D54740F0CFE6AADB6E5540983300F3451A484033D94A2037F05340010200000003000000983300F3451A484033D94A2037F0534000004738BF89484000003ACFBD86514000000121717A4C400000A2BDB3AE50400102000000020000000080529709805040000073523F5152403326B886361D50403B3F056FCDB151400102000000020000003326B886361D50403B3F056FCDB151408D5DCD3EC9C84E403533ED799C8750400102000000020000008D5DCD3EC9C84E403533ED799C875040804139291FB34E40F307A36822765040010200000002000000804139291FB34E40F307A368227650401FFAEA66283D4C400FF8B12BE0F34C400102000000020000001FFAEA66283D4C400FF8B12BE0F34C407112614C2DA34B40D89D19CD70FB4B400102000000020000007112614C2DA34B40D89D19CD70FB4B40F22C3E6834874A406AD89F8D46314A40010200000002000000F22C3E6834874A406AD89F8D46314A4047B5186A6F874840FB9AD13C94F74640010200000003000000008093203C4057400080FCC1C49954400080E326FA6B56400000A8EB6A2C48400328B8E29C5455403E53921F72FC4B400102000000020000000328B8E29C5455403E53921F72FC4B40A7945027ED615440D9DB57AC544C4F40
+138    01050000000B0000000102000000020000000000B3D90D7B43400000A82760F32640D25568EE202B3E40C435D7B315673740010200000002000000D25568EE202B3E40C435D7B3156737402C9852E908DF3B4059A3BCB7D1843A4001020000000200000000002ABA278130400000541A99F52940D25568EE202B3E40C435D7B31567374001020000000200000000005AB7389A4C4000003FD17CE748402C4CC7492DBE4C40C2F3875751284740010200000002000000D25568EE202B3E40C435D7B315673740134D1A0DB2ED4C40CDC714A509434640010200000004000000134D1A0DB2ED4C40CDC714A5094346400000CE8B6A3954400000137AAA0C4F400080FC76FF6A57400000CF066B3E51400080F7E36B4A53400000BCD043C42C400102000000020000000000AC38554D47400000D2BB2797474047C90B6C906E4740729D3A91F91B494001020000000200000047C90B6C906E4740729D3A91F91B4940939A5AF5527F4740BD9AAEA612E04940010200000004000000000025CD3D374840008004E6CF7955400000704360990C400000059BD17D43400000FA5EBC734040000039539BB94C4047C90B6C906E4740729D3A91F91B494001020000000200000047C90B6C906E4740729D3A91F91B4940134D1A0DB2ED4C40CDC714A509434640010200000002000000134D1A0DB2ED4C40CDC714A50943464014B90BE6981D504035212B130B8D4440
+139    01050000000E0000000102000000020000000000068381213F4000008C386F6F244080C6E604C0D038409C0EE88D2110344001020000000200000000002732B25747400000378AD8295140CE76E2886B6440400482DDA489824E40010200000002000000CE76E2886B6440400482DDA489824E4064FA615AA503294020E1ECAF1EF1484001020000000500000064FA615AA503294020E1ECAF1EF14840000080CA0ED903400000DBFB5230464000004CD4A8ED3340000084B888F323400000C813F5773A4000004077E3903940008020CC61CD51400000EBF277C54C400102000000020000000000D361D4335640008034E631335340064E67ECFA3B5240C25F144E1BE34B40010200000002000000064E67ECFA3B5240C25F144E1BE34B400000DF51427D43400000B89A0D9525400102000000020000000000C84178D642400000E933272844404A27D35EE11746409ED0266B33384A40010200000002000000000030F80803164000003326A585494064FA615AA503294020E1ECAF1EF1484001020000000200000064FA615AA503294020E1ECAF1EF14840FB3C9C4C7727434050A53A60FFCD464001020000000200000000000C44B6673C40000028F7CE4E4E40CE76E2886B6440400482DDA489824E40010200000004000000CE76E2886B6440400482DDA489824E40000056A1E999474000001446D72C4F400000E2A8704F514000807EC878D05440064E67ECFA3B5240C25F144E1BE34B40010200000002000000064E67ECFA3B5240C25F144E1BE34B4000002B085C6C5340000036CBB86834400102000000020000000000F8F48A9B4B400000A3B7CD3848400DC08C677604514098B8C2DDD6D94B40010200000002000000000018E7B9414C400000E61EAD9D4B4088576676FE214C40AA5ABDD8EDBB4B40
+140    0105000000100000000102000000020000000000708D450C33400000B4E70739334032AB7EA00B873340294C94C380B9384001020000000300000000804F005937514000000C297D913F400000DE1F51FC4B4000008871C70E38403EBCA5ABD4B24C405228E3BC72563B400102000000020000003EBCA5ABD4B24C405228E3BC72563B40A09CEAC916EA4F4076BE1CB2F4104540010200000002000000A09CEAC916EA4F4076BE1CB2F41045403274A2FC63055040B7B3DE3C285C4540010200000002000000000050F97242274000002FEB575D4740CEB0480CBBDF45404A916DD3778F4040010200000002000000CEB0480CBBDF45404A916DD3778F40401986F7D7A6F74A40496A1F35FFCD3C400102000000020000001986F7D7A6F74A40496A1F35FFCD3C403EBCA5ABD4B24C405228E3BC72563B400102000000020000003EBCA5ABD4B24C405228E3BC72563B400000D738DDC74D4000001EDAB06B3A400102000000020000000080803F6A8E58400000A1E3C0C84C40A09CEAC916EA4F4076BE1CB2F4104540010200000002000000A09CEAC916EA4F4076BE1CB2F4104540D52C319336424C403002199AF76C4340010200000002000000D52C319336424C403002199AF76C4340CEB0480CBBDF45404A916DD3778F4040010200000003000000CEB0480CBBDF45404A916DD3778F40400000DF3E780D41400000D82726CB3C402412C6590A513F40BD71BAD1B04B404001020000000300000000009924B16342400000CCCC71DE44400000EE73C90B47400000EA499CC849401A79B803529F4740BF26F1263DA248400102000000020000000080661DB96C51400080E3345E885640D52C319336424C403002199AF76C4340010200000002000000D52C319336424C403002199AF76C43401986F7D7A6F74A40496A1F35FFCD3C400102000000020000001986F7D7A6F74A40496A1F35FFCD3C40000099568F2A49400000ECBAEE942D40
+141    01040000000600000001010000000000BE92C4454F400000661E0664404001010000000000E71FBA6A49400000989EFE99154001010000000000B27541F830400000709D31AB034001010000000000809977302F40000015E1536C4940010100000000006072F87D1940000091DF5BF64F4001010000000000738EE27755400080990CED2E5340
+142    010300000001000000040000000000F41B0CFE32400000FAC174D94D40000029896AFD44400000E8B38F71564000003874ED7555400000F196948D47400000F41B0CFE32400000FAC174D94D40
+143    010300000001000000040000003B083916401A56409E458A2DBF3F404000005B1247F557400000A3908794414000003E7C27FF574000009019FDCA30403B083916401A56409E458A2DBF3F4040
+144    01060000000300000001030000000100000004000000970903EC17904C401D5A7263EA6E33400080F2AB681A50400000E4FB1E422540000021A31C0D47400000884236B93840970903EC17904C401D5A7263EA6E334001030000000100000004000000F2C35C9B2A2E474011E173A6BD1849400000608935C032400000E0AC3790F03F0000842823442140000076B4F80F5040F2C35C9B2A2E474011E173A6BD184940010300000001000000040000005AA1FDB145024F40F013FB6C4A9D4A4000005B729987484000000C6B69AF3D4002A4BEE66BDB4E406D07BBDBF1BD4C405AA1FDB145024F40F013FB6C4A9D4A40
+145    010500000006000000010200000002000000000050BE45D8364000005AB7D931304082DDB3CC15BD3740A587C2D33C94314001020000000200000082DDB3CC15BD3740A587C2D33C943140FDAD376D194C39406D5C5DF83BFE334001020000000300000000005A2D78FA424000000C12F91842400000605358F7F03F00005C124C302F4082DDB3CC15BD3740A587C2D33C94314001020000000200000082DDB3CC15BD3740A587C2D33C9431407CD25328A4865140253A6CCF03A335400102000000030000000000F80711C7254000802C46D60E57400000634A0E884D4000003850064949401259B8D916A94B40AFB3B306CA3E48400102000000020000000000000D5D63024000800FFFC3FF574000001556FA4140400000F02ACCC84D40
+202    01040000000800000001010000000000CBD58F0154400080B5BF593B524001010000000000BC1AB4D636400080D5FE070E53400101000000008073C82214564000003F18F93242400101000000000096E36BE039400000BAC9AE563940010100000000805BAC297C50400000EFE8C4CB5040010100000000002055992A3C40000084699BE6524001010000000000693DDC62564000005486EDF63C4001010000000000221D60D930400000DA80AB9A4340
+146    01050000000C0000000102000000020000000000B87008034B400080713A2A215540AD5E1B909C7A4C4077D80B18F600544001020000000200000000002917F3E05740000078CB43292F405673941D62974E40832C54D7310248400102000000020000005673941D62974E40832C54D73102484061285806544D4E408C35992F2948484001020000000200000061285806544D4E408C35992F294848408183378A59C74A406BD05779569C4B400102000000030000000000EC6727CD34400080C26292CE50400000A8A7D64C294000002089E7A12E4061285806544D4E408C35992F2948484001020000000200000061285806544D4E408C35992F2948484012BAD0D1567A4E407BB7A22D5E67484001020000000200000012BAD0D1567A4E407BB7A22D5E6748400F1244B9A6225440F011555E7F314F400102000000020000000F1244B9A6225440F011555E7F314F40008031DCBAB3544000009D6BABFA4F4001020000000200000000804DB83DD95440000036B891F74D400F1244B9A6225440F011555E7F314F400102000000030000000F1244B9A6225440F011555E7F314F40000048F580AE484000000E4C1A4C564012BAD0D1567A4E407BB7A22D5E67484001020000000200000012BAD0D1567A4E407BB7A22D5E6748405673941D62974E40832C54D7310248400102000000020000005673941D62974E40832C54D73102484000000689C71D4F40000067F3082E4640
+147    010400000001000000010100000000001490F5CD3E4000804FB48CEC5640
+148    01050000003F0000000102000000020000000000919BED1C5640000061011ABE4140AE1BCEF1B0235340B34E71158C8F4740010200000003000000AE1BCEF1B0235340B34E71158C8F474000003FF2ADCC584000007A20476650400000041AD14053400000DD2E7A0F4B400102000000020000000000F0B84DCA0840000020596F7831404DFE7B71111C1D40A6ABE7ACB2AF33400102000000020000004DFE7B71111C1D40A6ABE7ACB2AF33400FE416AA0FBA384027C53AF882F03C400102000000020000000FE416AA0FBA384027C53AF882F03C40A59E0937F8EC4140D3AB3C005A6B4140010200000002000000A59E0937F8EC4140D3AB3C005A6B414000005030952743400000C7CC2F1242400102000000020000000000BB737DCF4A4000009044E2F54B4005966D3EF9D0494076953B5092F7494001020000000200000005966D3EF9D0494076953B5092F74940E60E4C1DCC9449403AF50F9DEA7E4940010200000002000000E60E4C1DCC9449403AF50F9DEA7E4940829ABECE42564740FC1292A0F4FE4440010200000002000000829ABECE42564740FC1292A0F4FE4440AE041112C9A24540881B06BDD095414001020000000200000000009E38D5963740000070AA18192C400FE416AA0FBA384027C53AF882F03C400102000000020000000FE416AA0FBA384027C53AF882F03C40C514936042C33940E8758F25E13F4540010200000002000000C514936042C33940E8758F25E13F45403AD1CE5A69F239409FA2603D797446400102000000020000003AD1CE5A69F239409FA2603D797446406814627EBDF43940A8C8D1BFB68346400102000000020000006814627EBDF43940A8C8D1BFB683464052D1084371353B402BDC506F97B64E4001020000000200000052D1084371353B402BDC506F97B64E4017ECBA52F3D63B404CB6F912CD6B514001020000000200000017ECBA52F3D63B404CB6F912CD6B5140F61C184306D83C4042DF8B3A07B55440010200000003000000F61C184306D83C4042DF8B3A07B554400000FC2CD40F3D400080BF3EA36B5540662E72C4C6323C40BA81861738C45440010200000002000000662E72C4C6323C40BA81861738C45440B04495BF7A1B394045F3F200EA6C5240010200000002000000B04495BF7A1B394045F3F200EA6C52405BE4DD21C91A334034D2A08022C24B400102000000020000005BE4DD21C91A334034D2A08022C24B400389850D7D272D40C37C97AC7CE644400102000000020000000389850D7D272D40C37C97AC7CE644404DFE7B71111C1D40A6ABE7ACB2AF33400102000000040000004DFE7B71111C1D40A6ABE7ACB2AF3340000030BC32D60C400000AC52801E21400000418023424840000064723F303340C082A4BDFC2A4A40323231AAD9DC3140010200000002000000C082A4BDFC2A4A40323231AAD9DC3140B3F10D2B87354F409A61E959B5B92C40010200000002000000B3F10D2B87354F409A61E959B5B92C40D4F0CADA6B2351402DD3A0AC4077284001020000000200000000003C5DE72029400000FC7407A044400389850D7D272D40C37C97AC7CE644400102000000020000000389850D7D272D40C37C97AC7CE6444089D4AA307FD738400794AC22CA4D464001020000000200000089D4AA307FD738400794AC22CA4D46403AD1CE5A69F239409FA2603D797446400102000000020000003AD1CE5A69F239409FA2603D797446408E10FC9CA30B3A402C644C4DEC7746400102000000020000008E10FC9CA30B3A402C644C4DEC77464087E5D79100E0444002FF9F92A49D484001020000000200000087E5D79100E0444002FF9F92A49D48404F30BE9542774940555033AD09DF49400102000000020000004F30BE9542774940555033AD09DF494005966D3EF9D0494076953B5092F7494001020000000200000005966D3EF9D0494076953B5092F74940387D715197CC4E401691D75C69544B40010200000003000000B1E465D30268474034B70D38290E53400000005863BA3740000010D384B35840CB07D82525083340CB33D685F09B5540010200000002000000CB07D82525083340CB33D685F09B5540641BCCAAFF1A324023242B43CCFF5440010200000003000000641BCCAAFF1A324023242B43CCFF54400000F09A602506400000140443CD45405BE4DD21C91A334034D2A08022C24B400102000000020000005BE4DD21C91A334034D2A08022C24B4052D1084371353B402BDC506F97B64E4001020000000200000052D1084371353B402BDC506F97B64E400740C08F83623F4080D4776F321E50400102000000030000000740C08F83623F4080D4776F321E50400000A2DD331446400080FBC8537252404F30BE9542774940555033AD09DF49400102000000020000004F30BE9542774940555033AD09DF4940E60E4C1DCC9449403AF50F9DEA7E4940010200000002000000E60E4C1DCC9449403AF50F9DEA7E4940D0D0F96D3B9A4C40069DF901F1533F40010200000002000000D0D0F96D3B9A4C40069DF901F1533F40B3F10D2B87354F409A61E959B5B92C40010200000003000000B3F10D2B87354F409A61E959B5B92C40008020EFCB6050400000E0E8452C1140C082A4BDFC2A4A40323231AAD9DC3140010200000002000000C082A4BDFC2A4A40323231AAD9DC3140A59E0937F8EC4140D3AB3C005A6B4140010200000002000000A59E0937F8EC4140D3AB3C005A6B41408E10FC9CA30B3A402C644C4DEC7746400102000000020000008E10FC9CA30B3A402C644C4DEC7746406814627EBDF43940A8C8D1BFB68346400102000000030000006814627EBDF43940A8C8D1BFB68346400000703CBC9837400000F866B8BA474089D4AA307FD738400794AC22CA4D464001020000000200000089D4AA307FD738400794AC22CA4D4640C514936042C33940E8758F25E13F4540010200000002000000C514936042C33940E8758F25E13F45400000D6B2E6E13B4000003949A4D24240010200000003000000000030E1DB0B4F40000061808EA356400000E4FEDA1F54400000C202DDEA4F40B1E465D30268474034B70D38290E5340010200000002000000B1E465D30268474034B70D38290E5340F61C184306D83C4042DF8B3A07B55440010200000002000000F61C184306D83C4042DF8B3A07B55440662E72C4C6323C40BA81861738C45440010200000002000000662E72C4C6323C40BA81861738C45440CB07D82525083340CB33D685F09B5540010200000003000000CB07D82525083340CB33D685F09B55400000BC35F22A2F400080F6E014ED5540641BCCAAFF1A324023242B43CCFF5440010200000002000000641BCCAAFF1A324023242B43CCFF5440B04495BF7A1B394045F3F200EA6C5240010200000002000000B04495BF7A1B394045F3F200EA6C524017ECBA52F3D63B404CB6F912CD6B514001020000000200000017ECBA52F3D63B404CB6F912CD6B51400740C08F83623F4080D4776F321E50400102000000020000000740C08F83623F4080D4776F321E504087E5D79100E0444002FF9F92A49D484001020000000200000087E5D79100E0444002FF9F92A49D4840829ABECE42564740FC1292A0F4FE4440010200000003000000829ABECE42564740FC1292A0F4FE444000003E74638C4B4000009E1C829B3D40D0D0F96D3B9A4C40069DF901F1533F40010200000002000000D0D0F96D3B9A4C40069DF901F1533F40AE1BCEF1B0235340B34E71158C8F474001020000000200000000003A3F6E304D400000C6C4801249401079032551B34D40E91692010D384940010200000002000000AE1BCEF1B0235340B34E71158C8F4740B1E465D30268474034B70D38290E5340
+149    010100000000004602A638394000806FD46ED95440
+150    010400000002000000010100000000003C92B41B4B400080BDD9F6BF56400101000000008029419F14564000007BB63C6C4C40
+151    0105000000300000000102000000020000000000C510567A4D400000E82787AA264038F8986B2B0C31401F167250F88C2540010200000002000000F973E1D01CEF5040780F2BF7120356400080634F8C98504000809810CAC95740010200000002000000A5CECE62038940409C37432417134740D8984BCA12334140E71A7EF893E44640010200000002000000D8984BCA12334140E71A7EF893E4464024F97CB870B34240DCFB5599737B464001020000000200000024F97CB870B34240DCFB5599737B46409375082BBFEE4540858B12C12D9945400102000000020000000000CBBA99A442400000DE8D99E34F40E5239EC63E674240AAEBFD5E04E34E40010200000002000000E5239EC63E674240AAEBFD5E04E34E40ED7AC5932BB3414064B4C954F5F14B40010200000002000000ED7AC5932BB3414064B4C954F5F14B40A5CECE62038940409C37432417134740010200000003000000A5CECE62038940409C37432417134740000011DAF06D404000007038E0A14640D8984BCA12334140E71A7EF893E44640010200000002000000D8984BCA12334140E71A7EF893E4464003AD0E3959B5434049956741E6BD474001020000000200000003AD0E3959B5434049956741E6BD4740F675C19F6AA25040250D687984544C4001020000000200000000007A2CF37A3A400000581BE558364015F54E03F8733640A92FC0DB1A083C4001020000000200000015F54E03F8733640A92FC0DB1A083C400000FE3A218535400000F6B738593D40010200000002000000000098159C9E1D40000000FD64A417406A1FC53F26642C40D0D977669D153A400102000000030000006A1FC53F26642C40D0D977669D153A4000001205ADF8354000007B21A7974840A5CECE62038940409C3743241713474001020000000200000000007A51203F47400000C717B1D9404015F54E03F8733640A92FC0DB1A083C4001020000000200000015F54E03F8733640A92FC0DB1A083C406A1FC53F26642C40D0D977669D153A400102000000040000006A1FC53F26642C40D0D977669D153A400000E47098E425400000DAF0775139400000A42F7F5A354000000266AEB649407D61D89945E93D40D57433C2AE354D400102000000020000007D61D89945E93D40D57433C2AE354D40C26B07494514414001E08BE9DDF14E40010200000002000000C26B07494514414001E08BE9DDF14E409A0AF0714F534A40E371BDCDF13F53400102000000020000009A0AF0714F534A40E371BDCDF13F5340BAC72F53D85A4E4018D8F7FC5BE55440010200000003000000BAC72F53D85A4E4018D8F7FC5BE55440000038B3554D4F400000D8926C485540632E5EEAB6574F4098FC9FD9B0355540010200000002000000632E5EEAB6574F4098FC9FD9B03555400842D13CB01850408FB2B3F9DAAC53400102000000020000000842D13CB01850408FB2B3F9DAAC5340C0FA3E18A87A5240DB5C75E73E2646400102000000020000009F0F9AD0E0215140F9E0A32D68F85440F973E1D01CEF5040780F2BF7120356400102000000020000000000403FA3460E400080FF72579D5140682D32F74ECE38400EC75AC5CD624E40010200000002000000682D32F74ECE38400EC75AC5CD624E407D61D89945E93D40D57433C2AE354D400102000000020000007D61D89945E93D40D57433C2AE354D40ED7AC5932BB3414064B4C954F5F14B40010200000002000000ED7AC5932BB3414064B4C954F5F14B40A2A2D9270BE64440CAEDD022A0784A40010200000002000000000090A803503B400000530E41184F40C26B07494514414001E08BE9DDF14E40010200000002000000C26B07494514414001E08BE9DDF14E40E5239EC63E674240AAEBFD5E04E34E40010200000002000000E5239EC63E674240AAEBFD5E04E34E4073F859E0F8CB4840F974DFC2509B4E400102000000020000000000E06D252B354000003D14FE3A4D40682D32F74ECE38400EC75AC5CD624E40010200000003000000F973E1D01CEF5040780F2BF7120356400080E9860508534000002448345857409F0F9AD0E0215140F9E0A32D68F854400102000000040000000000061B88B23E400000CC5BB81232400000039D3E9F454000009262BAC83E400080D85A74FA5340000088CA0C1538409F0F9AD0E0215140F9E0A32D68F85440010200000002000000682D32F74ECE38400EC75AC5CD624E4098337C8E5E9A49402EACAFE6E862534001020000000200000098337C8E5E9A49402EACAFE6E8625340BAC72F53D85A4E4018D8F7FC5BE55440010200000002000000BAC72F53D85A4E4018D8F7FC5BE55440632E5EEAB6574F4098FC9FD9B0355540010200000002000000632E5EEAB6574F4098FC9FD9B0355540F973E1D01CEF5040780F2BF7120356400102000000020000009F0F9AD0E0215140F9E0A32D68F854400842D13CB01850408FB2B3F9DAAC53400102000000020000000842D13CB01850408FB2B3F9DAAC534020D0C392D04E4E40D463970A327F524001020000000200000020D0C392D04E4E40D463970A327F524003AD0E3959B5434049956741E6BD474001020000000200000003AD0E3959B5434049956741E6BD474024F97CB870B34240DCFB5599737B464001020000000200000024F97CB870B34240DCFB5599737B4640037A53EBF696414092FAD4AAC917454001020000000200000000002351F6B24E4000801CEE426C524020D0C392D04E4E40D463970A327F524001020000000200000020D0C392D04E4E40D463970A327F52409A0AF0714F534A40E371BDCDF13F53400102000000020000009A0AF0714F534A40E371BDCDF13F534098337C8E5E9A49402EACAFE6E862534001020000000300000098337C8E5E9A49402EACAFE6E862534000005B0001B8424000807AF41AB0544000004085681E38400080C959AB025940
+152    0102000000030000000000DEC97BAF3A40000058F5625C3E400000F6700CBF30400000A0FDA60104400080184E484A584000006A5D1B7E5440
+153    01050000000B000000010200000004000000307D11781F74404068CD689FB10052400000566B91233F400000D9E7930352400000FC759CBB204000004E257905504021B11E0A26213A406CCCA6B63BBE49400102000000020000000000A4E126102B4000007C4547AC2A4021B11E0A26213A406CCCA6B63BBE494001020000000200000021B11E0A26213A406CCCA6B63BBE4940307D11781F74404068CD689FB1005240010200000003000000307D11781F74404068CD689FB100524000009A135FCC41400080D1D9ED0954400000A0FDD26CF93F00809287F712504001020000000200000000005011F5894F400000B0D321AC3B400FF4612420B54E409A2D0C7B4B753A400102000000020000000FF4612420B54E409A2D0C7B4B753A40B24629CB78E34D407AFDAF59194339400102000000020000000FF4612420B54E409A2D0C7B4B753A4000003E0311EF5540000090961B281F4001020000000200000000006D24C47458400080E498D1965140307D11781F74404068CD689FB100524001020000000200000021B11E0A26213A406CCCA6B63BBE49400FF4612420B54E409A2D0C7B4B753A400102000000020000000080637077DA58400000EE4092D3404000004E393A67424000006F580B9E5140010200000002000000000058FCD03C4E4000807035CF3B5040A957890137084E408429A12CD51D5040
+154    01050000002400000001020000000200000000804689440A564000000BD0E44F42405932C7608B6B54404513952ECE1C3F400102000000020000000080799F85A75540000088C1F5613E405932C7608B6B54404513952ECE1C3F400102000000020000000000F5CDD3FF4A400000B0166FD7054083640AF7B9254040DE06DA5FA5481F4001020000000200000083640AF7B9254040DE06DA5FA5481F40B30EEDD51311404038036975646F1F400102000000020000008DCB69DC6AD23D403E91C888998D3B4000FA8ACF80F93E4045EDEB4773D0374001020000000200000000FA8ACF80F93E4045EDEB4773D0374049DB283D61A53F4025E84D1AF2A2354001020000000200000000FA8ACF80F93E4045EDEB4773D0374083640AF7B9254040DE06DA5FA5481F4001020000000300000083640AF7B9254040DE06DA5FA5481F4000008EE851554040000050C8B2870A40B30EEDD51311404038036975646F1F40010200000002000000B30EEDD51311404038036975646F1F408DCB69DC6AD23D403E91C888998D3B400102000000030000005932C7608B6B54404513952ECE1C3F400080E7BFF84851400000F88B457234408B4431C243044C40CA27265354E138400102000000020000005932C7608B6B54404513952ECE1C3F40CE87644BB30A51401A2CB9CB1A8E4040010200000003000000B30EEDD51311404038036975646F1F400000C2B9FB223340000024A480D0254019260BE2EA652B40BCE9348AE935504001020000000200000019260BE2EA652B40BCE9348AE9355040D890D9D91E1B2A405C0013710ED05140010200000003000000D890D9D91E1B2A405C0013710ED0514000009029D6E6264000802C5C19C95540CBE8484BC0D02E40CD50B71AAF935240010200000002000000CBE8484BC0D02E40CD50B71AAF93524020797556C3CA3140F1650C4BB7A4504001020000000200000020797556C3CA3140F1650C4BB7A450408DCB69DC6AD23D403E91C888998D3B400102000000020000000000F30ED0164340000039B83BCD4A40DA6EDCEAD5AB4240DEA93F6823514D40010200000002000000DA6EDCEAD5AB4240DEA93F6823514D40260AD16EC369414086923735DC715240010200000003000000260AD16EC369414086923735DC71524000008A2048A03F4000806050A342574020CF90FA90CC3E40BB266D71D604524001020000000200000020CF90FA90CC3E40BB266D71D60452407BD442DA37843E409B2BD319503A50400102000000030000007BD442DA37843E409B2BD319503A504000005CC555913D400000286DF56D444000FA8ACF80F93E4045EDEB4773D037400102000000020000008DCB69DC6AD23D403E91C888998D3B40F888E089CBE33840447A8C48DD645140010200000002000000F888E089CBE33840447A8C48DD6451400000C49CAC86384000804DAF372B52400102000000020000000000D253F5BA3F40000081DCBCB247400000BB56D039424000009662DB97494001020000000200000000002749FD58534000008DB48D6D52408EB2654C609A4E40A93AE2CB1EAF3B400102000000020000000000A86D9BE83D400000A997165E50407BD442DA37843E409B2BD319503A50400102000000020000007BD442DA37843E409B2BD319503A5040DA6EDCEAD5AB4240DEA93F6823514D40010200000002000000DA6EDCEAD5AB4240DEA93F6823514D40F6401346E2D84740EDAD4F669C8E484001020000000200000000009292401A4140008029EC54AD5840CBE8484BC0D02E40CD50B71AAF935240010200000002000000CBE8484BC0D02E40CD50B71AAF935240D890D9D91E1B2A405C0013710ED05140010200000003000000D890D9D91E1B2A405C0013710ED05140000030B984AB1540000084266FAB4E4019260BE2EA652B40BCE9348AE935504001020000000200000019260BE2EA652B40BCE9348AE935504020797556C3CA3140F1650C4BB7A4504001020000000200000020797556C3CA3140F1650C4BB7A45040F888E089CBE33840447A8C48DD645140010200000002000000F888E089CBE33840447A8C48DD64514020CF90FA90CC3E40BB266D71D604524001020000000200000020CF90FA90CC3E40BB266D71D6045240260AD16EC369414086923735DC715240010200000002000000260AD16EC369414086923735DC71524042D24691781952401AB0BDA8FC6A5640
+155    01040000000300000001010000000080E8AC612E51400000BEBA087746400101000000000046CD4D9735400000D2EEBB774C4001010000000000721EB998524000004C2173A02740
+156    0105000000530000000102000000030000005A54F205D6173D40F45A875F2A01544000006C82F67221400080CC2EBC0559404322BE6289A93240AAD5FD003EFD53400102000000020000000000724F730D33400080ECD8CC1753401904EB087E3F3240C65FF7D9A7BD53400102000000020000005A54F205D6173D40F45A875F2A0154404322BE6289A93240AAD5FD003EFD53400102000000030000004322BE6289A93240AAD5FD003EFD53400000C05BB9BEFC3F00802009E6F65340DB544813686B0840C4468E0B691A53400102000000020000000000ACAD055E43400080900BC3905840635DA5094A624240D1EFDEE54BFB554001020000000200000000805F893B2B50400080A4594BBF574028C9690CD5685040EE3F0B4ABAF3564001020000000200000028C9690CD5685040EE3F0B4ABAF3564058ABD1579B485140455A57E339105440010200000003000000B27C92AD1F4451406594AC24331054400000C076367D50400080F69F249F5640E05A4DC2F0D44F4032EA241B2B0E54400102000000020000000000295FFA534F40008021159C84574028C9690CD5685040EE3F0B4ABAF3564001020000000300000028C9690CD5685040EE3F0B4ABAF35640000054DA293154400080AC139A14544058ABD1579B485140455A57E33910544001020000000200000058ABD1579B485140455A57E339105440B27C92AD1F4451406594AC2433105440010200000002000000B27C92AD1F4451406594AC2433105440E05A4DC2F0D44F4032EA241B2B0E5440010200000002000000E05A4DC2F0D44F4032EA241B2B0E54405A54F205D6173D40F45A875F2A0154400102000000020000000000009E0F9A394000000A9A57F149403B065597C5AE3C40FF417894683548400102000000020000003B065597C5AE3C40FF417894683548407B0A0B7931954240341E0F01186F43400102000000020000007B0A0B7931954240341E0F01186F43401F7FDD38CB344940E9FA363BA5F4374001020000000200000000000A545BDC46400000F79002064D4051E192C8284F48407F38BE771A40484001020000000200000051E192C8284F48407F38BE771A4048403950E23A0F9A4A40F46295F616B240400102000000020000003950E23A0F9A4A40F46295F616B24040C39EE91B19B84A4097A8267C1A4F4040010200000003000000C39EE91B19B84A4097A8267C1A4F40400000DEBAB7524C40000066A4F90B36408102B8C071474A4051DC8E136F803E400102000000020000008102B8C071474A4051DC8E136F803E406778D9B3E78C4940B785250C04C240400102000000020000006778D9B3E78C4940B785250C04C240400FC9D821B7EE4540961191A58D3D48400102000000030000000FC9D821B7EE4540961191A58D3D4840000082F568B43E4000804BB1B8EC52400227DF29B2D44140123774F1E86252400102000000020000000227DF29B2D44140123774F1E862524002395563F1E94D40805ADACF1C864F4001020000000200000002395563F1E94D40805ADACF1C864F4052B14437381F5340C458716EC1E74B4001020000000200000052B14437381F5340C458716EC1E74B4076057C4D662253406E5F0227FEE44B4001020000000300000076057C4D662253406E5F0227FEE44B4000803842CB9A58400000DB53542447403512B3EEDA215540B6432CD636613D400102000000020000003512B3EEDA215540B6432CD636613D4056D9CB2434215540330B6DE40A5E3D4001020000000200000056D9CB2434215540330B6DE40A5E3D403418627FF3AD54405A352044FB2C3B400102000000020000003418627FF3AD54405A352044FB2C3B404AE5807FFAC5534068615908B7C336400102000000030000004AE5807FFAC5534068615908B7C336400000BC4D2B214F400000D0C4CF3602401C6842950EF2484034882AAE9C8F32400102000000020000001C6842950EF2484034882AAE9C8F3240E2009EC3A4AD4040D846125D592A4440010200000002000000E2009EC3A4AD4040D846125D592A44403E1424F832383B40B8A240A29F3448400102000000020000003E1424F832383B40B8A240A29F344840000082EDA21536400000BEDD05964B400102000000020000000000BF32E294554000000514B76C4440600313E263355440C3B5685B7CCB4440010200000002000000600313E263355440C3B5685B7CCB4440427C98248F335440436C75BDFACB4440010200000002000000427C98248F335440436C75BDFACB4440FDAE7021888450404753F2B73DCA4540010200000002000000FDAE7021888450404753F2B73DCA45402081533AFCE44B407881DFD4A97B46400102000000020000002081533AFCE44B407881DFD4A97B4640000061A9A5164940000014E980DC464001020000000200000000003847EE054F40000033C1F4C84640E3EEA8616C5C4F4017435FA2A0704740010200000002000000E3EEA8616C5C4F4017435FA2A07047401F5CB6E008395040C5EF5DA8DC8A49400102000000020000004322BE6289A93240AAD5FD003EFD53400000829667993E40000020960FE34B4001020000000200000058ABD1579B485140455A57E33910544076057C4D662253406E5F0227FEE44B4001020000000200000076057C4D662253406E5F0227FEE44B40600313E263355440C3B5685B7CCB4440010200000002000000600313E263355440C3B5685B7CCB44403512B3EEDA215540B6432CD636613D400102000000020000003512B3EEDA215540B6432CD636613D4064E8F4C1EB8F55408F8817334AB2374001020000000200000064E8F4C1EB8F55408F8817334AB2374092938D8890E055405DAC265E4988334001020000000300000092938D8890E055405DAC265E498833400080AB8E27165640000016E2E5C330400D9C57CE57E05540D1E49584A08833400102000000020000000D9C57CE57E05540D1E49584A0883340C110B5A1388F55407781F53F0CB53740010200000002000000C110B5A1388F55407781F53F0CB5374056D9CB2434215540330B6DE40A5E3D4001020000000200000056D9CB2434215540330B6DE40A5E3D40427C98248F335440436C75BDFACB4440010200000002000000427C98248F335440436C75BDFACB444052B14437381F5340C458716EC1E74B4001020000000200000052B14437381F5340C458716EC1E74B40B27C92AD1F4451406594AC2433105440010200000002000000E05A4DC2F0D44F4032EA241B2B0E544002395563F1E94D40805ADACF1C864F4001020000000200000002395563F1E94D40805ADACF1C864F401BCE6DC4EBB14C40E8DDEF1C2C114A400102000000020000001BCE6DC4EBB14C40E8DDEF1C2C114A40562CF356FF4A4C40F85B25B060444840010200000002000000562CF356FF4A4C40F85B25B0604448402081533AFCE44B407881DFD4A97B46400102000000020000002081533AFCE44B407881DFD4A97B46403950E23A0F9A4A40F46295F616B240400102000000020000003950E23A0F9A4A40F46295F616B240409672E4EC11884A40F40DE5BF8C6140400102000000020000009672E4EC11884A40F40DE5BF8C6140408102B8C071474A4051DC8E136F803E400102000000020000008102B8C071474A4051DC8E136F803E401C6842950EF2484034882AAE9C8F32400102000000020000001C6842950EF2484034882AAE9C8F3240000094AA3DE54840000090F9DA1C324001020000000200000000009683BC324E4000001C006C464840562CF356FF4A4C40F85B25B060444840010200000002000000562CF356FF4A4C40F85B25B06044484051E192C8284F48407F38BE771A40484001020000000200000051E192C8284F48407F38BE771A4048400FC9D821B7EE4540961191A58D3D48400102000000020000000FC9D821B7EE4540961191A58D3D48403B065597C5AE3C40FF417894683548400102000000020000003B065597C5AE3C40FF417894683548403E1424F832383B40B8A240A29F3448400102000000030000003E1424F832383B40B8A240A29F344840000020D752F528400000CA40B72C4840E2009EC3A4AD4040D846125D592A4440010200000002000000E2009EC3A4AD4040D846125D592A44407B0A0B7931954240341E0F01186F43400102000000020000007B0A0B7931954240341E0F01186F43406778D9B3E78C4940B785250C04C240400102000000020000006778D9B3E78C4940B785250C04C240409672E4EC11884A40F40DE5BF8C6140400102000000020000009672E4EC11884A40F40DE5BF8C614040C39EE91B19B84A4097A8267C1A4F4040010200000002000000C39EE91B19B84A4097A8267C1A4F40404AE5807FFAC5534068615908B7C336400102000000020000004AE5807FFAC5534068615908B7C336400D9C57CE57E05540D1E49584A08833400102000000020000000D9C57CE57E05540D1E49584A088334092938D8890E055405DAC265E4988334001020000000300000092938D8890E055405DAC265E4988334000001150981757400000609073AA314064E8F4C1EB8F55408F8817334AB2374001020000000200000064E8F4C1EB8F55408F8817334AB23740C110B5A1388F55407781F53F0CB53740010200000002000000C110B5A1388F55407781F53F0CB537403418627FF3AD54405A352044FB2C3B400102000000020000003418627FF3AD54405A352044FB2C3B40FDAE7021888450404753F2B73DCA4540010200000002000000FDAE7021888450404753F2B73DCA4540E3EEA8616C5C4F4017435FA2A0704740010200000002000000E3EEA8616C5C4F4017435FA2A07047401BCE6DC4EBB14C40E8DDEF1C2C114A400102000000020000001BCE6DC4EBB14C40E8DDEF1C2C114A400227DF29B2D44140123774F1E86252400102000000020000000227DF29B2D44140123774F1E86252405A54F205D6173D40F45A875F2A015440
+157    01030000000100000004000000A90160A09A254D40D97583BD93CC46400000621A8CFF3D400000A00D437E2C40E6EF3794560C3C4012AA2FFA98F53440A90160A09A254D40D97583BD93CC4640
+158    0104000000050000000101000000000009AA6D5D51400000E79679F14840010100000000007C2CD6653340000044FF76523240010100000000003B99DFF6554000004ABFA8F93140010100000000000834AF1E384000807485BBCD584001010000000000F4E1B45D3C400000E95DAC8C4B40
+159    0102000000020000000000E04817890440000088BB43FB1F400000256EC13A43400000F0E76E3F4840
+160    010200000003000000000056F817013440000014685308474000005633D3114E40000090DC2372564000008E99E4DD3E4000008CC3B26F3040
+221    010200000004000000000074030AAA324000005490677223400000BA8E16BB3640000018339AFD23400000433C91FC41400000FD13D50C48400000D09F9C12324000802582512E5040
+222    01040000000900000001010000000000A6691ABE5840000038C1954A4040010100000000005EB9884D3C4000808F741763524001010000000000449C7DC04A400000C80E4F70384001010000000080CA0A8AE150400080AB7BD02F57400101000000000078244FBA1D400000D8D066DE53400101000000000009EC1B8E4B40008051A6F168564001010000000000543EC3CA32400080849FA124524001010000000000776182A0504000002E0A29A14A40010100000000009E3CDEF43C400000D219C0034240
+161    01060000000B0000000103000000010000000400000033CFB75DAEBD31405FEC6ACC1248494000004077B95F1C400000DC620660314055F0BF7ABDBD27404EDB63EF0C024C4033CFB75DAEBD31405FEC6ACC124849400103000000010000000400000055F0BF7ABDBD27404EDB63EF0C024C40000000059E46EE3F00004F267A8A50403C0D63ECE85D284016299FD3F1454D4055F0BF7ABDBD27404EDB63EF0C024C40010300000001000000060000003C0D63ECE85D284016299FD3F1454D4048C42E92AAEF2B40693E3750DE3E52408463BC5F76BF3340F086B8E843125040598EEB7B6D4D37402BD717637CF950402016CBA41ADA32408680193058034B403C0D63ECE85D284016299FD3F1454D400103000000010000000400000048C42E92AAEF2B40693E3750DE3E52400000705AB55D244000008B5D60AB53403BAEFB7585202D40D86E40381B73534048C42E92AAEF2B40693E3750DE3E5240010300000001000000060000003BAEFB7585202D40D86E40381B7353400000BE97DF0D31400080198A7B7C584005A3A9A13F843D40BE0351456FD4544000008C06470E3C400080D525B6AD5440DA30D42E03C23940D206BEE64EE352403BAEFB7585202D40D86E40381B73534001030000000100000004000000DA30D42E03C23940D206BEE64EE35240CE813098E1FE3D40F8A0A71ADFAC5240598EEB7B6D4D37402BD717637CF95040DA30D42E03C23940D206BEE64EE35240010300000001000000080000002016CBA41ADA32408680193058034B400000C940FE44524000004201CA443140000062E693974A4000001AB5D6A331404F6FF7A270FF4640251E281643513840C2168E8BC7C14440EA17940C87DB3F40DBB347E08DE043403A193CB56C1D3E4033CFB75DAEBD31405FEC6ACC124849402016CBA41ADA32408680193058034B40010300000001000000080000004F6FF7A270FF4640251E2816435138400000D267990E4C400000C88D202D1D400000348A38153F400000D0B140B727400DAA348BAEEE3B40C79FCE98997924404D5B863E7B7B3C405E67A188AA2D2540E33FC5C8980D35409AC884F33D302740DBB347E08DE043403A193CB56C1D3E404F6FF7A270FF4640251E281643513840010300000001000000040000000DAA348BAEEE3B40C79FCE98997924400000F09881F529400000403310A2E53F36254400A0C52B40F88BBF1EB91A08400DAA348BAEEE3B40C79FCE98997924400103000000010000000400000036254400A0C52B40F88BBF1EB91A08400000AC274A8A2540000040B73A91F63FDD76A0C8E9A32D40FE8D34B386AF154036254400A0C52B40F88BBF1EB91A084001030000000100000004000000DD76A0C8E9A32D40FE8D34B386AF15403DFF78E0E4673140F80F4196DD2C2840E33FC5C8980D35409AC884F33D302740DD76A0C8E9A32D40FE8D34B386AF1540
+162    010100000000000B58D2074D4000001210723E3F40
+163    0101000000000094560EFD29400000D86779BA2840
+164    01030000000100000004000000449DEEF79C2B4340216DD7ED96DA3C40000070082D6A38400000AC52379C2640BF17B591F06E3D406182EB2E53813F40449DEEF79C2B4340216DD7ED96DA3C40
+165    01060000000C0000000103000000010000000400000002C310C517BD5440A71F0833543537400080BDA7F6E2564000008CDA8F57284000809FA89F9655400000A0E38F3C174002C310C517BD5440A71F08335435374001030000000100000005000000AF0F85D6311350408EF5510E3BAE3D400000AF676A0D4E400000FCA3DE383840ADB5B28501FF47401C22CE581EE74240DAE999CCC2BB4E4003C1ECBB34504240AF0F85D6311350408EF5510E3BAE3D4001030000000100000005000000796D54B1BBF74440DE2EF4F4C0BF4B40000081E50B19444000009A2B38474B4053502CA0E8A34E40324E7F2B9332514095C18B0C6BAD4E40CDA8E882722C5140796D54B1BBF74440DE2EF4F4C0BF4B400103000000010000000A00000053502CA0E8A34E40324E7F2B93325140D0A6AAB7AE564640E741FD58FF8B56400080AEC3A8005540000053847246564013979642B48154405C6C9FE7C11C554013602499591C544057D11D0EB70455402B0B47983D3C534082684C98A82E544025D32F579B8052403BCD4C80E9C25340FA1488EB7FB75240BB33893DDFAF5340EAEC25C1EF03524063CF17135D04534053502CA0E8A34E40324E7F2B933251400103000000010000000400000013979642B48154405C6C9FE7C11C5540A67CF8B3747355409039FA8F1A5655404F6252544F4254403F7316981B88544013979642B48154405C6C9FE7C11C554001030000000100000004000000A67CF8B3747355409039FA8F1A56554000001D9FC27D574000009095B2B65640D4618218BD785540371A9D5D5B575540A67CF8B3747355409039FA8F1A5655400103000000010000000A000000D4618218BD785540371A9D5D5B575540000064801479584000000FCD9D0D56400000CA388B2552400000403C93010840564441FB721E50404E9DFA3B092B5040008098B2F99651400000BF09978B4C4081EFBD7D19BF5340AF63F2A9705453400080B541F2EB54400000A7B816EC5240F05A60967E3F5440D7110D9181815440BA070C3D16405440B62A282AE5825440D4618218BD785540371A9D5D5B57554001030000000100000005000000564441FB721E50404E9DFA3B092B504095C18B0C6BAD4E40CDA8E882722C514026674CFE2DED514009DBEDA3A0EE5240D3662636D4FE4F4064CE27DE02175140564441FB721E50404E9DFA3B092B504001030000000100000005000000EAEC25C1EF03524063CF17135D04534042EEB0E4B5E85240768AC485CD9E5340A3B207DCD2ED5240207D007F079D534026674CFE2DED514009DBEDA3A0EE5240EAEC25C1EF03524063CF17135D0453400103000000010000000600000042EEB0E4B5E85240768AC485CD9E5340FA1488EB7FB75240BB33893DDFAF53402B0B47983D3C534082684C98A82E544000804D30EC2854400000120492B65440842285DFF03D5440EBB1CD8D2885544042EEB0E4B5E85240768AC485CD9E534001030000000100000005000000842285DFF03D5440EBB1CD8D288554404F6252544F4254403F7316981B885440BA070C3D16405440B62A282AE5825440E2E97D402B3F5440066CEC7A45825440842285DFF03D5440EBB1CD8D2885544001030000000100000005000000E2E97D402B3F5440066CEC7A45825440F05A60967E3F5440D7110D918181544081EFBD7D19BF5340AF63F2A970545340A3B207DCD2ED5240207D007F079D5340E2E97D402B3F5440066CEC7A45825440
+166    01050000000700000001020000000200000000807030955A5140000022728C5C3B40F992338063BD504035C4F8632AFF3F400102000000040000000000459194FA444000005EEC70B3314000003354E7C04640000068DF9F7444400000F3BFECCA4C40000009F5930143400000BA21BC1F4B400000A69124B54A40010200000002000000000022AE30A94140000090B6C3184B405723992C0F284B401C90745589A24F400102000000020000005723992C0F284B401C90745589A24F40B30E884486ED4D40522A56BBCD7A50400102000000020000000000AADAF0243F4000002329696D4C40BEF08968CE6F4240DB2F63A8E2BF4F4001020000000200000000001530783E4A400000F567F2684A405723992C0F284B401C90745589A24F400102000000020000005723992C0F284B401C90745589A24F40233D125D892B4C409AAFB6952EB85240
+167    01040000000400000001010000000080737F640A5940000050E895CD0E4001010000000000045331ED2840000006321EFF3140010100000000001902F37D50400000980FA0771B40010100000000801EA77A32554000807BDE3B075940
+168    010400000009000000010100000000005C8290F953400000AB7B9C384C4001010000000000C0425E60184000808E22630A584001010000000000D25CC0D64C400000465A31BD45400101000000000000BF04EA26400000A97F4FE75840010100000000000FFE244852400000AE55C89C4C4001010000000000F4318C924B400000F0A09F9D20400101000000000095E469134E4000807CF064585440010100000000004E93868231400080E70CCA285640010100000000001DBD1C32534000001E27BD154540
+169    01050000000300000001020000000200000000008837AD143D400000C3C199744940C912A44E21133E40DA729BEF29EE494001020000000200000000005CBC9E75324000007072EE904140D4F3FA1E177C4240042DA66A5A38494001020000000600000000003D27CB924140000074BCE0223740000008F839C746400080A5759A1B53400000E112C3084C400080AD4A2A2553400000F5CD4C2840400000549B20772D4000008658FBB252400000179BA8595240000050D33D7B484000005278F3EE3D40
+170    0104000000060000000101000000008086C20F4158400080804A7C4D5640010100000000004C04D3743D400080A5F03ACE564001010000000080585DBE4F51400000DCB79B672940010100000000008322364A46400000B48295A93D4001010000000000BC8D9EEA2A400080F73EC5A45540010100000000801E2129B750400000058025314C40
+171    010600000009000000010300000001000000040000008D463F6B51735140C019D6392B353C4000807EA5BAFD514000008CA860063C4000005B39CA8A53400000C8BF0B1E29408D463F6B51735140C019D6392B353C4001030000000100000004000000A9E8F82CA10145401647D36295D1534000002D07A45A444000800EA7174156400000F71A4AA94640000051EF671F5540A9E8F82CA10145401647D36295D153400103000000010000000A000000344E7699F3A44540C7E261535F2048400080CEC2A71D534000001C05665E2D400000BA9BFCF8414000006047477BF53F0000F87AD5551D400000204504AC13404F82D54555FE2F409B5D4D30BB5F3E400D6A42638FE63F407543E9857365444078DC7F2B97B74240C9439A3609663B400000CDC5E58D4540000032DEFD274140434512E7FB6842406F47A074F8014640344E7699F3A44540C7E261535F204840010300000001000000050000004F82D54555FE2F409B5D4D30BB5F3E400000A071AC130E40000020597E5B36409544E3599A5531409AF90EF3665D4D4099586960AAAD3840B34943A644F14B404F82D54555FE2F409B5D4D30BB5F3E400103000000010000000400000099586960AAAD3840B34943A644F14B40A907C491C71F394024215414EE984C4062D79E6074DA3940FCA49EC202B74B4099586960AAAD3840B34943A644F14B4001030000000100000004000000A907C491C71F394024215414EE984C400000FE8AA693334000005AEFCDA75140ACD0F1C3D5353A401756F06376314E40A907C491C71F394024215414EE984C4001030000000100000005000000ACD0F1C3D5353A401756F06376314E400000CE316C833B4000001BF0CA0D504073BE44833E4E45407305DDF01B7848401D6A6A397B9E3E406F91C3B8B6CA4A40ACD0F1C3D5353A401756F06376314E400103000000010000000400000073BE44833E4E45407305DDF01B78484000002633E5D845400000989666424840344E7699F3A44540C7E261535F20484073BE44833E4E45407305DDF01B78484001030000000100000005000000434512E7FB6842406F47A074F80146400D6A42638FE63F407543E9857365444062D79E6074DA3940FCA49EC202B74B401D6A6A397B9E3E406F91C3B8B6CA4A40434512E7FB6842406F47A074F8014640
+172    010600000009000000010300000001000000040000008915DF25E2B335408E1EA0F4F6A426400000680FA55F374000006010F37F07400000F4669CEC21400000B0D6B37B13408915DF25E2B335408E1EA0F4F6A426400103000000010000000700000041959DE23FEF52407A4AA1C89C1B27400080EFB5F5FB54400000400E53B70A403E48CAD02A365240A309759964FD1640EEB96DC19245524057E0E24DA46B2C40B33D0D659C8352408CD7E40B627A2A400080241A5FD152400000A0FED2C0154041959DE23FEF52407A4AA1C89C1B274001030000000100000008000000B33D0D659C8352408CD7E40B627A2A406A4C90B376E051400D891C71029B3D40E6A6E53D1F2B534045D3DAC9A47A3E400000B6595B1F534000000ACF0104384043D4B00F26355340580E36CE6C813E405CEB3C8E224C53403B1F5FAAF8903E4041959DE23FEF52407A4AA1C89C1B2740B33D0D659C8352408CD7E40B627A2A40010300000001000000090000006A4C90B376E051400D891C71029B3D40B4D51B95EC104B40A3C3EDF3EDAA3A40F23638587A7E4B4003B43DF99E5E3C40F160D6BA70204940CE231E2A40C53E40291B0D3DB45149406B7BD94DCA064040A846E294173E5340D62BBFD647734440241D2D9F5C3653408CB4A82AB153424064CE8B925EA4514020C0CBB826D141406A4C90B376E051400D891C71029B3D4001030000000100000006000000B4D51B95EC104B40A3C3EDF3EDAA3A4000008E666B3D4640000000817BE51D40564B6D8999394240C1F5A1FF91E24240F160D6BA70204940CE231E2A40C53E4000007B9FE25F48400000B2B0EBC13940B4D51B95EC104B40A3C3EDF3EDAA3A4001030000000100000005000000A846E294173E5340D62BBFD6477344401E5D39B35E485340AB13BCB901464740D26B37524B6C5340044156FBDE7647402DEAD7E384585340C8B891290A854440A846E294173E5340D62BBFD647734440010300000001000000080000001E5D39B35E485340AB13BCB9014647400080B66F608C50400000FF01E08D43400000E920D8D653400000EA0CC81252400080C5F2688158400000347FA6604E40D26B37524B6C5340044156FBDE764740D5D5D22B6C7E53401197E50CED294A405FADE86086535340C85F12776A564A401E5D39B35E485340AB13BCB901464740010300000001000000070000002DEAD7E384585340C8B891290A85444044B46130193D5540D343DCF8ADCA454000803CDC70F0564000008246C28340405CEB3C8E224C53403B1F5FAAF8903E40DAACDBBA856A53407C7FB761A1644240A09DC8D7F54953406782766E0E5A42402DEAD7E384585340C8B891290A85444001030000000100000005000000241D2D9F5C3653408CB4A82AB1534240A09DC8D7F54953406782766E0E5A424043D4B00F26355340580E36CE6C813E40E6A6E53D1F2B534045D3DAC9A47A3E40241D2D9F5C3653408CB4A82AB1534240
+173    0102000000050000000000B8D55F8F514000005E14CF033F400080BA667F2F55400000C088D5F82D4000803824E58E55400000F211F70A564000002C88749A48400000627062C248400000A41FD65C2340000059AC9A2B4C40
+174    01030000000100000007000000008052136464514000004C2A38D43A400000C4BA5E3445400000808303D6074000007E33BE97344000002C358A3A3240B41C08C9F3693D4089854A8003FA46400AA58EBF5DB24D40AEBD80F0A62D444000002D3FE39346400000943F90A02440008052136464514000004C2A38D43A40
+175    0103000000010000000500000008FBA0670B1150405D4295E68EF741400080BF02A4CE51400000DE5F9E5C33408A42570F78EB4B4066E985346B5140400000AF9789064F400000535CE668414008FBA0670B1150405D4295E68EF74140
+176    01040000000A00000001010000000000B0B85A07224000807E3AF865584001010000000080BBB59B515640000030F817E63A4001010000000000C0ACED333240000092B9CE07464001010000000000EC2ED7645340000049E956E4574001010000000000FB8AFEF251400000968C253B4A40010100000000008C6CF04F2C4000000F648E1E4B40010100000000009C228D5C3F400080994B4CA6514001010000000000672C9A2A4E400000A0AD19863A40010100000000000AE8B1463B4000002071B87C06400101000000000090068EFD42400000AEE6EFE33940
+177    0102000000020000000000A550E71F5340000046477DF14A405B90697D17A55240A9A45B9CE1854B40
+178    010200000002000000000050D99D5D034000007E7370AD42400000E8FC9DD847400000881773442340
+179    01010000000080FAA4730E5140000018AD08AB3940
+180    01020000000200000000006FC973D3434000000F581A8E5240E411F2171ED64640890BC9B995E35440
+181    01010000000000607B71B51F40000070D91F144F40
+182    0104000000030000000101000000000030C5C12628400000CCE8C9F957400101000000000015417BED45400080394E0D4C5540010100000000008BF9F84F4A400000A04878632440
+258    0103000000010000000500000049A74C7430365640FE8F4685759340400C7305E3681B5640C79EA746111F39400080343EA05752400000805A116BDA3F9E0A4F40A617524002FB393C7702374049A74C7430365640FE8F468575934040
+259    01030000000100000004000000E3D86578B50146406B7067B9FE004C4000003B2500614940000000268B8215400000F0F90E2C024000003378A9C94540E3D86578B50146406B7067B9FE004C40
+260    01040000000900000001010000000080BAEEFF8253400000743ABAFF28400101000000008030A4A30B5040000046E63ED34F40010100000000001668B3D34040000050511CA257400101000000000054C4E9D6404000002CE0D061404001010000000000E4C7C1AF3D400000485122414540010100000000006480514E4540000048621C433B400101000000000014BCDABA3540000049C3B4434F4001010000000000EE6230C3404000808F6E9C555540010100000000003BEEF44C56400080453839455340
+183    01060000000B0000000103000000010000000400000082D7A8CCBF15424072118791D3843B4000006C83E0982E4000009098109933404C6380265D7E3C40045CB332AC29434082D7A8CCBF15424072118791D3843B40010300000001000000050000001114AA8B571053404CCEDDAE186648400080C117A141534000002C39F21C2C400000D5D1B53B4D400000CECA10F73340712E844C7C3D52406876BD0CE14849401114AA8B571053404CCEDDAE1866484001030000000100000007000000156C277D90904B4015D4877EE66A5040000018BF3A9A4740000090684A352F400000BCA36E3C3B400000A934F8344F40918ACF9AA0704040943383C4A89A504000004F22E3DA4440000096CD47044C401CA36ECA9EC14A40FE3B520A06B65040156C277D90904B4015D4877EE66A50400103000000010000000D000000918ACF9AA0704040943383C4A89A50400000F0674CAD10400080447A4C0B5940761F7A2B18A33640AE6C047EABA957400000E4DCC64D334000802D853A3B5740F88136DCD4F63540BA323C0F0AD554400000E40844B738400000E520B010574011C2929CD01C3A40942F70D01E6757408CEAC614EE944A4037ED6DA2236155400000A81D0AA03E40008086B99AE45340000038439D074740000075591F5A5340D3108012B1C74640AAC6FF43975A52400000833B2A96454000802C24DF6D5240918ACF9AA0704040943383C4A89A504001030000000100000004000000761F7A2B18A33640AE6C047EABA9574000005D25573740400080345A37EE584011C2929CD01C3A40942F70D01E675740761F7A2B18A33640AE6C047EABA95740010300000001000000040000008CEAC614EE944A4037ED6DA2236155400000D7674EA84D400000F28DFFC8554075E746BB70E64E40FFC71B3DC2BB54408CEAC614EE944A4037ED6DA2236155400103000000010000000400000075E746BB70E64E40FFC71B3DC2BB5440E68ADC32D232514041AE1AF7D6355440E8970FCEB9435040F2EB30B3D65A534075E746BB70E64E40FFC71B3DC2BB544001030000000100000004000000E8970FCEB9435040F2EB30B3D65A534028065529DD4B514099DA400EC19B5140456ED013716D4D405037EEFB32EF5140E8970FCEB9435040F2EB30B3D65A53400103000000010000000400000028065529DD4B514099DA400EC19B514000004242C02853400000368C905F5140961A5DB516695140204F47AA496A514028065529DD4B514099DA400EC19B514001030000000100000006000000961A5DB516695140204F47AA496A514000806D0AF22A55400000ED50771C4640156C277D90904B4015D4877EE66A5040D2EE8E9F77CF4B407742CA949B315140A3CF7807D0754C4057D39753CA7D5140961A5DB516695140204F47AA496A5140010300000001000000080000001CA36ECA9EC14A40FE3B520A06B650406426A02FFCBB464076A4942BCB2B5240D3108012B1C74640AAC6FF43975A5240456ED013716D4D405037EEFB32EF5140A3CF7807D0754C4057D39753CA7D5140000088F11EE84B400000FDC27C7F5140D2EE8E9F77CF4B407742CA949B3151401CA36ECA9EC14A40FE3B520A06B65040
+184    01060000002400000001030000000100000004000000FEEC003D660B584044ECB07E83E624400000DC5A1B3D58400000D487DB75224044981225882E5840C7326852B2842240FEEC003D660B584044ECB07E83E624400103000000010000000400000044981225882E5840C7326852B2842240000050B3EB3B5940000000FC162FC03FB0D8427BA4E356400BB7D43E94D5234044981225882E5840C7326852B284224001030000000100000005000000B0D8427BA4E356400BB7D43E94D52340833C64A0B88055402A8EA8CAED3E254080794226856F5340EBD826CD74463340FCD308C81FA954400CA09A72F3383340B0D8427BA4E356400BB7D43E94D5234001030000000100000006000000833C64A0B88055402A8EA8CAED3E25400000255E099C56400000580E8CF6174000004ECC06463440000050E65FEB1940A81ECEC5D9993A40EE2A230F773F2840F28416C6EA1A4340B2828213CDB43040833C64A0B88055402A8EA8CAED3E25400103000000010000000F000000A81ECEC5D9993A40EE2A230F773F2840000084FB09FC2B40000070E8B6961C400000D05417170C4000004C73381E3740F3146D2087B13F4083EB37E44CB65140AE0603CF3B1A40404F90C4F016835140AF93674AD8E934409C1812B433ED45400000D6B5A9D234400000AFCD52F445403C05915D312C3040B27CF89C7C744040000010EB4AF821400000DA5375A23A402C7B4DCFFBD04240EA9376C06C4B3C4000008017198B40400000FC2C589E3740610610F3C18F4340EFEBB1B688613C40D80851CBE260454072ED5A5570973C40B633EE389FA7444035060C0B7A3E3940A81ECEC5D9993A40EE2A230F773F284001030000000100000004000000F3146D2087B13F4083EB37E44CB651400000A0635FF7374000800146F6BB5440215E5BABD7FC4040DCE69E47A3AD5240F3146D2087B13F4083EB37E44CB6514001030000000100000004000000215E5BABD7FC4040DCE69E47A3AD524000007EA3D46E4140000040422A0E5340E79A1EDF90134140D2385E754DA45240215E5BABD7FC4040DCE69E47A3AD524001030000000100000009000000E79A1EDF90134140D2385E754DA452400000F8B7A81F43400000B5A9FECC51401ED026E9AF214940B56E17B2DFF946408B5F2FCBA85047400C49C8DF59C64240EE376B30CF6C4440A2FEA089A69A3F40AE91F5B4D27C394006EF7A627A854440000057E96AD944400000E8FB21994B40AE0603CF3B1A40404F90C4F016835140E79A1EDF90134140D2385E754DA45240010300000001000000050000001ED026E9AF214940B56E17B2DFF946402C48C7CD472F4A40CAD9F89B64694940A6FC1B387BF64B40CA6E58513A8E47400B7E5DC579E04940ACCFA91FF06845401ED026E9AF214940B56E17B2DFF94640010300000001000000050000002C48C7CD472F4A40CAD9F89B646949401067AD5136A9484090CBD4AD91004B40873FA4B50B434A4083416E746B054C400000A4AFC9914A40000072E0384D4A402C48C7CD472F4A40CAD9F89B6469494001030000000100000006000000873FA4B50B434A4083416E746B054C400D3CB676999A4840E5D877B51DA55240618AE89DF88350407A61F309D3C44C40E79AF063CDAC4F40DBE601A5BF5F4B40B617EA0BB31F4C402B1EECD0CC344D40873FA4B50B434A4083416E746B054C40010300000001000000040000000D3CB676999A4840E5D877B51DA55240C0034F82767948401F94D47FDEB5524024E21DF26B93484001ACB1E92DB952400D3CB676999A4840E5D877B51DA552400103000000010000000400000024E21DF26B93484001ACB1E92DB952400000845C37674740000091294F005640E18701924E284B40113F7745740D534024E21DF26B93484001ACB1E92DB9524001030000000100000005000000E18701924E284B40113F7745740D5340000027AEE32950400000178738B653403F70210B46F151404C0B072757B44F4086D028B061895040795CBC77F4CF4C40E18701924E284B40113F7745740D5340010300000001000000040000003F70210B46F151404C0B072757B44F4000808F625EDE53400000BCE760D55140A929216029415240E8A3A855AC594E403F70210B46F151404C0B072757B44F4001030000000100000004000000A929216029415240E8A3A855AC594E40B6D961F676A95240BADE0E110F954C40D89439CE638551407C0C368529EF4B40A929216029415240E8A3A855AC594E4001030000000100000008000000B6D961F676A95240BADE0E110F954C40B82A2057A37F54400B7F7E461DA04D4000000AABC06655400000E20DDCC24D40DFFA2A0C040755403C9B1B1102ED4D400080C1B09CFB55400000FCECEF774E400080C118EDCC58400000E480CCBE38409D75EC83574854401CB21213BC8C4540B6D961F676A95240BADE0E110F954C4001030000000100000005000000B82A2057A37F54400B7F7E461DA04D404CA38CCC9DB553408F45F62DBE814D40D7B7DA8644F453405CB1828BF7654E40DFFA2A0C040755403C9B1B1102ED4D40B82A2057A37F54400B7F7E461DA04D40010300000001000000070000009D75EC83574854401CB21213BC8C4540FEEC003D660B584044ECB07E83E62440EA4CA88B728F51404DCAE914A29849400000C66D58A152400000BB77FF7D48407032506CA84B5140D0C9EEF4FE304B404BFB12482160514091719E166E744B409D75EC83574854401CB21213BC8C45400103000000010000000400000065F1590FB77554407F57E8299B0F344000003C025FFB554000006C6A622A3340FCD308C81FA954400CA09A72F338334065F1590FB77554407F57E8299B0F344001030000000100000004000000A566B2926DFD504036B2C97D4F2F4A402439D9064C2D514065182310FDCC4A40EA4CA88B728F51404DCAE914A2984940A566B2926DFD504036B2C97D4F2F4A40010300000001000000040000007032506CA84B5140D0C9EEF4FE304B402439D9064C2D514065182310FDCC4A406B0A33AE199D5040B95A416401924C407032506CA84B5140D0C9EEF4FE304B4001030000000100000004000000D89439CE638551407C0C368529EF4B404BFB12482160514091719E166E744B4073D080D40D395140EB8424CDCDC34B40D89439CE638551407C0C368529EF4B4001030000000100000004000000618AE89DF88350407A61F309D3C44C4086D028B061895040795CBC77F4CF4C406B0A33AE199D5040B95A416401924C40618AE89DF88350407A61F309D3C44C40010300000001000000040000003C05915D312C3040B27CF89C7C744040DB4B5AEAF335304007ACCF55BF7840400000488DA4E82D400000F89657073E403C05915D312C3040B27CF89C7C7440400103000000010000000400000080DB39F783164540BD0E57AF1DCA3E409D014C49034046409F626F3BC54F4040E8B27E3763B14540CA874E39CF0B3E4080DB39F783164540BD0E57AF1DCA3E40010300000001000000050000009D014C49034046409F626F3BC54F40408B5F2FCBA85047400C49C8DF59C642400B7E5DC579E04940ACCFA91FF0684540980B0E7E98A64A403825A26398C843409D014C49034046409F626F3BC54F404001030000000100000007000000980B0E7E98A64A403825A26398C843407082CCCAC0744D40624C79B230FF454065F1590FB77554407F57E8299B0F3440C9E2A6C7B90C5340B0BB41D1F6E33440A0C9320EE4F24C40B04533A73305444037FF0DC4A6414B409012F22BC0824240980B0E7E98A64A403825A26398C8434001030000000100000008000000C9E2A6C7B90C5340B0BB41D1F6E3344080794226856F5340EBD826CD744633400000DB467ED34B4000008A105783334006EDDD3B21EE4A40865D43532CE236406A7978785B4A4B4097F16DABFA2A3740327C0FC9A5A44A40F15F87599AF63740AAECC371BB8E4A402B92EFA90B493840C9E2A6C7B90C5340B0BB41D1F6E334400103000000010000000800000006EDDD3B21EE4A40865D43532CE23640F28416C6EA1A4340B2828213CDB430400000BBBC0FD342400000462117C73040B633EE389FA7444035060C0B7A3E3940D548414A7B9C46404ECEB58E03BC3C4020C5FB6A5EBF464014C21F9B0EC03C40327C0FC9A5A44A40F15F87599AF6374006EDDD3B21EE4A40865D43532CE2364001030000000100000005000000D548414A7B9C46404ECEB58E03BC3C40D80851CBE260454072ED5A5570973C40E8B27E3763B14540CA874E39CF0B3E4056B4C2790DAC4640B0FDDFF0CAD73C40D548414A7B9C46404ECEB58E03BC3C400103000000010000000400000020E0E0245E224E40D2DC4F446B9C3840000054118C994D4000009EDA350B384080F66E349AED4D401723A5093DCA384020E0E0245E224E40D2DC4F446B9C384001030000000100000005000000610610F3C18F4340EFEBB1B688613C402C7B4DCFFBD04240EA9376C06C4B3C40EE376B30CF6C4440A2FEA089A69A3F4080DB39F783164540BD0E57AF1DCA3E40610610F3C18F4340EFEBB1B688613C4001030000000100000004000000AE91F5B4D27C394006EF7A627A854440DB4B5AEAF335304007ACCF55BF784040AF93674AD8E934409C1812B433ED4540AE91F5B4D27C394006EF7A627A854440010300000001000000060000000000783B1BA150400000C32035FF48407082CCCAC0744D40624C79B230FF4540A6FC1B387BF64B40CA6E58513A8E4740E79AF063CDAC4F40DBE601A5BF5F4B40A566B2926DFD504036B2C97D4F2F4A400000783B1BA150400000C32035FF48400103000000010000000500000037FF0DC4A6414B409012F22BC082424000008E9FF50C4D400000B8480F7B3D4020C5FB6A5EBF464014C21F9B0EC03C4056B4C2790DAC4640B0FDDFF0CAD73C4037FF0DC4A6414B409012F22BC0824240
+185    01020000000200000000008250F7A0364000802D1784935440CFCE66ED503E37401C953A1E7F945240
+186    010100000000003C19BDA52E400000AAD36E0B5240
+187    01020000000400000000009B19B27E50400000C8C5A1F835400000BC5D49153040000094A311C42F4000005C84B3CB4A4000806DE217E6584000009EF0301E36400000D33D8EC65040
+188    01050000004E0000000102000000020000000871F2F42E3B544088B9C5D303715540000064733AFD5440000091C73EDE584001020000000200000000004D2BD0B3584000001B26378058400871F2F42E3B544088B9C5D303715540010200000002000000008026DC2B56504000003BD300095840E7EC000C722A4C406788EDA70C3C51400102000000020000000871F2F42E3B544088B9C5D30371554052272E7A4BFF5040425ACF898A3A534001020000000200000052272E7A4BFF5040425ACF898A3A5340E7EC000C722A4C406788EDA70C3C5140010200000002000000008049EEC03F5240008039574B19594052272E7A4BFF5040425ACF898A3A534001020000000300000000009B3193D243400000A0BBCE17164000808EC1304256400000C20FB45F3D40000094B1645E524000005EF1006732400102000000020000000000D436EE1E3B4000000089B7E22240054E4321CB9B44406E9083FD7E543740010200000002000000054E4321CB9B44406E9083FD7E5437405FDF143BF092454039A9458B743B39400102000000020000005FDF143BF092454039A9458B743B394066DF2CB3478D494041430273F788404001020000000200000000004919FE234F400000C007C08547400523AFE139BD4C40FF9304D5C94743400102000000020000000523AFE139BD4C40FF9304D5C947434044474E38FE884C405F6B3E4C85EB424001020000000400000044474E38FE884C405F6B3E4C85EB42400000CEA5F51047400000383CD484324000007C4A26344D400000E68767E534402FFB9A6E738E50400992F09B899138400102000000020000002FFB9A6E738E50400992F09B89913840BC04B757FD235340225C8CB1786C3D40010200000002000000BC04B757FD235340225C8CB1786C3D4068A301819EDE5340972A7EF31ECB3E400102000000020000000000FF311F68424000008DF14B215040B535A9A4A89C45408472541758AE4E40010200000002000000B535A9A4A89C45408472541758AE4E40AE08C5241E34464010D300C6B9634E40010200000002000000AE08C5241E34464010D300C6B9634E40AE1706ABFC114A40241FDF6F0D7C4C40010200000002000000AE1706ABFC114A40241FDF6F0D7C4C405F3E9BC8B12A4A40D6195647E16F4C400102000000020000005F3E9BC8B12A4A40D6195647E16F4C408F11D9AF9F2D4D4012E5271812F44A400102000000020000008F11D9AF9F2D4D4012E5271812F44A404DC19B6F85814F40377A34497ECE49400102000000030000004DC19B6F85814F40377A34497ECE494000809E9FDFC7504000004E9B3DCB4840DB05A1B221C94F40BFFC40E24DED4140010200000002000000DB05A1B221C94F40BFFC40E24DED4140695FEFD94C244F401E2D24C3D8DF3E40010200000002000000695FEFD94C244F401E2D24C3D8DF3E405409033E2A0C4E402493ED5B5B69364001020000000200000000009CDCBE904840000000C4E504474019B8C80C87084A40463F4A12D29B474001020000000200000019B8C80C87084A40463F4A12D29B474042380B3F7AC64B40A324B2C0EC4E484001020000000200000042380B3F7AC64B40A324B2C0EC4E48404DC19B6F85814F40377A34497ECE49400102000000020000004DC19B6F85814F40377A34497ECE494056DF09065398524015A3E74BE8164C4001020000000200000056DF09065398524015A3E74BE8164C40B6D6143568BD5540CBF094AA969D4E40010200000003000000B6D6143568BD5540CBF094AA969D4E40000046D3F12957400000751267C24F400E5EE21608AE554082AE8FCE91474F400102000000020000000E5EE21608AE554082AE8FCE91474F40471654FBB5D85240BC7A26450F5D4E40010200000002000000471654FBB5D85240BC7A26450F5D4E40ACCB099C930950408579F3C88C744D40010200000002000000ACCB099C930950408579F3C88C744D400D3A595AA35B4E406E8605887F2D4D400102000000020000000D3A595AA35B4E406E8605887F2D4D403C5D3DF85A304A402403F339F6804C400102000000020000003C5D3DF85A304A402403F339F6804C40AE1706ABFC114A40241FDF6F0D7C4C40010200000002000000AE1706ABFC114A40241FDF6F0D7C4C408ACDC6E5AC444740A53600A017084C400102000000020000008ACDC6E5AC444740A53600A017084C40FE477805B35C41408B992BC4AA134B40010200000002000000FE477805B35C41408B992BC4AA134B400000A49671982E400000A7C0AF814940010200000002000000E7EC000C722A4C406788EDA70C3C51403C5D3DF85A304A402403F339F6804C400102000000020000003C5D3DF85A304A402403F339F6804C405F3E9BC8B12A4A40D6195647E16F4C400102000000020000005F3E9BC8B12A4A40D6195647E16F4C40830964FC241349406A8FF61455244940010200000002000000830964FC241349406A8FF61455244940054E4321CB9B44406E9083FD7E543740010200000003000000054E4321CB9B44406E9083FD7E54374000003A0E42D743400000229765B232405FDF143BF092454039A9458B743B39400102000000020000005FDF143BF092454039A9458B743B39408A3F170666C64A4067D2A5F21A6C464001020000000200000000800C351B305540008019D3DB5B52400E5EE21608AE554082AE8FCE91474F400102000000020000000E5EE21608AE554082AE8FCE91474F40B6D6143568BD5540CBF094AA969D4E40010200000003000000B6D6143568BD5540CBF094AA969D4E400080AD8005915640000081371E7A4540ECF28584B80154405E204812176C4040010200000002000000ECF28584B80154405E204812176C404060FFBF5DD79D53408077A8E6B64D3F4001020000000200000060FFBF5DD79D53408077A8E6B64D3F40BC04B757FD235340225C8CB1786C3D40010200000003000000BC04B757FD235340225C8CB1786C3D40000069C0D212514000004EA2924235402FFB9A6E738E50400992F09B899138400102000000020000002FFB9A6E738E50400992F09B89913840695FEFD94C244F401E2D24C3D8DF3E40010200000002000000695FEFD94C244F401E2D24C3D8DF3E4057B4502BDB104D40748ED8CB03C2424001020000000200000057B4502BDB104D40748ED8CB03C242400523AFE139BD4C40FF9304D5C94743400102000000020000000523AFE139BD4C40FF9304D5C94743408A3F170666C64A4067D2A5F21A6C46400102000000020000008A3F170666C64A4067D2A5F21A6C464019B8C80C87084A40463F4A12D29B474001020000000200000019B8C80C87084A40463F4A12D29B4740830964FC241349406A8FF61455244940010200000002000000830964FC241349406A8FF614552449408ACDC6E5AC444740A53600A017084C400102000000020000008ACDC6E5AC444740A53600A017084C4050D39C6EB5EA454060BD83107F314E40010200000002000000000058B972B04B40000081B7AC2D434044474E38FE884C405F6B3E4C85EB424001020000000200000044474E38FE884C405F6B3E4C85EB424057B4502BDB104D40748ED8CB03C2424001020000000200000057B4502BDB104D40748ED8CB03C24240DB05A1B221C94F40BFFC40E24DED4140010200000002000000DB05A1B221C94F40BFFC40E24DED414060FFBF5DD79D53408077A8E6B64D3F4001020000000300000060FFBF5DD79D53408077A8E6B64D3F400080CC8222555540000038D7E6343D40ECF28584B80154405E204812176C4040010200000002000000E7EC000C722A4C406788EDA70C3C5140AE08C5241E34464010D300C6B9634E40010200000002000000AE08C5241E34464010D300C6B9634E4050D39C6EB5EA454060BD83107F314E4001020000000200000050D39C6EB5EA454060BD83107F314E40FE477805B35C41408B992BC4AA134B40010200000004000000FE477805B35C41408B992BC4AA134B4000007C9407E628400000C21AC5744340000080076063E13F000008B54B8E50400000CA2AD11A4840000031AB35C558400102000000020000008A3F170666C64A4067D2A5F21A6C464042380B3F7AC64B40A324B2C0EC4E484001020000000200000042380B3F7AC64B40A324B2C0EC4E48408F11D9AF9F2D4D4012E5271812F44A400102000000020000008F11D9AF9F2D4D4012E5271812F44A400D3A595AA35B4E406E8605887F2D4D400102000000020000000D3A595AA35B4E406E8605887F2D4D4000808EE98C4C50400000D2945CB3504001020000000200000050D39C6EB5EA454060BD83107F314E40B535A9A4A89C45408472541758AE4E40010200000004000000B535A9A4A89C45408472541758AE4E400000808EBE614440000084E6095350400000AB36CBDA40400000A1D441EB53400080C5A6D075504000805D50B1FB5840010200000003000000ECF28584B80154405E204812176C40400000228F1CA951400000F5930FA4434056DF09065398524015A3E74BE8164C4001020000000200000056DF09065398524015A3E74BE8164C40471654FBB5D85240BC7A26450F5D4E40010200000002000000471654FBB5D85240BC7A26450F5D4E400871F2F42E3B544088B9C5D30371554001020000000200000052272E7A4BFF5040425ACF898A3A5340ACCB099C930950408579F3C88C744D40010200000002000000ACCB099C930950408579F3C88C744D40E2EAD0F84F814F407DFBB79EA5C84A40
+189    010100000000001E038F944B400000E3DE721F4E40
+190    01010000000000A2479D0431400080FD9F3C7E5440
+191    01040000000700000001010000000000C5B8911241400000E0718D30F53F01010000000080EE736AF652400000778723C4514001010000000000407244F3054000002A8AF437574001010000000000CBFEF01A5340000025CD147C4440010100000000006A8AB8F440400000BDD4B7AD4040010100000000004865F5724B40000073DA21304B400101000000000085890A644040000003244E4F4C40
+192    0102000000050000000080A49A4954504000001852AFE4384000002424DD5F35400080F3AD2321544000803CF5E99050400000E48F5DAB43400000F286564156400000A80F123956400000E2192CD6344000003074FE1C5640
+193    01010000000080C44CB0B156400000000F9E3A0140
+194    0103000000010000000500000000003E51D9C04A400000501627CA144000001ABCB1C03A400000DEF1517E3540000015440CA5464000001B461313564000000D5F37F24B400000DCD371D2484000003E51D9C04A400000501627CA1440
+195    0103000000010000000400000067B3C045E1513540B2D5A9A009CA5540000008A835F513400000059A88EB5740000016BC455135400080BDC4F9D9554067B3C045E1513540B2D5A9A009CA5540
+196    010100000000807830639956400000D6908AB34340
+197    0103000000010000000700000008A8B5ACD8685040DB1570522C1A52400080268F493B55400000E9200D4D5140008069F69C77524000009887AFD74E4000809C67370A544000004A5EFD1D354000002F6B3CCE4C40000080E33C35D43F5328A8C781B54A4076245B1FD81C444008A8B5ACD8685040DB1570522C1A5240
+198    0102000000020000000080AA35F47B53400000BCD10CA34F400000B704B7D3584000000BF355A44340
+199    01060000001D00000001030000000100000004000000AEA3A016E2575440D5DF606D37EB3E407B20522309D0544027AB602F18AD38407BF7DD8DBE8F5240BC9AB738FC4F3E40AEA3A016E2575440D5DF606D37EB3E40010300000001000000050000007BF7DD8DBE8F5240BC9AB738FC4F3E402889407059B1504092B4D9092EAD3D4083EA08F7C9065140DF8E2109AF1141407E898617B008514070629A028C1141407BF7DD8DBE8F5240BC9AB738FC4F3E40010300000001000000040000002889407059B1504092B4D9092EAD3D40000075C7ED314D40000040E364A9FA3FE7229A114D32454062B8C92B389A3B402889407059B1504092B4D9092EAD3D4001030000000100000005000000E7229A114D32454062B8C92B389A3B40CC61F7CC442A41408EB14D669CEA3A407CB84FC9EDB63F40934EDA167EB94140A6A07FA0CAD74240ACB1DF25F59D4140E7229A114D32454062B8C92B389A3B4001030000000100000009000000CC61F7CC442A41408EB14D669CEA3A4000003E13BCBC42400000524BCAA83040A0286B97D5553140DBA80B73EC76324074ED93DA624C3540F079D88273F84140AD527C9113313D40F8FCE65C1D3345400000D67E28B23C400000BB7E69C741404498C12C4F143F40D7F03BF66BBC414000009EF8F1B63C40000060544D703A40CC61F7CC442A41408EB14D669CEA3A4001030000000100000004000000A0286B97D5553140DBA80B73EC7632400000989B27092E400000805F8C7D204010883A653E9B2F40A3C5A588149A3240A0286B97D5553140DBA80B73EC7632400103000000010000000400000010883A653E9B2F40A3C5A588149A3240000000B18080FA3F00004E07B5DE3340236174246CD7304086D43BF8AE25404010883A653E9B2F40A3C5A588149A324001030000000100000005000000236174246CD7304086D43BF8AE2540407EFD84976B0832409ECB247AC90048405677E05CA07E3740978A091723D0464074ED93DA624C3540F079D88273F84140236174246CD7304086D43BF8AE254040010300000001000000050000007EFD84976B0832409ECB247AC900484000004484E4F72F4000007F0D10734840489752CFD63E32406E3AEDA29945484000007E65540932400000F68CC80648407EFD84976B0832409ECB247AC900484001030000000100000005000000489752CFD63E32406E3AEDA2994548406B7E23F843D53640949299C14DA84D405A2E143A24963940A7DF897FE56C4B40339B8A80F6F33740C6FB304EDAD24740489752CFD63E32406E3AEDA299454840010300000001000000050000006B7E23F843D53640949299C14DA84D400000B84D9F8E2140008044D37D865440000040000923134000005214FC0259405241471C5D243E4041B0F7A86D1E53406B7E23F843D53640949299C14DA84D40010300000001000000040000005241471C5D243E4041B0F7A86D1E53400000BA2003E33E4000807846558E53401FCA3FDAFC6D3E40A45BBBB6510D53405241471C5D243E4041B0F7A86D1E5340010300000001000000070000001FCA3FDAFC6D3E40A45BBBB6510D534066B1341A007E47406A0A8B4EEE684E400BDADB51ED8B4640C894EC48CF4C4D4000007AFFBC243F400080A73653555140B098F452BF9E3D40E7FBD8B3D02748405A2E143A24963940A7DF897FE56C4B401FCA3FDAFC6D3E40A45BBBB6510D53400103000000010000000500000066B1341A007E47406A0A8B4EEE684E4069F3AF9777CE4F4020082E008E1554400080E64027CF50400000C23B3F464B400BA2D21966D74F40F68F2C9920A6464066B1341A007E47406A0A8B4EEE684E400103000000010000000400000069F3AF9777CE4F4020082E008E155440000035DA10894E400000055A659B5840056CA933577050405085DF1F7AB6544069F3AF9777CE4F4020082E008E15544001030000000100000005000000056CA933577050405085DF1F7AB6544000805F7D9FAA50400080BC0BE2FA5440E39EF861D4BB5340D1BF744D39FC5140F90DD38AFC7552406E46127D68FA4B40056CA933577050405085DF1F7AB6544001030000000100000004000000E39EF861D4BB5340D1BF744D39FC51400000FC1461B9554000807D8D023C5840A5B760ABB8D353405CCD467DE5E45140E39EF861D4BB5340D1BF744D39FC514001030000000100000006000000A5B760ABB8D353405CCD467DE5E45140008034384FD954400000A1C37CE550400000ACB5677255400000D0FB5C4B3F40AEA3A016E2575440D5DF606D37EB3E40401F32735B8F5240D180B4D4AE514B40A5B760ABB8D353405CCD467DE5E45140010300000001000000040000007CB84FC9EDB63F40934EDA167EB941404498C12C4F143F40D7F03BF66BBC41403CA5C9F3625E3F40B812CC91E94942407CB84FC9EDB63F40934EDA167EB94140010300000001000000050000007E898617B008514070629A028C1141401D86593C12075140924C581B921341403F0D5B90F16F5140B2DF559E8ED04340008040434D5453400000389235E740407E898617B008514070629A028C114140010300000001000000090000001D86593C12075140924C581B9213414083EA08F7C9065140DF8E2109AF1141402E670FCB14224C407827F29247484140140E84AF17634E40AD08B6BD93EE4440C8B0CFD80D2F4140CEA7587B780147400BDADB51ED8B4640C894EC48CF4C4D40A1105A0668B14F40F3870BBD3B4346400000E26C758B4E4000008653174643401D86593C12075140924C581B92134140010300000001000000040000002E670FCB14224C407827F29247484140000099308A594B400000870890034040AC10E978291B4840D25179236B6D41402E670FCB14224C407827F2924748414001030000000100000004000000AC10E978291B4840D25179236B6D4140A6A07FA0CAD74240ACB1DF25F59D4140A6E914BF78114140983300B78B7E4440AC10E978291B4840D25179236B6D414001030000000100000004000000A6E914BF78114140983300B78B7E44405580FB26245840407E58A7C44ECF4440741CFA0285804040FE55626F8E694540A6E914BF78114140983300B78B7E4440010300000001000000060000005580FB26245840407E58A7C44ECF44403CA5C9F3625E3F40B812CC91E9494240AE5F64195F813D40B2510C9FF6534540AD527C9113313D40F8FCE65C1D33454016CA6D4A753E3D40C488A4F2718F45405580FB26245840407E58A7C44ECF44400103000000010000000500000016CA6D4A753E3D40C488A4F2718F45405677E05CA07E3740978A091723D04640339B8A80F6F33740C6FB304EDAD2474058FABBB13E823D4011C4B1DF2763474016CA6D4A753E3D40C488A4F2718F45400103000000010000000400000058FABBB13E823D4011C4B1DF27634740B098F452BF9E3D40E7FBD8B3D027484009FA56406CAE3E40A0B960E9944B474058FABBB13E823D4011C4B1DF276347400103000000010000000500000009FA56406CAE3E40A0B960E9944B4740C8B0CFD80D2F4140CEA7587B780147407531027E40CD40408176562CAE8E4640741CFA0285804040FE55626F8E69454009FA56406CAE3E40A0B960E9944B474001030000000100000007000000A1105A0668B14F40F3870BBD3B4346400BA2D21966D74F40F68F2C9920A64640008073D4CC39514000001F6601394440F90DD38AFC7552406E46127D68FA4B40401F32735B8F5240D180B4D4AE514B403F0D5B90F16F5140B2DF559E8ED04340A1105A0668B14F40F3870BBD3B434640
+200    010200000002000000000010C16A100A4000001417645D4040E3834E33E6C841409DA6A0C9BD104740
diff --git a/regress/regress_spgist_index_2d.sql b/regress/regress_spgist_index_2d.sql
new file mode 100644 (file)
index 0000000..e5cad1e
--- /dev/null
@@ -0,0 +1,134 @@
+
+CREATE OR REPLACE FUNCTION qnodes(q text) RETURNS text
+LANGUAGE 'plpgsql' AS
+$$
+DECLARE
+  exp TEXT;
+  mat TEXT[];
+  ret TEXT;
+BEGIN
+  FOR exp IN EXECUTE 'EXPLAIN ' || q
+  LOOP
+    --RAISE NOTICE 'EXP: %', exp;
+    mat := regexp_matches(exp, ' *(?:-> *)?(.*Scan)');
+    --RAISE NOTICE 'MAT: %', mat;
+    IF mat IS NOT NULL THEN
+      ret := mat[1];
+    END IF;
+    --RAISE NOTICE 'RET: %', ret;
+  END LOOP;
+  RETURN ret;
+END;
+$$;
+
+create table tbl_geomcollection (
+       k serial,
+       g geometry
+);
+
+\copy tbl_geomcollection from 'regress_spgist_index_2d.data' ;
+
+create table test_spgist_idx_2d(
+       op char(3),
+       noidx bigint,
+       noidxscan varchar(32),
+       spgistidx bigint,
+       spgidxscan varchar(32));
+
+-------------------------------------------------------------------------------
+
+set enable_indexscan = off;
+set enable_bitmapscan = off;
+set enable_seqscan = on;
+
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '<<', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g << t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g << t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '&<', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &< t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &< t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '&&', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g && t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g && t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '&>', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &> t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &> t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '>>', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g >> t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g >> t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '~=', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~= t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~= t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '~', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~ t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~ t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '@', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g @ t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g @ t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '&<|', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &<| t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &<| t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '<<|', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g <<| t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g <<| t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '|>>', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g |>> t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g |>> t2.g;
+insert into test_spgist_idx_2d(op, noidx, noidxscan)
+select '|&>', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g |&> t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g |&> t2.g;
+
+------------------------------------------------------------------------------
+
+create index tbl_geomcollection_spgist_2d_idx on tbl_geomcollection using spgist(g);
+
+set enable_indexscan = on;
+set enable_bitmapscan = off;
+set enable_seqscan = off;
+
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g << t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g << t2.g ')
+where op = '<<';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &< t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &< t2.g ')
+where op = '&<';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g && t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g && t2.g ')
+where op = '&&';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &> t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &> t2.g ')
+where op = '&>';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g >> t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g >> t2.g ')
+where op = '>>';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~= t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~= t2.g ')
+where op = '~=';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~ t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~ t2.g ')
+where op = '~';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g @ t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g @ t2.g ')
+where op = '@';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &<| t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &<| t2.g ')
+where op = '&<|';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g <<| t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g <<| t2.g ')
+where op = '<<|';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g |>> t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g |>> t2.g ')
+where op = '|>>';
+update test_spgist_idx_2d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g |&> t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g |&> t2.g ')
+where op = '|&>';
+
+-------------------------------------------------------------------------------
+
+select * from test_spgist_idx_2d;
+
+-------------------------------------------------------------------------------
+
+DROP TABLE tbl_geomcollection CASCADE;
+DROP TABLE test_spgist_idx_2d CASCADE;
+DROP FUNCTION qnodes;
diff --git a/regress/regress_spgist_index_2d_expected b/regress/regress_spgist_index_2d_expected
new file mode 100644 (file)
index 0000000..46ccedd
--- /dev/null
@@ -0,0 +1,12 @@
+<< |3880|Seq Scan|3880|Index Scan
+&< |21321|Seq Scan|21321|Index Scan
+&& |31766|Seq Scan|31766|Index Scan
+&> |21321|Seq Scan|21321|Index Scan
+>> |3880|Seq Scan|3880|Index Scan
+~= |206|Seq Scan|206|Index Scan
+~  |7568|Seq Scan|7568|Index Scan
+@  |7568|Seq Scan|7568|Index Scan
+&<||21321|Seq Scan|21321|Index Scan
+<<||3661|Seq Scan|3661|Index Scan
+|>>|3661|Seq Scan|3661|Index Scan
+|&>|21321|Seq Scan|21321|Index Scan
diff --git a/regress/regress_spgist_index_3d.data b/regress/regress_spgist_index_3d.data
new file mode 100644 (file)
index 0000000..eef7aa7
--- /dev/null
@@ -0,0 +1,199 @@
+1      010100008000A0D8E940117D40005039685E678540000099D6375F4D40
+2      010100008000702066C08D8740004051C73D1565400070FF365C638940
+3      0104000080040000000101000080002050EAE29671400030D59FD3BB8C4000A0ACD252FD704001010000800080E1451F56784000A004EAFDBF8B4000004520486A8E400101000080004020A988CB61400000C655424C544000B0F741616A8440010100008000800B090CF4544000C07E1665DE6C4000102CDAD93F8D40
+4      01030000800100000005000000C94C2498FA758040598CE5AB4735784005925FF49627794000A0166FE3AA7D4000806241A6FE5D4000604D48A3058040BDE470AC7FDD704011C891BF08A78040C2AC060163C0884000607054CF8D724000705BBD445D824000F02EF516EE8D40C94C2498FA758040598CE5AB4735784005925FF496277940
+5      010400008004000000010100008000401078D8D267400080E0F2FA74804000302ADD11EA8140010100008000C06151020C714000604267FD128B4000A08FE50DA78B40010100008000001D3F96DE72400000F268C768724000A00E00201D7C400101000080006066CB7DDD78400000D2A45C18864000502D86F64B8E40
+6      01060000804100000001030000800100000004000000627C6EEDCE3A7240129C7160ED1F7A4052F0E86D3D1C7A400080F75B233D6B4000C06D815998714000809540718D7E40536ACE26173972405F57DC93BB3A7A40B4FF06728ACF7940627C6EEDCE3A7240129C7160ED1F7A4052F0E86D3D1C7A4001030000800100000004000000536ACE26173972405F57DC93BB3A7A40B4FF06728ACF7940F5F94A99D4257240BE11743A43677B405994B42A0D936F40676F2243AC8772409B197E591ECE7A40F46DC727C5447940536ACE26173972405F57DC93BB3A7A40B4FF06728ACF794001030000800100000005000000F5F94A99D4257240BE11743A43677B405994B42A0D936F40D80F0D214EEF64403B35A9785FB68340A5BD7044A15A7D40226ED798AA0169406B142B60A59382408B56CF9815068740FDBA6AB9E1217240446C94C5E0A47B40D8BE16BB12ED7C40F5F94A99D4257240BE11743A43677B405994B42A0D936F4001030000800100000004000000D80F0D214EEF64403B35A9785FB68340A5BD7044A15A7D4000001944154D56400050FC36FB70864000C02C1C34AC7B40FE607EAAACA75E403C44DE5313E885407859351F2AF47940D80F0D214EEF64403B35A9785FB68340A5BD7044A15A7D4001030000800100000005000000FE607EAAACA75E403C44DE5313E885407859351F2AF479400080804267425D4000C0AFE0F92D86400080E3CF01B4784041C2AC26D0637140AEA2D457579D834096F95DF572A9764051DE9C268D6A714066423C04C5688340ECA6EE83980C7340FE607EAAACA75E403C44DE5313E885407859351F2AF479400103000080010000000600000041C2AC26D0637140AEA2D457579D834096F95DF572A9764000009519B75E714000B098421DC58340000066E45B356640E0090B3970A87D40B9828243FD528840EA9D5FCEC921724090B1C2A61C147E40296DBD068B3B884000B77E0CE26B80408B0BFBA5137F7740A17F409E5A0F8240AE07B8AEE700844041C2AC26D0637140AEA2D457579D834096F95DF572A9764001030000800100000005000000E0090B3970A87D40B9828243FD528840EA9D5FCEC921724000206230B77E77400040530F8BAA894000002972899F704000C0B2B523A46A400070A53099598D4000C03FF7DCEE6E408A7CF2B247EA7D405DFD4247646B884014340113E35F7240E0090B3970A87D40B9828243FD528840EA9D5FCEC9217240010300008001000000040000008A7CF2B247EA7D405DFD4247646B884014340113E35F7240E9424B5ED0837E40BE2FB4764BA488405B7716176F3D8040B6CFBC5CCB307E40217E1DDC70568840580556B8BE8380408A7CF2B247EA7D405DFD4247646B884014340113E35F724001030000800100000007000000E9424B5ED0837E40BE2FB4764BA488405B7716176F3D804000204ED59EE580400060CCB17DB78B400080D67F2E2989408358244759878340DE6D9070CDCE8B406E63052EDDC48040711209EA44A8814027653FFAAF6B8A40F411D7604004824000C0071B107E804000E0BAC832B68A400070626B46EB89404E4CDC510DE77E400BC2AA1A13C9884014907CB05FE68040E9424B5ED0837E40BE2FB4764BA488405B7716176F3D8040010300008001000000040000008358244759878340DE6D9070CDCE8B406E63052EDDC480400000E2AA038784400030A22E508C8C400020A540E44277402CF473ABF985844081345ADE9CD78B406EC3550D52A180408358244759878340DE6D9070CDCE8B406E63052EDDC480400103000080010000000B0000002CF473ABF985844081345ADE9CD78B406EC3550D52A1804000200021371A8D400000DAB49A238C4000A0D6D8FFE5784097DABA5ADDDE8A402BB25C5B78F2864044C4023D0E9D7840D7AF90D52CC2894023E8B360DE348640B4C7B6F8AB67744000F09542125B894000A003285DCD8740000071D177DD63408436A3B4FB7789406129161275038640CABA4C5DD12174402EB4EFCA7E788440BC8A458153AF8240ED073928266080407BE67B453F7C8440335E320FCF3B854032A512FAB78F80400060F28D27718740007011F1AAF988400040B75126A98940E3581040D582844012767A5C25B589403F4E97E3BD3183402CF473ABF985844081345ADE9CD78B406EC3550D52A180400103000080010000000600000097DABA5ADDDE8A402BB25C5B78F2864044C4023D0E9D78400000607C72D18C4000502EE7853E884000E091A5CB7376400070C3C4B67E8E4000C0CECD3C3B854000406E4355DB67408E20D8AA48EB8B40B4FF70FFEC4A7B40D980E407C638824070E5BBA0570D8A4081FFC0CF0E0B8540142BDD2620D3734097DABA5ADDDE8A402BB25C5B78F2864044C4023D0E9D7840010300008001000000070000008E20D8AA48EB8B40B4FF70FFEC4A7B40D980E407C638824000F0BB8D777F8C4000A03077BAB4764000200E1FBF59834012E2986636E58B404BADB0FB47237040F1BF5761B08A84406863C64B18508A402A57CC8A5C497140E8B1F0C2AB3B83405938B8A4C73C8A40D5FC6D582FAD734028198B50339B844000E0C77841CF8A400020C38436C274400010C1BF6FAD89408E20D8AA48EB8B40B4FF70FFEC4A7B40D980E407C63882400103000080010000000400000012E2986636E58B404BADB0FB47237040F1BF5761B08A844000707E580F1E8E400040B3C1B10C6D4000402B08C26E834038F03977BFB78B40C0CF562664676C403F2B89425F50844012E2986636E58B404BADB0FB47237040F1BF5761B08A84400103000080010000000400000038F03977BFB78B40C0CF562664676C403F2B89425F50844000B0F07CB8BE8A40000004A071C94C4000000EFE8787854035853EAA706A8A4047344DD9B30D6C403651681F7F31834038F03977BFB78B40C0CF562664676C403F2B89425F5084400103000080010000000500000035853EAA706A8A4047344DD9B30D6C403651681F7F318340ADF306B7FA018740AF59435DEF226B40D408A0ED840A8840FCDF47F25D58894014B648C630FD714024EA69BD464B88406863C64B18508A402A57CC8A5C497140E8B1F0C2AB3B834035853EAA706A8A4047344DD9B30D6C403651681F7F31834001030000800100000004000000ADF306B7FA018740AF59435DEF226B40D408A0ED840A884058105FBA05268640DD179566EEE26740348F7445587A8B40075C25D54F878540549652680ABD6A407C6B7CABB9548940ADF306B7FA018740AF59435DEF226B40D408A0ED840A88400103000080010000000400000058105FBA05268640DD179566EEE26740348F7445587A8B4000100E57792D88400080C4B7A31A5D4000D0728D60278F4092F479E701A285404684002A93EF6540DC39678E0A918B4058105FBA05268640DD179566EEE26740348F7445587A8B400103000080010000000400000092F479E701A285404684002A93EF6540DC39678E0A918B40DC8958895463844086E7A886273A6140A421FBC31A3187401427EE2A6166844093F0539761836940A2DFB4FBD09A874092F479E701A285404684002A93EF6540DC39678E0A918B4001030000800100000004000000DC8958895463844086E7A886273A6140A421FBC31A3187400090FE1A52618440000048F68E8857400030AD972E8A8440B8CF46FDC0D082400881F220C28E56403BF73630F7EE8640DC8958895463844086E7A886273A6140A421FBC31A31874001030000800100000004000000B8CF46FDC0D082400881F220C28E56403BF73630F7EE86402C84E4773ECF81403443FBBF50E54D40DEC234A847128240854670899F3282400DAD6739252C56404A887684689A7C40B8CF46FDC0D082400881F220C28E56403BF73630F7EE8640010300008001000000040000002C84E4773ECF81403443FBBF50E54D40DEC234A847128240008043AA86C281400000B40CF10B4C40002030438C1B7340C9614A8F5BBE81409819C3D8D1E54C40F16B6FE8A70E82402C84E4773ECF81403443FBBF50E54D40DEC234A84712824001030000800100000005000000C9614A8F5BBE81409819C3D8D1E54C40F16B6FE8A70E82400000457EF28081400000BD65A94449400050FADF5B9B8A409B9D1D79B5768140E8B4617CF5B65540277705582F5686406543D1B92C77814092FB95DA3FB75540BEF29CDF5B8D7B40C9614A8F5BBE81409819C3D8D1E54C40F16B6FE8A70E8240010300008001000000050000009B9D1D79B5768140E8B4617CF5B65540277705582F56864010A2546A12F180409A6E48E79E6355401D595FC3FCAD7940EBF74842DDAC8040DCBFFE35472F654074F32383EE9F704007FC4497A5768140B107208E0BC55540FEC5A70B03B681409B9D1D79B5768140E8B4617CF5B65540277705582F5686400103000080010000000400000010A2546A12F180409A6E48E79E6355401D595FC3FCAD79400060B47EC33481400000702CF4290240004090C2F5226B407F207C1288717F40CE95B885DCA05440F80FFF231E7C7A4010A2546A12F180409A6E48E79E6355401D595FC3FCAD7940010300008001000000050000007F207C1288717F40CE95B885DCA05440F80FFF231E7C7A400000AD91E9A173400080196912F250400040F023989179403245997D762673402722122B9D856740EBD91C5D36158340F4020A6297367B408FFCAC20549B684058067201693F83407F207C1288717F40CE95B885DCA05440F80FFF231E7C7A40010300008001000000040000003245997D762673402722122B9D856740EBD91C5D3615834000006EDCB6FA5A400040B25955DA654000401D0A3A2F8D40FC55F0F3F6127340DDE5B8AB1BE6694052B0C23EDA7083403245997D762673402722122B9D856740EBD91C5D3615834001030000800100000006000000FC55F0F3F6127340DDE5B8AB1BE6694052B0C23EDA708340627C6EEDCE3A7240129C7160ED1F7A4052F0E86D3D1C7A40E33DE79609917240147ACF0676BF7A40AAD1FEF8E2907940FD65EB4E7DE07340EF2FCE6768B27840315ADE8C396F7A40EB6D0F0DE5247A4022396E2A0F386C40AC0D7A68C18D8440FC55F0F3F6127340DDE5B8AB1BE6694052B0C23EDA7083400103000080010000000500000070E5BBA0570D8A4081FFC0CF0E0B8540142BDD2620D373409170C96AC998894094800820EAFB83408A714733126573408436A3B4FB7789406129161275038640CABA4C5DD1217440D7AF90D52CC2894023E8B360DE348640B4C7B6F8AB67744070E5BBA0570D8A4081FFC0CF0E0B8540142BDD2620D3734001030000800100000004000000487A1EC9B96F84407B38C6B372747940607385F077E9824000307101AA3185400000D51D5EB9784000B035208A6585408DDD6780946F84400ABE5AABCA417940A8DBF1B08F508340487A1EC9B96F84407B38C6B372747940607385F077E98240010300008001000000060000008DDD6780946F84400ABE5AABCA417940A8DBF1B08F5083404E745FD92569844035E1CF738C84704034D0ADE0332386402B93F57FE8308440EF164FC817727040980A2007D3178A40F7B22138C473814009BEB631CFBE7640D64D5B9C171C8540526CB93176D88340C0FC56C003AC7940F248A2A7698B87408DDD6780946F84400ABE5AABCA417940A8DBF1B08F508340010300008001000000050000004E745FD92569844035E1CF738C84704034D0ADE0332386403A9CB77650918440A8291ED2BA91704016AB54354CE98140DB21EADFDE6C84400D2FD7E057D06F4096F9FA8C8A878240B04A15C5B96884406924FC3B69E36F40807A7E9F3CCC86404E745FD92569844035E1CF738C84704034D0ADE03323864001030000800100000005000000DB21EADFDE6C84400D2FD7E057D06F4096F9FA8C8A878240075C25D54F878540549652680ABD6A407C6B7CABB954894049CEDA04B86684406A6F7456626F6A40C4D437D3A01E8540AFA66D45A46884404F343F07FEA86F407CE1436D160A7D40DB21EADFDE6C84400D2FD7E057D06F4096F9FA8C8A8782400103000080010000000400000049CEDA04B86684406A6F7456626F6A40C4D437D3A01E85401427EE2A6166844093F0539761836940A2DFB4FBD09A87404A9E5A62F91B8440536EA176455B6A40FDEDB399DD58894049CEDA04B86684406A6F7456626F6A40C4D437D3A01E8540010300008001000000040000004A9E5A62F91B8440536EA176455B6A40FDEDB399DD58894085CAFC7FABD48340ED9D579615486A40BE84E41307A280401B18A8D430E783409CF976A76CF46A40B2166E0655C482404A9E5A62F91B8440536EA176455B6A40FDEDB399DD5889400103000080010000000600000085CAFC7FABD48340ED9D579615486A40BE84E41307A28040854670899F3282400DAD6739252C56404A887684689A7C406543D1B92C77814092FB95DA3FB75540BEF29CDF5B8D7B4007FC4497A5768140B107208E0BC55540FEC5A70B03B68140F447663D71558140A7D5C2A4139C6940B2AF8D8AFDA4884085CAFC7FABD48340ED9D579615486A40BE84E41307A2804001030000800100000005000000F447663D71558140A7D5C2A4139C6940B2AF8D8AFDA4884091FCD0A46E918040E2F22541556769402B7F185DEBA38040ADF9388BC07080409E285EEA026E6E40E97B8E57D1E08140EEB7A73052498140337006A726FC6E40225C6CD104868940F447663D71558140A7D5C2A4139C6940B2AF8D8AFDA488400103000080010000000400000091FCD0A46E918040E2F22541556769402B7F185DEBA38040EBF74842DDAC8040DCBFFE35472F654074F32383EE9F70401C484847535B80404C2C8D09C65869402BD7C9286D0B804091FCD0A46E918040E2F22541556769402B7F185DEBA38040010300008001000000050000001C484847535B80404C2C8D09C65869402BD7C9286D0B8040F4020A6297367B408FFCAC20549B684058067201693F8340EB6D0F0DE5247A4022396E2A0F386C40AC0D7A68C18D844062E475C610FB7F404DB500DA63226E40DBEE573941D480401C484847535B80404C2C8D09C65869402BD7C9286D0B80400103000080010000000500000062E475C610FB7F404DB500DA63226E40DBEE573941D480401A905A6B3A767E4043B3ACB175077440509A31B978A87240E8FAA105B32380402D22B293DD2375408A2477A426747940ADF9388BC07080409E285EEA026E6E40E97B8E57D1E0814062E475C610FB7F404DB500DA63226E40DBEE573941D48040010300008001000000090000001A905A6B3A767E4043B3ACB175077440509A31B978A8724000602A62A3FE784000A0B5A4BFAF70400080A420CE5B6340FD65EB4E7DE07340EF2FCE6768B27840315ADE8C396F7A40C89B4925CD9C72402B5603C039D57A40A2A8273E1B4583400A7023843B7375407FF280679A0A80400C3532F8CEEC8440A618402B64287640AE4CC87289D57F4013574E41EE5F84402C07938ECD3F7D40C0C7829845A27B40768D91A8ECBD72400000854B03727C40006052B4D89D7A400040A31E96E862401A905A6B3A767E4043B3ACB175077440509A31B978A8724001030000800100000005000000C89B4925CD9C72402B5603C039D57A40A2A8273E1B458340E33DE79609917240147ACF0676BF7A40AAD1FEF8E2907940676F2243AC8772409B197E591ECE7A40F46DC727C54479402DCD05CCAD937240EB03CEEFA2E47A40E4C6428FBB208340C89B4925CD9C72402B5603C039D57A40A2A8273E1B458340010300008001000000050000002DCD05CCAD937240EB03CEEFA2E47A40E4C6428FBB208340FDBA6AB9E1217240446C94C5E0A47B40D8BE16BB12ED7C40105EA20FCFC37140B9CA8BA063B080400563D2E3093D7D400C5F64B0545C75404D08ECAAA00E8040BBBF49A6EAAB84402DCD05CCAD937240EB03CEEFA2E47A40E4C6428FBB20834001030000800100000006000000105EA20FCFC37140B9CA8BA063B080400563D2E3093D7D400080227F350C6E40006079C5B22B814000C01742D2898640226ED798AA0169406B142B60A59382408B56CF98150687400000BAA87247684000D096D84AE282400050F45294258A40FB99932BC4B1714037DA56E3273D814081EEBB9D36807C40105EA20FCFC37140B9CA8BA063B080400563D2E3093D7D4001030000800100000007000000FB99932BC4B1714037DA56E3273D814081EEBB9D36807C4051DE9C268D6A714066423C04C5688340ECA6EE83980C7340553A7F6054D572400F9480BCDF0B83402725798BFF947A4000C013888E5D73400000040806EA814000602F961B497540F4BB7CE816877640B5AEBD04CC2681405E6A7233C3C27F400461BCD33E707540222106974D21804004A20C520B158340FB99932BC4B1714037DA56E3273D814081EEBB9D36807C4001030000800100000005000000F4BB7CE816877640B5AEBD04CC2681405E6A7233C3C27F408B0BFBA5137F7740A17F409E5A0F8240AE07B8AEE700844048028EE7579A774007BE738869088240886AE60E205A8440A726850DF79F764051367347CC208140BC51824F02328040F4BB7CE816877640B5AEBD04CC2681405E6A7233C3C27F400103000080010000000A00000048028EE7579A774007BE738869088240886AE60E205A84408F41E49103437E40CB6BD07B5431884066EE78659EFA80403E3FB13D6BD27F40E888C3BE5BDA8740389099DFA1A27340E6613D09F35C7E4089B0A05E52498840C823C4A4D31081404E4CDC510DE77E400BC2AA1A13C9884014907CB05FE68040711209EA44A8814027653FFAAF6B8A40F411D76040048240E3581040D582844012767A5C25B589403F4E97E3BD3183407BE67B453F7C8440335E320FCF3B854032A512FAB78F8040FB3831D3B230804076DF5172AE987F40B11C535CE89C804048028EE7579A774007BE738869088240886AE60E205A8440010300008001000000050000008F41E49103437E40CB6BD07B5431884066EE78659EFA804090B1C2A61C147E40296DBD068B3B884000B77E0CE26B8040B6CFBC5CCB307E40217E1DDC70568840580556B8BE838040E6613D09F35C7E4089B0A05E52498840C823C4A4D31081408F41E49103437E40CB6BD07B5431884066EE78659EFA804001030000800100000005000000FB3831D3B230804076DF5172AE987F40B11C535CE89C8040735E86F07D0481405BDCB06F00C17E4073BE92A245CD86406FA9B437AC0D81406DE8F94AE0B77C405685A41EC9608340A46F08DBCB357F405905C6218A1D7E40CB655DC89D0A7840FB3831D3B230804076DF5172AE987F40B11C535CE89C804001030000800100000005000000735E86F07D0481405BDCB06F00C17E4073BE92A245CD8640597DB9639BFB80402EE37C06AB5C8040DCE2DC86A06384402EB4EFCA7E788440BC8A458153AF8240ED07392826608040C78ECB390F718440E2827E7D59447B4018A6B3890E688640735E86F07D0481405BDCB06F00C17E4073BE92A245CD864001030000800100000004000000C78ECB390F718440E2827E7D59447B4018A6B3890E6886400070C9ADFFD3844000008F4598DF7A4000705792715A8C40B9E05B726B708440E4E1D14DD4657A40FA073E8FFB1C8640C78ECB390F718440E2827E7D59447B4018A6B3890E68864001030000800100000004000000B9E05B726B708440E4E1D14DD4657A40FA073E8FFB1C8640487A1EC9B96F84407B38C6B372747940607385F077E982402EC608D6C30184406888613A85DE7940A1FCDEF358298740B9E05B726B708440E4E1D14DD4657A40FA073E8FFB1C8640010300008001000000070000003A9CB77650918440A8291ED2BA91704016AB54354CE981409170C96AC998894094800820EAFB83408A714733126573405938B8A4C73C8A40D5FC6D582FAD734028198B50339B8440FCDF47F25D58894014B648C630FD714024EA69BD464B884048FC40B5CC1386403DCFC74B775C74403C49EB6EB80B89400040C6B88A37854000402A8847C8704000C052B6386A89403A9CB77650918440A8291ED2BA91704016AB54354CE9814001030000800100000006000000B04A15C5B96884406924FC3B69E36F40807A7E9F3CCC8640AFA66D45A46884404F343F07FEA86F407CE1436D160A7D401B18A8D430E783409CF976A76CF46A40B2166E0655C48240C845E045A2498240E658522060A46F4096044915BD078A402B93F57FE8308440EF164FC817727040980A2007D3178A40B04A15C5B96884406924FC3B69E36F40807A7E9F3CCC864001030000800100000004000000228FD582BEDD8140D7113896905D6F40EA589DDCEAAE8840ACE728189D0E8240C1675498A37D6F401D25570B2839884000B043AC899D82400080E59C04026E4000E00E2999688540228FD582BEDD8140D7113896905D6F40EA589DDCEAAE884001030000800100000004000000228FD582BEDD8140D7113896905D6F40EA589DDCEAAE8840EEB7A73052498140337006A726FC6E40225C6CD10486894010CC08A00A468140D6C2C14D3B387040B83C5C9403B28840228FD582BEDD8140D7113896905D6F40EA589DDCEAAE88400103000080010000000600000071910A1B3D39814092A4882EF40E73402ADABE6587E48740394704AB17D18140E53B37C61081704047D719FDE99D8940C845E045A2498240E658522060A46F4096044915BD078A40ACE728189D0E8240C1675498A37D6F401D25570B2839884024E1D6336D43814041F6618BA9CC7040CF55D1F5F5B8874071910A1B3D39814092A4882EF40E73402ADABE6587E48740010300008001000000050000006FA9B437AC0D81406DE8F94AE0B77C405685A41EC96083402EC608D6C30184406888613A85DE7940A1FCDEF358298740526CB93176D88340C0FC56C003AC7940F248A2A7698B87401966DE1A9F1281406BDD6C56F89E7B403E3EAE07549985406FA9B437AC0D81406DE8F94AE0B77C405685A41EC9608340010300008001000000050000000A7023843B7375407FF280679A0A80400C3532F8CEEC84400C5F64B0545C75404D08ECAAA00E8040BBBF49A6EAAB84400461BCD33E707540222106974D21804004A20C520B158340270A03A31885754091196CCD201B804026160CD87E4E83400A7023843B7375407FF280679A0A80400C3532F8CEEC844001030000800100000006000000A726850DF79F764051367347CC208140BC51824F02328040A46F08DBCB357F405905C6218A1D7E40CB655DC89D0A7840919640C4344E7E40B6A360E576F87C404386927A5EBD7C40A618402B64287640AE4CC87289D57F4013574E41EE5F8440270A03A31885754091196CCD201B804026160CD87E4E8340A726850DF79F764051367347CC208140BC51824F0232804001030000800100000004000000E126EBE2779B80402EF5F9C251B67540A51578761EED8340E8FAA105B32380402D22B293DD2375408A2477A4267479402C2A48DB49F17F405BE0803B7273784071212B40D7928040E126EBE2779B80402EF5F9C251B67540A51578761EED8340010300008001000000040000002C2A48DB49F17F405BE0803B7273784071212B40D79280406F5D8C18DEEC7E403803433E23A47A408197E15C4393804009D4CA105AC57F40286A6C18EA237A40944711A6EE5B76402C2A48DB49F17F405BE0803B7273784071212B40D7928040010300008001000000070000006F5D8C18DEEC7E403803433E23A47A408197E15C439380402C07938ECD3F7D40C0C7829845A27B40768D91A8ECBD7240919640C4344E7E40B6A360E576F87C404386927A5EBD7C401966DE1A9F1281406BDD6C56F89E7B403E3EAE0754998540C90850C06F2581401B677375FA727740F6019F3BA6AF8640EC17B3A02D3F7E401729F91F181A7C40338844F639B584406F5D8C18DEEC7E403803433E23A47A408197E15C4393804001030000800100000004000000C90850C06F2581401B677375FA727740F6019F3BA6AF8640F7B22138C473814009BEB631CFBE7640D64D5B9C171C8540BB4AEA0B322A8140D35E05B8D8647640C814A15355488440C90850C06F2581401B677375FA727740F6019F3BA6AF864001030000800100000004000000BB4AEA0B322A8140D35E05B8D8647640C814A1535548844071910A1B3D39814092A4882EF40E73402ADABE6587E48740E126EBE2779B80402EF5F9C251B67540A51578761EED8340BB4AEA0B322A8140D35E05B8D8647640C814A15355488440
+7      010100008000C0D62EE4FB62400040064AD65A864000E03BF022887940
+8      01040000800A0000000101000080000040B013D338400000ADB8A93E65400020D512FD527040010100008000C086E462A47940000080BCAAB0364000C0747FFAB9874001010000800010FC9152678B400070947FC185804000E0BDEDEF4175400101000080007054F70CEC81400080AF83D74D8E400020AC1864EE7C4001010000800000BC0215924040005091E4012D844000D081EAF72B81400101000080004047AF7C528B4000501E201A5B80400080CBEB4D815F4001010000800070581D389089400050CB40A5D3894000108A3CE6A4824001010000800020C33C63518A4000C03425E885794000E03163B1168F400101000080008092ED28DD57400020F0F4543C764000800AACDF15854001010000800000AD24FB4F414000C0FE2C28998B400000C252F7218E40
+26     01050000800A0000000102000080020000000000E9CE94FB5A400040E987299F73400060EC0184278540EAC58093F8D17340F81AE1C1DF395B40EF5D76839A0673400102000080030000000000ECF8A1F26C4000506C3A8E258F4000E0D553EE04864000704D859D5081400080C3BC11088E4000E0DB0D6F9D7E408A4501DFD90081407FE103A5A716894087232636DA3F79400102000080020000008A4501DFD90081407FE103A5A716894087232636DA3F794041805B939B738040FD349DE9E8558040E2DD9F7F2B4A834001020000800200000041805B939B738040FD349DE9E8558040E2DD9F7F2B4A834073C0EA78E2617F401E4AA32D9E166140304A2B2476357D400102000080030000000030C42A01C7864000F0F936F54A8440000010BAA4DB5940002083275A8F8140004010317D707840000092C13784894041805B939B738040FD349DE9E8558040E2DD9F7F2B4A834001020000800200000041805B939B738040FD349DE9E8558040E2DD9F7F2B4A8340FE4A6FE1FDBE7C40A2F6B2C7DE0D8840D25335FB3A238440010200008002000000FE4A6FE1FDBE7C40A2F6B2C7DE0D8840D25335FB3A23844000A0FB9B6B2C7C40001045F4021E894000506B4C5FD7864001020000800200000000109050AFB28140002002154594884000001BBA0B3F71408A4501DFD90081407FE103A5A716894087232636DA3F79400102000080030000008A4501DFD90081407FE103A5A716894087232636DA3F794000E0240EEA27744000305782832A8E4000101833C9918840FE4A6FE1FDBE7C40A2F6B2C7DE0D8840D25335FB3A238440010200008002000000FE4A6FE1FDBE7C40A2F6B2C7DE0D8840D25335FB3A238440FDE7A668CFB88040C8C2093433B68440A44F937694617A40
+27     0102000080030000000000C01BD8A54A400000FBBAEC7B6A400060BD20639280400000D2D168C149400020F69B4A92704000C09EA59CA06A40D4CC06AD23717540D2A1E71DBE458640EC1C16AB21567F40
+28     01030000800100000005000000D856411A8130814082BCBBF60E687B409A4EFD46D62F7D4000E007A1F67B80400020DCE69899784000200C948C787B406825BF24132B804058E195C774C97A406690A0B267087C4000902E70D775804000C0523559847A400020EF71E90B7C40D856411A8130814082BCBBF60E687B409A4EFD46D62F7D40
+29     010100008000601F28C88F784000600315B8FC864000601AD62DE47E40
+30     0105000080040000000102000080020000000040A311D25069400000F1D26DE05B4000403509C8427B40FE19055C0C7F6E40FB98A3C06C416A401D3AA5AD00D3834001020000800200000000800448CFAF8D4000804D80D4F1624000E0BFD95EC27E4000F08EE73FBB84400040B8518A2F85400000E41AE5CE61400102000080020000000030EC712208804000C03B2F779F87400060A6BC9ED87440D8F1AB1829FF7F400ED2F87E9E6987403694FA06598C7F4001020000800200000000002D82179E5040000099F77331874000A0B8FFFE4F8B4000607062E51B824000A0264ED6117F400080297939D16940
+31     010400008002000000010100008000E062D2260C7B4000C0707D283F7240006003F6EB2489400101000080006093D770CF874000E06589577B834000603AEE07458B40
+9      01060000801C000000010300008001000000040000009F3720EFEEEA87405963D2F172E96040DA65187D21DE7C4000205DA435C488400000A7520833484000002AF825F882402964DAFE707B8740F42F25B0D3B35E4008828BC2BB087C409F3720EFEEEA87405963D2F172E96040DA65187D21DE7C40010300008001000000040000002964DAFE707B8740F42F25B0D3B35E4008828BC2BB087C400050F431B15D84400000F7F998BC40400000CB64398C4640B87B55BB9C19844020BEA4B568EC734080EA6BADAEDA71402964DAFE707B8740F42F25B0D3B35E4008828BC2BB087C4001030000800100000004000000B87B55BB9C19844020BEA4B568EC734080EA6BADAEDA71402579A8092B17844076E5B78D42F5734073867F4C9E477840E185AB464C1984400C9E8D5A7B017440A99D454BFACB6140B87B55BB9C19844020BEA4B568EC734080EA6BADAEDA7140010300008001000000080000002579A8092B17844076E5B78D42F5734073867F4C9E47784000D0210D96C080400000A8C23AAA294000C03DF75F9F7440C24E09F3E37B79405D884F36CA636E4092FCC220A57576402F54775E367780405CA5E4058FCE7240E77A1BA2C23D834000501C61792A8040000041B968D64F400020BF78D9FC8C4081FC51FD46A68140761418AA87F473402F797666F55383401EC2A7F44E938340D8595B6FC4D275407EE2594100D17D402579A8092B17844076E5B78D42F5734073867F4C9E47784001030000800200000009000000C24E09F3E37B79405D884F36CA636E4092FCC220A57576400080EBF0BBA95040008008E62C6C53400000064377786F400000E0447244234000201BF3CBF08A400030489B4C148A4046FDFD350C1E60403C5C6971368A8840112FE8C9B588824000805CD181405A40004042E9F79288400000DDF505787A40AF6CDF7E1D4B60407E05680E33278740925F54E2D76B81400080DF01A9D85A4000A0374414E9864000B065F19A1187403A7C9DB4E73C62406970317DE147864078B20ED423388140C24E09F3E37B79405D884F36CA636E4092FCC220A575764005000000390BAE810E546F40F1A0D284A3E77D40AFC377809B8C7A4000C0BDDCF71D684000E084D823697F4000806AC38CBC754000006E221D9C494000205A353A2377400020434DD7D486400040795B9F3F6C4000E0B3DE405F71400080902D04377040390BAE810E546F40F1A0D284A3E77D40AFC377809B8C7A400103000080010000000400000046FDFD350C1E60403C5C6971368A8840112FE8C9B58882404E325C66BDB86E4002A9AB58775F88407035DA3F09A27A4088EA8CEC84D36540473195F8F19E8740888DDDC9BF5B854046FDFD350C1E60403C5C6971368A8840112FE8C9B5888240010300008001000000040000004E325C66BDB86E4002A9AB58775F88407035DA3F09A27A4000E0BA53B15B7B4000603A3FC7668A4000C0C6E07D1B6240165086A01A657E40A21A85F874078840E5A1B7DFED516C404E325C66BDB86E4002A9AB58775F88407035DA3F09A27A4001030000800100000004000000165086A01A657E40A21A85F874078840E5A1B7DFED516C409987BF2181AD81405F1346FC6AEA874089B13D43A1F771402FF78E84F23F81402ACE53A391D284408C20F1E534B77440165086A01A657E40A21A85F874078840E5A1B7DFED516C40010300008001000000040000009987BF2181AD81405F1346FC6AEA874089B13D43A1F7714000D07ECD4DB4814000F09115901B88400080C3C247B9754070423E4AFCC381401DD438C763E98740986AA70FD9E671409987BF2181AD81405F1346FC6AEA874089B13D43A1F771400103000080010000000500000070423E4AFCC381401DD438C763E98740986AA70FD9E671400080A7B171D58840008069BEA29687400000EA7F674C5F400955C573EEFF8540908DADCAFBE97E4062583E94F36C7440768EBBDA33BB8340918C07435A9F8140224A63184D31804070423E4AFCC381401DD438C763E98740986AA70FD9E67140010300008001000000080000000955C573EEFF8540908DADCAFBE97E4062583E94F36C7440205CAEC68DB48740D402A87F63A87B40A8C5C7863621754019FB0DE0E82C88407F4EA44AEA0074405A117A21F24B774042EE87D530A48640D20CB84619CC7840AB2E96A347237C400060B6D4B4C78640006026768CEE784000C04170C1FA7C40C84637FB897886407EA094E580547940A06EE445D12A7C40EEEDBBD82B8985408CAD543A7D407C406B6CF99CE01573400955C573EEFF8540908DADCAFBE97E4062583E94F36C74400103000080010000000600000019FB0DE0E82C88407F4EA44AEA0074405A117A21F24B7740000040D0216E8A4000C0F42C60EA6940003011C8359181409F3720EFEEEA87405963D2F172E96040DA65187D21DE7C4091F7E4C21A3B8640D4D27EB1FC3F7340FE8280CBEAB4784000200E5DBDA8884000C02E79C2416840000077EE39BB654019FB0DE0E82C88407F4EA44AEA0074405A117A21F24B7740010300008001000000060000004A12E8B59743824084A5193581927A408AEA4E243617844081FC51FD46A68140761418AA87F473402F797666F55383402F54775E367780405CA5E4058FCE7240E77A1BA2C23D83405728CE139CBA8040C2F0BD5347D47F401F3325FF98D57C40DD9F6776A5D880401E248746DAB47F40F3AE43124D4174404A12E8B59743824084A5193581927A408AEA4E2436178440010300008001000000080000005728CE139CBA8040C2F0BD5347D47F401F3325FF98D57C403A7C9DB4E73C62406970317DE147864078B20ED423388140AF6CDF7E1D4B60407E05680E33278740925F54E2D76B814088EA8CEC84D36540473195F8F19E8740888DDDC9BF5B8540518947D7FCA38040A8205CA2556B80408E09D5700338804035E53618819E804062B524BCB34380408A8B5DF80DB97D40F8A0ED1311BC80406A58F1A72C0E804023998B96C02183405728CE139CBA8040C2F0BD5347D47F401F3325FF98D57C4001030000800100000004000000518947D7FCA38040A8205CA2556B80408E09D5700338804030E6F3DD54CB8040066C5984B3878140EC9E5933F37B82404E06A27D20BF8040E4EB5FE8DB598040F4837DF6B5698440518947D7FCA38040A8205CA2556B80408E09D570033880400103000080010000000400000030E6F3DD54CB8040066C5984B3878140EC9E5933F37B82403DDEE04656E08040D6FAA8D1348F8340AB48845C25F08540342CA697350D8140E9FCE131D9638340F4AF975786A3814030E6F3DD54CB8040066C5984B3878140EC9E5933F37B824001030000800100000006000000342CA697350D8140E9FCE131D9638340F4AF975786A381402FF78E84F23F81402ACE53A391D284408C20F1E534B77440DB161E6C0E9E82405C6DB73B8DAF8240005428B858317F4000502EC709C881400050A130DA7B834000D0C5A46C6E8740A3FEF796544082403A8497AF173B8240720FD88754E78540342CA697350D8140E9FCE131D9638340F4AF975786A3814001030000800100000004000000DB161E6C0E9E82405C6DB73B8DAF8240005428B858317F40768EBBDA33BB8340918C07435A9F8140224A63184D3180404EC2C2F61225844081348A2C9E4C8040A5B6C89F89CD7840DB161E6C0E9E82405C6DB73B8DAF8240005428B858317F40010300008001000000050000004EC2C2F61225844081348A2C9E4C8040A5B6C89F89CD7840EEEDBBD82B8985408CAD543A7D407C406B6CF99CE015734003A8B7C7964A85405E7FACCE5DD97A40164449CD79F97540B171404317FB8440B987F847BF3F7B40D46063B5700A7E404EC2C2F61225844081348A2C9E4C8040A5B6C89F89CD78400103000080010000000600000003A8B7C7964A85405E7FACCE5DD97A40164449CD79F97540C84637FB897886407EA094E580547940A06EE445D12A7C4042EE87D530A48640D20CB84619CC7840AB2E96A347237C40129AE7E3388885400A7C9A9FA6B8774004A28E24C3587D40DDDEF69C1C298540C8D7A3B042197A407D70B32E87A6754003A8B7C7964A85405E7FACCE5DD97A40164449CD79F9754001030000800100000004000000129AE7E3388885400A7C9A9FA6B8774004A28E24C3587D4091F7E4C21A3B8640D4D27EB1FC3F7340FE8280CBEAB47840BD8F913F59E9844042C2975C8B1E7740AE79010086497840129AE7E3388885400A7C9A9FA6B8774004A28E24C3587D4001030000800100000004000000BD8F913F59E9844042C2975C8B1E7740AE790100864978406BCA557A21968440A8E947D3D2CD76406A8967A2311075404A9139F795BB8440F115C17BC1A47740FFD8416BA1CA7140BD8F913F59E9844042C2975C8B1E7740AE79010086497840010300008001000000040000006BCA557A21968440A8E947D3D2CD76406A8967A231107540E185AB464C1984400C9E8D5A7B017440A99D454BFACB6140F79D37038C108440B9E0667A3F4C7640C34021C3EFAB6D406BCA557A21968440A8E947D3D2CD76406A8967A23110754001030000800100000007000000F79D37038C108440B9E0667A3F4C7640C34021C3EFAB6D401EC2A7F44E938340D8595B6FC4D275407EE2594100D17D404A12E8B59743824084A5193581927A408AEA4E2436178440582CC393B39282404F8D4DC059E67D406DFFC7048CD47A40C464A4B617B48340875356E992B77C4044EC2A96073F7040E0C9D4D4E8FD834038634B69E82D7B40F78B59E43B326D40F79D37038C108440B9E0667A3F4C7640C34021C3EFAB6D4001030000800100000009000000DDDEF69C1C298540C8D7A3B042197A407D70B32E87A675404A9139F795BB8440F115C17BC1A47740FFD8416BA1CA7140A079E182428F8440626B6DDAC02678400300AA8DFAB87540E0C9D4D4E8FD834038634B69E82D7B40F78B59E43B326D400090B5891DF9834000007DC85B6F7C400000B5D4537E4240C464A4B617B48340875356E992B77C4044EC2A96073F7040043AD73EE5A88340613D9ECF49F37C404540CF81FF077F40B171404317FB8440B987F847BF3F7B40D46063B5700A7E40DDDEF69C1C298540C8D7A3B042197A407D70B32E87A6754001030000800100000004000000043AD73EE5A88340613D9ECF49F37C404540CF81FF077F40578017EF419C82405A76A22C404D7E401C7D5414A1318440BD140FD0BFDF8240AE923A60009280400EEE7D9EDED58440043AD73EE5A88340613D9ECF49F37C404540CF81FF077F4001030000800100000006000000DD9F6776A5D880401E248746DAB47F40F3AE43124D417440F8A0ED1311BC80406A58F1A72C0E804023998B96C02183404E06A27D20BF8040E4EB5FE8DB598040F4837DF6B5698440578017EF419C82405A76A22C404D7E401C7D5414A1318440582CC393B39282404F8D4DC059E67D406DFFC7048CD47A40DD9F6776A5D880401E248746DAB47F40F3AE43124D41744001030000800100000004000000BD140FD0BFDF8240AE923A60009280400EEE7D9EDED58440A3FEF796544082403A8497AF173B8240720FD88754E785400AD2ADD56E0A834089AEF494CF778140A0712D3D62D38640BD140FD0BFDF8240AE923A60009280400EEE7D9EDED58440
+10     01040000800700000001010000800060E8677DD388400080097F4A415E4000205631A7247140010100008000C00672EAE96C400040BFAD84998540002031BE05117440010100008000009C812F8C8D400020DA94B0CB83400000DC9B584E5F4001010000800000BCA2137A884000C0B72E79C48E4000505A2ED6248840010100008000409E849C2B6C4000C02D82442D8D400000328C8AC86A40010100008000A0A9C4C2AB724000704708F6228E400020D053A2367840010100008000609C614F3385400040D54F201974400060330B1AD58740
+11     0102000080060000000000B8621A567C4000A09ABA101A81400000FB713CFE40400060A8B98432754000C03F3D0BE98340004002A102E36B40008028620FAD514000D098D0CFFC834000401534D810654000F0026F233C87400000A06E354C424000703A6C77CA87400090F8D35CB0844000D0763C6F3384400040AD2DFDC2624000403612F7896D400070A5792A29844000C041E67A527A40
+12     01050000800300000001020000800500000000806515FD44554000009DF8EE8D5F4000C00810FF4878400020764E4ED1724000202E00E1ED7740002082CF7F19804000F0947E5BBD8240004023914CCE81400080D0A63F4A594000C0D04D409A6E400020430E113387400090C46BD5388340008097487D8C5C4000C06E62791B6C4000802FF17C66654001020000800200000000B0A0943431844000807FF4119365400080EA768D0F8040CCF2F0BC0E1887408EA335306AD5724004E7881BF0507A400102000080030000000000916461296D400080695B767E5F400040D3342C2F86400060B30120958540004018A68C38844000E063268FC47940254FD27395C086407AFABA5C5965854084D803F0485E7640
+13     01010000800060F3D78615814000F0DF40B5A882400040A4F3A5837640
+14     01020000800400000000703A9C09088A4000C0E7559DF7644000003586AFE75A4000903A824A9E8D4000C08DA8744E61400090C686545086400080A6FE843B6440004068A2063D6A4000B0F2EC42108740443F03749C1A78402EEA580D4DFA7E4036138F892C6A8240
+15     010200008002000000008064201346744000F0C8EC4F3184400090354ADE1782400090DD1FEA23884000000903FDA76A4000805F7723AC7240
+16     0105000080560000000102000080020000000060AEE98FFC71400000342D1C3B44400060A0216DDB7B4059C7E89EF7797040190B69D91E2E66405F1EB90A12256D4001020000800200000059C7E89EF7797040190B69D91E2E66405F1EB90A12256D40CB9F800EB75B7040E932CF522185674073A97D1DDE0F7840010200008002000000CB9F800EB75B7040E932CF522185674073A97D1DDE0F784083B3020693D76F406CC9AA9BB475664052DD83664C8E6B4001020000800200000083B3020693D76F406CC9AA9BB475664052DD83664C8E6B400040586CBD7463400000D3E44DC44D400000E205D70C584001020000800200000000C07EC0FAD373400040BAA9207E644000809025A734564059C7E89EF7797040190B69D91E2E66405F1EB90A12256D4001020000800200000059C7E89EF7797040190B69D91E2E66405F1EB90A12256D4083B3020693D76F406CC9AA9BB475664052DD83664C8E6B40010200008003000000CB9F800EB75B7040E932CF522185674073A97D1DDE0F784000C0B28A7ABF68400050C4537D2C81400060F4B298B77B406315B996E3897C40B8288722D0978340B8DA23D22C6581400102000080030000006315B996E3897C40B8288722D0978340B8DA23D22C65814000A08FFB7C827B4000408893F8477940000011F6CF2C8640CB9F800EB75B7040E932CF522185674073A97D1DDE0F78400102000080020000004FD57C8CBFA28540F5E473F8B37B804025A40306FEA781408C160473349B85405EBEB5EA7DF2744022447A6586777F400102000080020000004FD57C8CBFA28540F5E473F8B37B804025A40306FEA78140ECAF472549708340B6D64499401E7840BEE72159A0B181400102000080020000000000504BCD84524000F0716A676B854000C09526ABB08740641B8D0942F2564099A69DA52AB885403E0A2CE037FD81400102000080020000006315B996E3897C40B8288722D0978340B8DA23D22C65814049AC01E16DA98540CF08F46247CE8540CC40088C0BC17A4001020000800200000049AC01E16DA98540CF08F46247CE8540CC40088C0BC17A404C88B8DA8D278840ECF5C8EC488D864039780CD22A1778400102000080020000004C88B8DA8D278840ECF5C8EC488D864039780CD22A177840F3F939FB8A968840CF08DBA681AE8640D2259041DDC87E40010200008002000000F3F939FB8A968840CF08DBA681AE8640D2259041DDC87E402AD28D8D6BBC88409FFD2711D8B98640CCC135C51AF67F400102000080030000002AD28D8D6BBC88409FFD2711D8B98640CCC135C51AF67F40002049DB913C89400080C5C633E086400080ADC68EED504000D0D186526A8D4000805ABE345E514000A0E9A2A81E8740010200008002000000641B8D0942F2564099A69DA52AB885403E0A2CE037FD8140A08EC059D0986D407317F2349B2C88407A328E7C97248140010200008003000000A08EC059D0986D407317F2349B2C88407A328E7C972481400040624F87C06D400000244FFC3188400030D94DDC328940282752C551596E406B8A343CC9368840CC4D86C33A6E8540010200008002000000282752C551596E406B8A343CC9368840CC4D86C33A6E8540B5DFF9B8CE2F794053AA0F02D9D788400A3C96ADFFC78440010200008002000000B5DFF9B8CE2F794053AA0F02D9D788400A3C96ADFFC784400F9D871BFA8D7B40388DD114F0FD8840CCD0023A10FE85400102000080030000000F9D871BFA8D7B40388DD114F0FD8840CCD0023A10FE854000C0B6AEB75A7D4000E0A7BAE31A89400060A90CD4E08C404961D930BA357D40D1A0685BF120884040145E5B6B6F85400102000080020000004961D930BA357D40D1A0685BF120884040145E5B6B6F85406315B996E3897C40B8288722D0978340B8DA23D22C65814001020000800200000000D00D277BAA854000F0725CCDA486400090737CB3F2834049AC01E16DA98540CF08F46247CE8540CC40088C0BC17A4001020000800200000049AC01E16DA98540CF08F46247CE8540CC40088C0BC17A404FD57C8CBFA28540F5E473F8B37B804025A40306FEA7814001020000800300000083B3020693D76F406CC9AA9BB475664052DD83664C8E6B4000004E70122348400000110DE8F46C4000007C70ED1C3D40F2F09F93F32F56401BC522F282B58440C381C1A46B357340010200008002000000F2F09F93F32F56401BC522F282B58440C381C1A46B357340641B8D0942F2564099A69DA52AB885403E0A2CE037FD8140010200008002000000641B8D0942F2564099A69DA52AB885403E0A2CE037FD81408DADDB6DAA415B4002C9F696FD748B40E82445FF435884400102000080030000008DADDB6DAA415B4002C9F696FD748B40E82445FF43588440008081F6BD6F5D4000706CA6E25B8E4000401C8F18D182405CAB539E20D0704002DFBFC37A8E8C403EFA9743BE1382400102000080020000005CAB539E20D0704002DFBFC37A8E8C403EFA9743BE1382400FF3236974F87640614AC388F4618B40D10D1CC3DB6D80400102000080020000000FF3236974F87640614AC388F4618B40D10D1CC3DB6D8040A2D73E5F27807A4034480899AAB58A40A8B1CEA1ADEB7D40010200008002000000A2D73E5F27807A4034480899AAB58A40A8B1CEA1ADEB7D405CBB18B920AD7B40D3166E42497C8A40784A510582A77F400102000080020000005CBB18B920AD7B40D3166E42497C8A40784A510582A77F40A00429907ABD7B40E2D5513C2B798A406CCDD764B59F7F40010200008002000000A00429907ABD7B40E2D5513C2B798A406CCDD764B59F7F4072E0715647BE84403C7B971643DA8740029D1471669B6E4001020000800200000072E0715647BE84403C7B971643DA8740029D1471669B6E404C88B8DA8D278840ECF5C8EC488D864039780CD22A1778400102000080020000004C88B8DA8D278840ECF5C8EC488D864039780CD22A1778404C1A18F01C9288404D1BE77EA7648640F07AE6508AAF86400102000080020000004C1A18F01C9288404D1BE77EA7648640F07AE6508AAF864000A067E9FB93884000404EDDF0638640001089944880844001020000800200000000E0262EF1AD784000F0CB0B082F874000706F98112C80407F7D0E5913DF7640482BF1886E5D87404A4B14313D327B400102000080020000007F7D0E5913DF7640482BF1886E5D87404A4B14313D327B4063FC74A2D2216E40128A5A2FBD2588408D66B3C43745814001020000800200000063FC74A2D2216E40128A5A2FBD2588408D66B3C437458140A08EC059D0986D407317F2349B2C88407A328E7C97248140010200008002000000A08EC059D0986D407317F2349B2C88407A328E7C97248140941A88E863D9654085C2936305908840AC01FEC5381E8140010200008003000000941A88E863D9654085C2936305908840AC01FEC5381E814000006AECF1E760400090E4DF72CF88400080E36B218D6240F20381A634BC7140F2245FAC84C98940ECF5CC81AEE07D40010200008002000000F20381A634BC7140F2245FAC84C98940ECF5CC81AEE07D408A2521BE14A378409C7A1AD775838A40B024F53D39727E400102000080020000008A2521BE14A378409C7A1AD775838A40B024F53D39727E40A2D73E5F27807A4034480899AAB58A40A8B1CEA1ADEB7D40010200008002000000A2D73E5F27807A4034480899AAB58A40A8B1CEA1ADEB7D403D512CF8926D7C40FB87A8C597E98A40F285F537CFB980400102000080020000003D512CF8926D7C40FB87A8C597E98A40F285F537CFB98040B4D43C23868A8340D22C5B4DA0088C400593F880E32B7C40010200008003000000B4D43C23868A8340D22C5B4DA0088C400593F880E32B7C4000D05DB739498C400080C873D1DF8D4000B00DF429518E402AD28D8D6BBC88409FFD2711D8B98640CCC135C51AF67F400102000080020000002AD28D8D6BBC88409FFD2711D8B98640CCC135C51AF67F4097D2B28CE0A28840C763541A69868640B443DF53F39F814001020000800200000097D2B28CE0A28840C763541A69868640B443DF53F39F81404C1A18F01C9288404D1BE77EA7648640F07AE6508AAF86400102000080020000004C1A18F01C9288404D1BE77EA7648640F07AE6508AAF86404FD57C8CBFA28540F5E473F8B37B804025A40306FEA781400102000080020000000020C03A1281884000D02F5D4EF4864000009839A3D28040F3F939FB8A968840CF08DBA681AE8640D2259041DDC87E40010200008002000000F3F939FB8A968840CF08DBA681AE8640D2259041DDC87E4097D2B28CE0A28840C763541A69868640B443DF53F39F814001020000800200000097D2B28CE0A28840C763541A69868640B443DF53F39F81405BFEB92E22BA8840A4BA1F2CCF3A864072D0CA78C13C7C40010200008002000000F03F222904C77B4010164B04427F8A40FD22685974DF80403D512CF8926D7C40FB87A8C597E98A40F285F537CFB980400102000080030000003D512CF8926D7C40FB87A8C597E98A40F285F537CFB980400090983163FA804000E0574C18718E400040E9E43BE58640985154AB0D0A74400ADA694B4EE98C40B676F175BB4D8240010200008002000000985154AB0D0A74400ADA694B4EE98C40B676F175BB4D82405CAB539E20D0704002DFBFC37A8E8C403EFA9743BE1382400102000080020000005CAB539E20D0704002DFBFC37A8E8C403EFA9743BE1382408DADDB6DAA415B4002C9F696FD748B40E82445FF435884400102000080020000008DADDB6DAA415B4002C9F696FD748B40E82445FF435884400080156ABF2B504000600345F8268B40006056FAFCF4864001020000800200000000608BAC73218A4000009A23BE4E8D40008039758E6B6D40D23FC77A059B83403001519C3FCF8B400E335EDA42CB6C40010200008002000000D23FC77A059B83403001519C3FCF8B400E335EDA42CB6C40F03F222904C77B4010164B04427F8A40FD22685974DF80400102000080020000000020E576BC6E7240008080A332378A4000400A32C3CC8340F20381A634BC7140F2245FAC84C98940ECF5CC81AEE07D40010200008002000000F20381A634BC7140F2245FAC84C98940ECF5CC81AEE07D40B6DDDE3848D9704047FA45CF1B3E89402EECFFCCE7188440010200008002000000B6DDDE3848D9704047FA45CF1B3E89402EECFFCCE7188440282752C551596E406B8A343CC9368840CC4D86C33A6E8540010200008002000000282752C551596E406B8A343CC9368840CC4D86C33A6E854063FC74A2D2216E40128A5A2FBD2588408D66B3C43745814001020000800200000063FC74A2D2216E40128A5A2FBD2588408D66B3C437458140236621F0D83A694064F6678B3EA48640A0BD1CF54D7F7B400102000080020000000000449F30552D400040C390194D8440000034C5683E3440F2F09F93F32F56401BC522F282B58440C381C1A46B357340010200008003000000F2F09F93F32F56401BC522F282B58440C381C1A46B35734000A0CA0C7FD1744000D0054EE30D864000C003B42F8E70407F7D0E5913DF7640482BF1886E5D87404A4B14313D327B400102000080020000007F7D0E5913DF7640482BF1886E5D87404A4B14313D327B40B5DFF9B8CE2F794053AA0F02D9D788400A3C96ADFFC78440010200008002000000B5DFF9B8CE2F794053AA0F02D9D788400A3C96ADFFC784409FCDC7092F617A40F37697DBCE9A894093AA265FCD787E400102000080020000009FCDC7092F617A40F37697DBCE9A894093AA265FCD787E40A00429907ABD7B40E2D5513C2B798A406CCDD764B59F7F40010200008002000000A00429907ABD7B40E2D5513C2B798A406CCDD764B59F7F40F03F222904C77B4010164B04427F8A40FD22685974DF8040010200008002000000F03F222904C77B4010164B04427F8A40FD22685974DF80405CBB18B920AD7B40D3166E42497C8A40784A510582A77F400102000080020000005CBB18B920AD7B40D3166E42497C8A40784A510582A77F40CE216BA9B63A7940DFFB5D7361348A4040771F7379538040010200008002000000CE216BA9B63A7940DFFB5D7361348A4040771F7379538040B6DDDE3848D9704047FA45CF1B3E89402EECFFCCE7188440010200008002000000B6DDDE3848D9704047FA45CF1B3E89402EECFFCCE7188440941A88E863D9654085C2936305908840AC01FEC5381E8140010200008002000000941A88E863D9654085C2936305908840AC01FEC5381E8140B8A33C3CAF1765400CE24645E7848840142AB14BF005894001020000800200000000E0582A04E6844000D0E1360E5087400000E45200F34A4072E0715647BE84403C7B971643DA8740029D1471669B6E4001020000800200000072E0715647BE84403C7B971643DA8740029D1471669B6E40D23FC77A059B83403001519C3FCF8B400E335EDA42CB6C40010200008002000000D23FC77A059B83403001519C3FCF8B400E335EDA42CB6C40B4D43C23868A8340D22C5B4DA0088C400593F880E32B7C40010200008004000000B4D43C23868A8340D22C5B4DA0088C400593F880E32B7C4000100501CFD082400090BF498A8E8E4000004F3F2624514000801B48A2576F400030E98F7D308F4000609E9C881A7940985154AB0D0A74400ADA694B4EE98C40B676F175BB4D8240010200008002000000985154AB0D0A74400ADA694B4EE98C40B676F175BB4D82400FF3236974F87640614AC388F4618B40D10D1CC3DB6D80400102000080020000000FF3236974F87640614AC388F4618B40D10D1CC3DB6D80408A2521BE14A378409C7A1AD775838A40B024F53D39727E400102000080020000008A2521BE14A378409C7A1AD775838A40B024F53D39727E40CE216BA9B63A7940DFFB5D7361348A4040771F7379538040010200008002000000CE216BA9B63A7940DFFB5D7361348A4040771F73795380409FCDC7092F617A40F37697DBCE9A894093AA265FCD787E400102000080020000009FCDC7092F617A40F37697DBCE9A894093AA265FCD787E400F9D871BFA8D7B40388DD114F0FD8840CCD0023A10FE85400102000080020000000F9D871BFA8D7B40388DD114F0FD8840CCD0023A10FE85404961D930BA357D40D1A0685BF120884040145E5B6B6F85400102000080020000004961D930BA357D40D1A0685BF120884040145E5B6B6F8540FDDB89D7EECD7E40B46547FE0D4C87406E65927CB3788040
+32     01040000800600000001010000800060822B8057844000706BD6749B804000001D1ED0518140010100008000C03009DD08734000007BBD1DD55840008044F7F76D7440010100008000C0C91E19ED824000004B3ADDA6594000602232F8258540010100008000C00E9D7E9F684000407D705EB67C400080EE80D2FE854001010000800040941C5B246B400090E52240EF824000A08EF132797F40010100008000302E0B93B0894000C056E246396D40000093E99F676140
+33     01060000800200000001030000800100000006000000F3FED8FA5715624035AE0DF3630E7940C24AD51E60C17B4000006AD8541F45400040359EA0F87140008075E75A7F7A400080A94A7BA6604000E00674AD367F40004018A868566240F09360713B9F6540A9C21FD888507B407EE850BB1E86794000007F0EB8E759400020AB14733E794000806297A3A07F40F3FED8FA5715624035AE0DF3630E7940C24AD51E60C17B4001030000800100000006000000F09360713B9F6540A9C21FD888507B407EE850BB1E86794000B09D7A56708C4000301795F9A8884000606993265471400060A1986A36884000A009F8982C76400020F62A411D8C40F3FED8FA5715624035AE0DF3630E7940C24AD51E60C17B4052FA1611ABD86540E33469A97D237B40DE22617C0E2B7540F09360713B9F6540A9C21FD888507B407EE850BB1E867940
+34     010400008004000000010100008000403A8F91E46140004068D1CD588240008095351189844001010000800010737EB93D844000A052C1F336774000E0FB6B8EDD8340010100008000F03746A07881400000EAC10A797E400030890E62A48240010100008000205FB1C44E854000B0DE2961C3854000C0819C8E436440
+43     010400008002000000010100008000806DAD5FA15A4000E09D19571770400070748B3E688B40010100008000C0BD68DABB6F4000D0CBC1CBC083400080F24365C38340
+44     010300008001000000040000000319A54C2E8E82402571FE6A8D788D40A3FEEED914DC70400000310998F17C4000000E66874183400000154B676F534000804563DEFA73400000C5488CEC85400000533AFFF073400319A54C2E8E82402571FE6A8D788D40A3FEEED914DC7040
+45     010300008001000000040000008E243BA19EE17D40C4E0791CA08E83406695F5013C8283400050807697068B4000C01BF29190654000F04267C4B9814000A06CB04F6F73400000D842B9E766400030E828404783408E243BA19EE17D40C4E0791CA08E83406695F5013C828340
+53     01050000800300000001020000800200000000E06F75D81275400000734CD86176400080B03A70A5764000600EB5B5AB75400020E5EC57D3794000600568A973884001020000800200000000E0A92B0B967F4000A0B1156CE6794000802A8A78D35E4006CC1E2323E98440A5ED801933277F403464692CE54E6940010200008002000000000060D09A1E1E400020F0D7D3B98C4000904D3689F58A40EB2D86437EF06D40CB073D324C0984404C9F432647BF8640
+54     010300008001000000040000002E5E6E9E43EB80407B618682D4FC85403F472CF2E4BC774000205F4BAF44814000D00169FD9786400040AB79313B6F40004065C9FECE84400010ECBD5CBE824000605F72075074402E5E6E9E43EB80407B618682D4FC85403F472CF2E4BC7740
+55     01030000800100000007000000E1FBB257211B78407026F16DC23281402AD00A444E03844000E066A15A6A8D4000C000CAF84E78400070AE2095038A4000F0DAB35B68874000005F9F1BEB69400090672B9F158E40008070445C8B74400020FCE5813F804000A0F76F86447D402075093D3FA5754070DB3BA82EF280406B4FD2E1B43C7E400080C6534D90774000C0BD60D595804000201E61F1087740E1FBB257211B78407026F16DC23281402AD00A444E038440
+56     010100008000409F689822794000A0741999F8824000C01FE2F6427A40
+57     0101000080003000C919568C4000804E9A31247E4000606F4056868440
+17     01060000803C00000001030000800100000005000000D4205E1B2BD58A40C27B357CF9996540BFD73F3A760B7C40001047F94A468A40000080F59394F63F000037488EA45540717BA9B1602B8740563B4A5910286140F69BB88029507640A7842A58E9DC8940E1390F8BE026674056082CEA69957D40D4205E1B2BD58A40C27B357CF9996540BFD73F3A760B7C4001030000800100000005000000717BA9B1602B8740563B4A5910286140F69BB88029507640284F6D54B4218640224979336BB15D40F3985EA9FA057840D22FE35C6C7E8640C49FBA5792666340051E3892067B804057DD5D2D75A9864036E1913B84EE63409FB10E2E89918040717BA9B1602B8740563B4A5910286140F69BB8802950764001030000800100000004000000284F6D54B4218640224979336BB15D40F3985EA9FA05784000B0DA4C52D7854000002F0BD062564000E0F715AC3F7640EAFB592E36118640981ACA48FF675D405AAD8519CEEA7740284F6D54B4218640224979336BB15D40F3985EA9FA05784001030000800100000005000000EAFB592E36118640981ACA48FF675D405AAD8519CEEA774000804E1205F3834000000E8F4CFA534000608E41F6057E40F43175FB9C398440DA426DEE9B7758407804799FA67C8140954C9D6693568640346CAAB6B1E86240CE20E55F2F298040EAFB592E36118640981ACA48FF675D405AAD8519CEEA774001030000800100000008000000F43175FB9C398440DA426DEE9B7758407804799FA67C814000A008F72C9E83400080639A8FA154400010E62755B580403E3AE8E77D6783405A0BB95FF6BB6040F486D38AF69182400040115130FF834000C0B997A68061400050D6A0E23C854041B8026868E5834030B770CC449765408EAE36BFD28A88403D785D35F4748540AB6F7C47F0866640C8E889F6832B8340925D01BC57778540BDD735E93B566640A834A49B48108340F43175FB9C398440DA426DEE9B7758407804799FA67C8140010300008001000000060000003E3AE8E77D6783405A0BB95FF6BB6040F486D38AF691824000601FD571447B400080D11E1B8152400080FE80B1F371403E3139DE49687B404E542F608A8E5540ABF1495647DE7440710C203D86E07D40E1514E0AF79D6240E84C4505CD2282405D4567C9634183401C69E3B3E13465406F51518FBB9886403E3AE8E77D6783405A0BB95FF6BB6040F486D38AF6918240010300008001000000050000003E3139DE49687B404E542F608A8E5540ABF1495647DE744000C0948B6C847A40000007EB24D04F4000A074137A5A7740BD400FA2565A7A402EA361DE5F8F61403446E8B61E80814041094955B3137C407D94CA4DC0136240AC892527E76680403E3139DE49687B404E542F608A8E5540ABF1495647DE744001030000800100000008000000BD400FA2565A7A402EA361DE5F8F61403446E8B61E8081400080D7428F77704000000FDDA5305D40000052473435824000407DB8569E664000D0BB93BF388240000016FE9AB53A40A28485718F9D75408BCFF8CFD21D83400A4C6776F52477400040454DA531714000600A889E4A81400080397075908240A0C406724A0C7E405FC3D30E369E7740D6CDE0E885978140BADA2E29B6FF79403ECDC61EA61F734058CB6BF7BA2A7C40BD400FA2565A7A402EA361DE5F8F61403446E8B61E80814001030000800100000004000000A28485718F9D75408BCFF8CFD21D83400A4C6776F52477402E5CA523A1667B40DC5277AA248185407A78F73A37998740A004ED257BBF7C40ECF9B65B5BBC83409B2FC9EEC7CC8040A28485718F9D75408BCFF8CFD21D83400A4C6776F5247740010300008001000000050000002E5CA523A1667B40DC5277AA248185407A78F73A3799874000204D39761A7A4000004F93463587400050522042738A40903E7A3DF1B47B40239978A424E98840B46806C03D228540BA09A522EC398040F9FB3FDDEC96874025C84AC2414E84402E5CA523A1667B40DC5277AA248185407A78F73A3799874001030000800100000004000000BA09A522EC398040F9FB3FDDEC96874025C84AC2414E84402AABC7B320B281406E1AB8AF7CCD8840612BE3DA114B7B4030EA77D4A824824026D5FD12B1858640C209E2E135977840BA09A522EC398040F9FB3FDDEC96874025C84AC2414E8440010300008001000000050000002AABC7B320B281406E1AB8AF7CCD8840612BE3DA114B7B40001050035059814000708CF532928A4000C0B8754470664000500F47C55683400060894F47D28D4000C06922E56A8040479CA72463A783402B8EC453486B8A40F55C52B19FB782402AABC7B320B281406E1AB8AF7CCD8840612BE3DA114B7B4001030000800100000007000000479CA72463A783402B8EC453486B8A40F55C52B19FB7824000504A3FBDC3884000D0E18E57A38E40004022EBDCAC874098135E7C571788407ACC0FDA8ADF8540E8845DE9195B8440A16C3CFE489C8740C5105A52F4568540C1BB7728EA017B407F7828BADC0F85400A42F1A6A9E58440202880DB6C867A4018F9CD21C01D84408D703854776C85404AF6100ADF057F40479CA72463A783402B8EC453486B8A40F55C52B19FB782400103000080010000000600000098135E7C571788407ACC0FDA8ADF8540E8845DE9195B84400060182B07BD8D4000708F8732248C4000507CCF896880407406E0935D7489400C971D1CD05785403B47C0EFC1757B400050543D0062894000F02DB5BDA585400020D0C1FFFE784086FC5C905E0E8840431F97CCC36A854018984F04FE6F824098135E7C571788407ACC0FDA8ADF8540E8845DE9195B8440010300008001000000040000007406E0935D7489400C971D1CD05785403B47C0EFC1757B40E7FB3F33293D8A40CD4170A2C2038240E670669E383A7740FC25086A0F1B8840053B01BFD1338340081840CC56737D407406E0935D7489400C971D1CD05785403B47C0EFC1757B4001030000800100000004000000E7FB3F33293D8A40CD4170A2C2038240E670669E383A774000F06DF6DC0A8C4000C0F15DB10281400000EDA1C758784004A1EE16E28F8B40B9B3ED88DCCC7840BB658B23190C6F40E7FB3F33293D8A40CD4170A2C2038240E670669E383A77400103000080010000000400000004A1EE16E28F8B40B9B3ED88DCCC7840BB658B23190C6F40F3E72EEF0DED8B408615F44E23B67540DE4A07A50D367E40EBC12B0E6A638B40FB9C14114F7775407D805D7B9ACF804004A1EE16E28F8B40B9B3ED88DCCC7840BB658B23190C6F4001030000800100000004000000F3E72EEF0DED8B408615F44E23B67540DE4A07A50D367E40002094B833FB8E40000096E12A1B774000E08DDE01DB8B405906570B50448C4065D6AACE98D172405AFFA12343FD7C40F3E72EEF0DED8B408615F44E23B67540DE4A07A50D367E40010300008001000000060000005906570B50448C4065D6AACE98D172405AFFA12343FD7C40009023291DBE8C4000801869CB8F6D4000008EB376E3524027F64D534E098B4020C8AA3484C369407C39E49CD4E97840493F866E04F38A400567B574D6136A405B93249576667A400836D738C6288B4045275D3FC0117140FAA77F4BBA8C7F405906570B50448C4065D6AACE98D172405AFFA12343FD7C400103000080010000000500000027F64D534E098B4020C8AA3484C369407C39E49CD4E97840009037A957468D400080880B79B2614000501DA587838440D4205E1B2BD58A40C27B357CF9996540BFD73F3A760B7C4079523DA06CEF8A40449EE540E8896940D990B2F3EE68664027F64D534E098B4020C8AA3484C369407C39E49CD4E9784001030000800100000005000000B83076C991E6814068E02FE1D2B57240B284BE7D3F6B8140710C203D86E07D40E1514E0AF79D6240E84C4505CD22824041094955B3137C407D94CA4DC0136240AC892527E766804085CD189A1CA87E4082DDC3744A197740B01304618A038040B83076C991E6814068E02FE1D2B57240B284BE7D3F6B81400103000080010000000400000085CD189A1CA87E4082DDC3744A197740B01304618A038040A0C406724A0C7E405FC3D30E369E7740D6CDE0E885978140A67B90C395EE7E4042220E8C639978409F5479DD51B3794085CD189A1CA87E4082DDC3744A197740B01304618A03804001030000800100000004000000A67B90C395EE7E4042220E8C639978409F5479DD51B37940928914A71B088040DE76844DF4C37E40C222A044378684402BC517B359B080401F87364F5A507B4069338AFF541E8640A67B90C395EE7E4042220E8C639978409F5479DD51B3794001030000800100000008000000928914A71B088040DE76844DF4C37E40C222A04437868440A004ED257BBF7C40ECF9B65B5BBC83409B2FC9EEC7CC80405F19969B348C8240B85258ACE4758440AD51E98101D06D40F63A09D2B54F83405BC378055C9180406D837678B2F1754084444FAFACD88240D70F84093C0D80401EA25CF63FE97C40004099E8F9B582400090D3C2646D814000A04A6852547A408B1637090B908040D13AF5F7DB46824090DC4047DC4C7940928914A71B088040DE76844DF4C37E40C222A04437868440010300008001000000050000005F19969B348C8240B85258ACE4758440AD51E98101D06D4030EA77D4A824824026D5FD12B1858640C209E2E13597784018F9CD21C01D84408D703854776C85404AF6100ADF057F409B378020DC2D84406645EEFD6ABE8440AEE7B930B20E77405F19969B348C8240B85258ACE4758440AD51E98101D06D40010300008001000000050000009B378020DC2D84406645EEFD6ABE8440AEE7B930B20E77407F7828BADC0F85400A42F1A6A9E58440202880DB6C867A40614782685E7E86409AE3C13499198440A9DE0C6B5F147F40891CB5DAE47284401E1FC8DC8FD48140DED9BFC76FDC7B409B378020DC2D84406645EEFD6ABE8440AEE7B930B20E774001030000800100000005000000614782685E7E86409AE3C13499198440A9DE0C6B5F147F40A16C3CFE489C8740C5105A52F4568540C1BB7728EA017B4086FC5C905E0E8840431F97CCC36A854018984F04FE6F824050E69AF31DE58740E42F0E9BDA518340749B7F5857258440614782685E7E86409AE3C13499198440A9DE0C6B5F147F400103000080010000000400000050E69AF31DE58740E42F0E9BDA518340749B7F5857258440FC25086A0F1B8840053B01BFD1338340081840CC56737D40C13D0284FFDA8740E966B36327CE824078BB35BD9326844050E69AF31DE58740E42F0E9BDA518340749B7F585725844001030000800100000006000000C13D0284FFDA8740E966B36327CE824078BB35BD93268440001009E32845874000A02328EF5F764000F045804DCF8A40A2A76EF37A2F8740E1F94BB80FD2734027FB073142C18640ADFB52DBE4FF8440319F961E59C277409843166500E57D40124A4AE971CE8440D44AD6E2DBEE7B409AA092FC1A677940C13D0284FFDA8740E966B36327CE824078BB35BD9326844001030000800100000004000000A2A76EF37A2F8740E1F94BB80FD2734027FB073142C186406FE804596D4E8740D02ECFCD4C9A734042A5821D3D878440CF2E5EA4202D87405E5CA480198B73409C9CED0804CD8740A2A76EF37A2F8740E1F94BB80FD2734027FB073142C18640010300008001000000040000006FE804596D4E8740D02ECFCD4C9A734042A5821D3D878440DDCDA9F2BDAA874074061B7570C4734088560D6BADE0834095490A17F194874004649A653E1B734086BEC02A347A82406FE804596D4E8740D02ECFCD4C9A734042A5821D3D87844001030000800100000005000000DDCDA9F2BDAA874074061B7570C4734088560D6BADE08340B22E40021DCF87406509854EB9DE74407AA9B533E85482408231875505478840DCC7F5A4F3E97440CE70E7C862BC834075C95474EA208840498811EC61FA734018E7C94C6EC38440DDCDA9F2BDAA874074061B7570C4734088560D6BADE083400103000080010000000600000075C95474EA208840498811EC61FA734018E7C94C6EC38440EBC12B0E6A638B40FB9C14114F7775407D805D7B9ACF80400836D738C6288B4045275D3FC0117140FAA77F4BBA8C7F4038A45F0DF9DA8940E8DF74B007056E401709BABB415A85404F2A367926E6874090679F30EB8872400851F295D0F4824075C95474EA208840498811EC61FA734018E7C94C6EC384400103000080010000000600000038A45F0DF9DA8940E8DF74B007056E401709BABB415A8540493F866E04F38A400567B574D6136A405B93249576667A4079523DA06CEF8A40449EE540E8896940D990B2F3EE686640A7842A58E9DC8940E1390F8BE026674056082CEA69957D40B57367B9166A8840E487E796BB776940FC2104D094CA864038A45F0DF9DA8940E8DF74B007056E401709BABB415A854001030000800100000005000000B57367B9166A8840E487E796BB776940FC2104D094CA86408BA315A29EDE86408A685B397496644088BB129505BE8540385C959596F18640483FD797AC0E6940887846C5269A83405058DCB37823874001E46B23EA816B407228E108646B8440B57367B9166A8840E487E796BB776940FC2104D094CA8640010300008001000000040000008BA315A29EDE86408A685B397496644088BB129505BE85400050724821DE864000804FDCEA78644000E0B3762A928740BA8B6CD8DED98640C06B5A93738764408EFAB397F9B885408BA315A29EDE86408A685B397496644088BB129505BE854001030000800100000005000000BA8B6CD8DED98640C06B5A93738764408EFAB397F9B8854057DD5D2D75A9864036E1913B84EE63409FB10E2E8991804076E4A13F00938640BF055398516964407AFFB4573E6B7B40C263D92803A486407F0364F4383F65405A8C35568FB88240BA8B6CD8DED98640C06B5A93738764408EFAB397F9B885400103000080010000000500000076E4A13F00938640BF055398516964407AFFB4573E6B7B40D22FE35C6C7E8640C49FBA5792666340051E3892067B8040954C9D6693568640346CAAB6B1E86240CE20E55F2F29804054C63713A47886404028CF3677F96440C2E1A66905717B4076E4A13F00938640BF055398516964407AFFB4573E6B7B400103000080010000000400000054C63713A47886404028CF3677F96440C2E1A66905717B401D6D0724BF0E864033AE6B56893C67408F0BAE954143834020DADE0F24848640CE0A97DBF8AB65403EB6A1ECAD85824054C63713A47886404028CF3677F96440C2E1A66905717B40010300008001000000040000001D6D0724BF0E864033AE6B56893C67408F0BAE9541438340C04436CED784854024F4D2E914136940C24B6B031C268040F32DA6BB547D8540BE6FA1B6B9576A4015880DCD5B397A401D6D0724BF0E864033AE6B56893C67408F0BAE954143834001030000800100000007000000C04436CED784854024F4D2E914136940C24B6B031C2680400000BC419AAF8540008064AF27DB614000C09AA53D4B7140925D01BC57778540BDD735E93B566640A834A49B48108340002036E7FD7D8540004049295C8C664000E04A5171E28D403D785D35F4748540AB6F7C47F0866640C8E889F6832B8340812060C0584B8540F565F43D44D769400392D0DE43647F40C04436CED784854024F4D2E914136940C24B6B031C26804001030000800100000006000000812060C0584B8540F565F43D44D769400392D0DE43647F406FAC949C4DA78340F0797C7D82706F40023F530253C3844058A1B4138A9C83401BBF4AF9BD927040500AD6A8C74C874089A60BD0DC81844044363D1CDAB66F40D46B8C55197A87404F8030FC6A30854020D41DDC50FC6B408A8069EC701E7A40812060C0584B8540F565F43D44D769400392D0DE43647F40010300008001000000050000006FAC949C4DA78340F0797C7D82706F40023F530253C3844041B8026868E5834030B770CC449765408EAE36BFD28A88405D4567C9634183401C69E3B3E13465406F51518FBB9886401A82E7EDFCD18240567838362F2471404EBBD2D19B0E84406FAC949C4DA78340F0797C7D82706F40023F530253C38440010300008001000000040000001A82E7EDFCD18240567838362F2471404EBBD2D19B0E8440499B35DAD1BF82403A0676402E437140267F415B1F478940B65F8D79D4D0824042955042953571401E044D11C82C87401A82E7EDFCD18240567838362F2471404EBBD2D19B0E844001030000800100000004000000499B35DAD1BF82403A0676402E437140267F415B1F47894000C025156016824000603885A1CA71400000AB5C66ED8C4020E067266F1C824028EA2254ED5972401A2534E597228940499B35DAD1BF82403A0676402E437140267F415B1F4789400103000080010000000400000020E067266F1C824028EA2254ED5972401A2534E597228940B83076C991E6814068E02FE1D2B57240B284BE7D3F6B8140B0F68F71452982405EA20A6D88897340FB2449DF3D22844020E067266F1C824028EA2254ED5972401A2534E59722894001030000800100000005000000D86945A8F98B8340C3902860F7E27140663B70DE6283824058A1B4138A9C83401BBF4AF9BD927040500AD6A8C74C8740B65F8D79D4D0824042955042953571401E044D11C82C8740FB8C98FA25CB824078884F2BF28A71402DBF119053018240D86945A8F98B8340C3902860F7E27140663B70DE62838240010300008001000000050000002BC84D0B350E84403C01AAF0B38C79409C7D9E9022227540F63A09D2B54F83405BC378055C9180406D837678B2F17540891CB5DAE47284401E1FC8DC8FD48140DED9BFC76FDC7B40124A4AE971CE8440D44AD6E2DBEE7B409AA092FC1A6779402BC84D0B350E84403C01AAF0B38C79409C7D9E902222754001030000800100000004000000C6615B7EC19F82407642ED4E99017540899F2E1E96548340B0F68F71452982405EA20A6D88897340FB2449DF3D228440F34C1676CD438240FF657C4D04FD75400C228ADE699F8940C6615B7EC19F82407642ED4E99017540899F2E1E9654834001030000800100000007000000F34C1676CD438240FF657C4D04FD75400C228ADE699F894000F0B435B417814000E071608B31794000704997C9FE8D402BC517B359B080401F87364F5A507B4069338AFF541E864084444FAFACD88240D70F84093C0D80401EA25CF63FE97C40E9AE6C19771683408ED776CF38347B4022B91FAE43138140ECE842AD2C878240DACFA7C768367C405564C7E2FC838240F34C1676CD438240FF657C4D04FD75400C228ADE699F894001030000800100000004000000E9AE6C19771683408ED776CF38347B4022B91FAE431381400CA5F63E9C0984408A29B7D21C7E7940F653C0FAAB3580406BCD5B3B024A8340B1C860C4F91D7740FC4E2EB8F7337E40E9AE6C19771683408ED776CF38347B4022B91FAE43138140010300008001000000040000000CA5F63E9C0984408A29B7D21C7E7940F653C0FAAB3580402BC84D0B350E84403C01AAF0B38C79409C7D9E90222275408E220FBEEE108440654E4C46EB707940E2B050196C507A400CA5F63E9C0984408A29B7D21C7E7940F653C0FAAB358040010300008001000000050000008E220FBEEE108440654E4C46EB707940E2B050196C507A40ADFB52DBE4FF8440319F961E59C277409843166500E57D4038CE9CA7553C8540019E4CAD53A8724022E6C0B7DE1D7E4096562C5FCFC08440B44B1BF2F06F7240B44E40122B957B408E220FBEEE108440654E4C46EB707940E2B050196C507A400103000080010000000600000038CE9CA7553C8540019E4CAD53A8724022E6C0B7DE1D7E40CF2E5EA4202D87405E5CA480198B73409C9CED0804CD8740C2C181F1290487404D6F780D316F6D40C47DEE31F0188440301C24BC46EA864007E543185BDD6B406AE3EB45602D8440DF7A7011F365854071E38B3F324A6E408E6361B0B904824038CE9CA7553C8540019E4CAD53A8724022E6C0B7DE1D7E4001030000800100000006000000C2C181F1290487404D6F780D316F6D40C47DEE31F018844095490A17F194874004649A653E1B734086BEC02A347A82404F2A367926E6874090679F30EB8872400851F295D0F482405058DCB37823874001E46B23EA816B407228E108646B8440C65DBE8301FD86400A5B8E6769BF6B40FA4AB2323EE48840C2C181F1290487404D6F780D316F6D40C47DEE31F018844001030000800100000006000000C65DBE8301FD86400A5B8E6769BF6B40FA4AB2323EE48840385C959596F18640483FD797AC0E6940887846C5269A8340C263D92803A486407F0364F4383F65405A8C35568FB8824020DADE0F24848640CE0A97DBF8AB65403EB6A1ECAD858240301C24BC46EA864007E543185BDD6B406AE3EB45602D8440C65DBE8301FD86400A5B8E6769BF6B40FA4AB2323EE4884001030000800100000005000000DF7A7011F365854071E38B3F324A6E408E6361B0B9048240F32DA6BB547D8540BE6FA1B6B9576A4015880DCD5B397A404F8030FC6A30854020D41DDC50FC6B408A8069EC701E7A4007D2315E780C85401F381A8240D96E4013E3C78252738140DF7A7011F365854071E38B3F324A6E408E6361B0B90482400103000080010000000500000007D2315E780C85401F381A8240D96E4013E3C7825273814089A60BD0DC81844044363D1CDAB66F40D46B8C55197A87405C82D874DABB8340CB654947D2F87140E04154088874844096562C5FCFC08440B44B1BF2F06F7240B44E40122B957B4007D2315E780C85401F381A8240D96E4013E3C78252738140010300008001000000040000005C82D874DABB8340CB654947D2F87140E041540888748440D86945A8F98B8340C3902860F7E27140663B70DE628382408098381C47838340E4BE418B8293724066D005E12B8084405C82D874DABB8340CB654947D2F87140E041540888748440010300008001000000040000008098381C47838340E4BE418B8293724066D005E12B808440C6615B7EC19F82407642ED4E99017540899F2E1E965483406BCD5B3B024A8340B1C860C4F91D7740FC4E2EB8F7337E408098381C47838340E4BE418B8293724066D005E12B808440
+18     01030000800100000004000000F60557DE209C89407C9884F117197F40613F226FE27877400060FAD1EE7C7F400000AF93E5C24A4000407B3EEE05654000B035D6985281400060B5B1045F834000C0A3BF4A4E7440F60557DE209C89407C9884F117197F40613F226FE2787740
+19     010100008000E0A82319468A4000407110C7FF774000C04F79E43E6F40
+20     01030000800100000004000000009097BEC74081400000ABBEDCE2434000404C6C16D47640AA414853DE8D7540AB57E66FFABD5D404C9F1A46E9A96C40F39E1B51AE3E7540E8C64782CEED6240CD5B099A5ABC7E40009097BEC74081400000ABBEDCE2434000404C6C16D47640
+21     01030000800100000006000000E227BAC6CD428040A2E5D965C6EA8840D0DCB6C8788988400020C63450628C400050C299693689400070C68748768E4000D02401A28089400000A5815B24464000405F507151864000F0764A40C7864000C0B49EC0176C400000991EA6757340A6815DDB73DC74404FBA881447B37F4060847F19812F8140E227BAC6CD428040A2E5D965C6EA8840D0DCB6C878898840
+22     010200008002000000000098E6E99F8D400070CD24243E8C400080FFBABFA28540DEDFFC80A3ED78406017E98EB7138940AB537AA50AC97C40
+23     010500008019000000010200008002000000000020EC134A4D400040579831386B4000E0EEF370777E4091C25BC86D9D7040AE8F777A84A46D40245E2FF41061804001020000800200000091C25BC86D9D7040AE8F777A84A46D40245E2FF4106180401DE66324773D714020BAA13874C26D4008A212BDC75A80400102000080020000001DE66324773D714020BAA13874C26D4008A212BDC75A8040BD4AE84631517C40E5D80BF6E7D46F404A1055B03F477740010200008002000000BD4AE84631517C40E5D80BF6E7D46F404A1055B03F4777400020D87A31808C4000A0A666439972400060106E96877240010200008002000000008056B1F1DC514000806E3ED44086400080B52815A178406956A6B53FFD7040E740260B52EC6E407E0E52FEA27880400102000080020000006956A6B53FFD7040E740260B52EC6E407E0E52FEA27880401DE66324773D714020BAA13874C26D4008A212BDC75A80400102000080030000001DE66324773D714020BAA13874C26D4008A212BDC75A80400080D4F327A576400000849DFBC0424000B0ACFD72D28540BD4AE84631517C40E5D80BF6E7D46F404A1055B03F477740010200008002000000BD4AE84631517C40E5D80BF6E7D46F404A1055B03F4777400A238EE96911804008EE6F3DAB0D7940A32A84ACAC8E62400102000080020000000A238EE96911804008EE6F3DAB0D7940A32A84ACAC8E6240756EA52447888040A1A979117D467B40F138223EE0E17B40010200008002000000756EA52447888040A1A979117D467B40F138223EE0E17B40002014558BEB80400060040D86217D400000809E4A3B034001020000800200000000C05264D2E57D400020E3DAD2FE764000804F1305305C400A238EE96911804008EE6F3DAB0D7940A32A84ACAC8E62400102000080020000000A238EE96911804008EE6F3DAB0D7940A32A84ACAC8E6240CD91FD5948EC80404D09EEAF24A07A402586041D28738040010200008002000000CD91FD5948EC80404D09EEAF24A07A402586041D287380405684B4CD74D8814041C5646970527C40E26E8277C8FA71400102000080020000000010BB0FF48A884000409A728467804000A0B133EEBE7840E3D369B1404A88402D489C624D5A7F407020012A9C867A400102000080020000000090139D76AE8A4000C0BFBE2D0882400040415F141C8B407DB61808D96E884063E752764E4F7C40E0464DCA1D807A400102000080020000000070B3222C06864000B0E10198A284400080813E19287140E3439FF5DDFD844082235B1C05D17B409714BA43E9E382400102000080020000000040641DA45D6F4000801E593B746A4000408D9407DB7F4091C25BC86D9D7040AE8F777A84A46D40245E2FF41061804001020000800200000091C25BC86D9D7040AE8F777A84A46D40245E2FF4106180406956A6B53FFD7040E740260B52EC6E407E0E52FEA27880400102000080020000006956A6B53FFD7040E740260B52EC6E407E0E52FEA2788040DF3D980F3BE57A40F478770DFF33804034040DDC2C468640010200008002000000DF3D980F3BE57A40F478770DFF33804034040DDC2C4686400080299CB46383400000D79DD75D8A4000F0CEBBCD1A8A4001020000800200000000B064DA105F814000E06F4637E179400020163C90AB8A40CD91FD5948EC80404D09EEAF24A07A402586041D28738040010200008002000000CD91FD5948EC80404D09EEAF24A07A402586041D28738040756EA52447888040A1A979117D467B40F138223EE0E17B40010200008002000000756EA52447888040A1A979117D467B40F138223EE0E17B40DF3D980F3BE57A40F478770DFF33804034040DDC2C468640010200008002000000DF3D980F3BE57A40F478770DFF33804034040DDC2C4686400000EC69AAF4534000C010BD125089400080C9D1F5A97E40010200008002000000006040DF9E527E4000C02102ACFA8440006011F6F194864034C9E2313FA77B40B442FD3547BE8640D91A374C59937B40
+24     0105000080240000000102000080020000000030C2BF5E72894000A0DC4DB3F27740000087BE081F8440C5034D7C94338840A03BBECE7FF37840E1A680D0A3B28040010200008003000000C5034D7C94338840A03BBECE7FF37840E1A680D0A3B2804000303F41AD958B400040F4A1938B7C40006014DF0E8582403E37FA073CAE8B4006D3A15563318040282E490B16A783400102000080020000003E37FA073CAE8B4006D3A15563318040282E490B16A7834095B8500E17CB8B40460495C5057382409F1F535CDB208440010200008002000000C5034D7C94338840A03BBECE7FF37840E1A680D0A3B28040D7E8AA5061CA8340E49662071E817C40AC1AD74CD7FB7D40010200008002000000D7E8AA5061CA8340E49662071E817C40AC1AD74CD7FB7D40374E28AE02E981406C19697EE1047E40AF369A5261A27940010200008002000000374E28AE02E981406C19697EE1047E40AF369A5261A279406047505D22BB8140CF54DF08D6297E40B0E2353CDAD6734001020000800200000000B0269BECA7844000A067C6452F754000E04C386F4C76404BDFE665AEE0844075A31228916B75402267784614497E400102000080020000004BDFE665AEE0844075A31228916B75402267784614497E40C5034D7C94338840A03BBECE7FF37840E1A680D0A3B280400102000080020000000080EA065412754000A016ADE43B7F4000C0F09158298C400CFEA8182D8F7440749CA59D19C57F4021DEC8523D3482400102000080020000000CFEA8182D8F7440749CA59D19C57F4021DEC8523D348240E2D1676CAD3A714089C4EF3B7AA081400871B8F9B2028540010200008002000000E2D1676CAD3A714089C4EF3B7AA081400871B8F9B202854068C30F4D72AB5540C1E28A012FCE8740D8468F3C8BB0854001020000800400000068C30F4D72AB5540C1E28A012FCE8740D8468F3C8BB08540000050FC06BC054000B02BA6E38C8A400050C2EC309F874000C01A520B0774400000080F49C08C4000203311E8828C40109E4CEFADA277402656E8D3FA098140D659B00D49BC7C40010200008002000000109E4CEFADA277402656E8D3FA098140D659B00D49BC7C40EC782A4C44537940A34923B56D1B7740E27721A2CE557B40010200008003000000EC782A4C44537940A34923B56D1B7740E27721A2CE557B4000C084E04B997C4000009A63A7A93D400080D64939FA7040ADA511BD8D708040BBD1404D6A8C72408A47260251F87840010200008002000000ADA511BD8D708040BBD1404D6A8C72408A47260251F87840374E28AE02E981406C19697EE1047E40AF369A5261A27940010200008002000000374E28AE02E981406C19697EE1047E40AF369A5261A279408CF2146107A982404BBDFF9056EF814008C63D942EFD80400102000080020000008CF2146107A982404BBDFF9056EF814008C63D942EFD8040A3D76A797701844094EC1958B12E8740E1B09EC977C38040010200008002000000A3D76A797701844094EC1958B12E8740E1B09EC977C380400060DFB9110F85400020A2EC2D4A8B4000407DAFAE408C400102000080020000000060993A9FD2804000C076CC0AEC874000E03065C49871400699513E609A814094006C8431618540308143694E0976400102000080020000000699513E609A814094006C8431618540308143694E0976408CF2146107A982404BBDFF9056EF814008C63D942EFD80400102000080020000008CF2146107A982404BBDFF9056EF814008C63D942EFD8040D7E8AA5061CA8340E49662071E817C40AC1AD74CD7FB7D40010200008002000000D7E8AA5061CA8340E49662071E817C40AC1AD74CD7FB7D404BDFE665AEE0844075A31228916B75402267784614497E400102000080020000004BDFE665AEE0844075A31228916B75402267784614497E409E11EEB7ABD985405C31962A0D2A6E404AACE0083094834001020000800200000000A043BEAE848D4000E07F7F5896814000D053B6C89687403E37FA073CAE8B4006D3A15563318040282E490B16A783400102000080020000003E37FA073CAE8B4006D3A15563318040282E490B16A7834000C0E5AADC8689400040FA5D0E1E7D4000E0991B86C97F400102000080020000000000693A5F244D4000B0DAF7038F87400060E2B2BC7E834068C30F4D72AB5540C1E28A012FCE8740D8468F3C8BB0854001020000800200000068C30F4D72AB5540C1E28A012FCE8740D8468F3C8BB085407876EE73453F6B40262FF6A046F288406ABAD8A0031F7D400102000080020000000080C8396B4F64400080E698F4E47B4000801DB64BBF6640E2D1676CAD3A714089C4EF3B7AA081400871B8F9B2028540010200008002000000E2D1676CAD3A714089C4EF3B7AA081400871B8F9B2028540454507EB8C3A73408C949C37BCAA8240F6FD0CEE723D814001020000800200000000F03012AA2689400060F3A9FA0A8B400060140FED687640A3D76A797701844094EC1958B12E8740E1B09EC977C38040010200008002000000A3D76A797701844094EC1958B12E8740E1B09EC977C380400699513E609A814094006C8431618540308143694E0976400102000080020000000699513E609A814094006C8431618540308143694E097640109E4CEFADA277402656E8D3FA098140D659B00D49BC7C40010200008002000000109E4CEFADA277402656E8D3FA098140D659B00D49BC7C400CFEA8182D8F7440749CA59D19C57F4021DEC8523D3482400102000080030000000CFEA8182D8F7440749CA59D19C57F4021DEC8523D348240002056C6E748704000800F1213907C4000C05AC67CCB6F40EC782A4C44537940A34923B56D1B7740E27721A2CE557B40010200008002000000EC782A4C44537940A34923B56D1B7740E27721A2CE557B40ADA511BD8D708040BBD1404D6A8C72408A47260251F87840010200008002000000ADA511BD8D708040BBD1404D6A8C72408A47260251F87840D098720C292983405C756FC14E876E40880B09E8B9BE7F40
+25     0101000080000091F446926540000088C1CF7A814000802A4B71F27840
+35     01060000801600000001030000800100000004000000666BD8A7566A7940C249AB31B0AE6040DBF55AF2738C744000208D16C1ED7E400000D09B62F30C400000094CC5F0514000000D68820F44400000DD77676062400090CAE49A5D8B40666BD8A7566A7940C249AB31B0AE6040DBF55AF2738C744001030000800100000004000000C142D24DEC8862401B36DA8AD6796F40CABFE11EC9DD7C400000357ED85D5B4000404241740667400000CED155E489406D172712C48B6040CA806D1A1EF5744096304637028D7E40C142D24DEC8862401B36DA8AD6796F40CABFE11EC9DD7C40010300008001000000050000006D172712C48B6040CA806D1A1EF5744096304637028D7E400000035BC58E4C400060746C5AD286400020F635B5378A40ACCBE4DC14E162407C6CD0FDB6408740FCA838365B2983408B8028B2716E6740A794F9FC62D68540F53B27C91ED07F406D172712C48B6040CA806D1A1EF5744096304637028D7E4001030000800100000004000000ACCBE4DC14E162407C6CD0FDB6408740FCA838365B29834000006002C4CA024000A069DF04088D4000B0BE52D90B804097EE07774F5067404C10B3DD666A8740B89F67D92DEB8040ACCBE4DC14E162407C6CD0FDB6408740FCA838365B2983400103000080010000000400000097EE07774F5067404C10B3DD666A8740B89F67D92DEB8040BA32D1029D6968409866E14ABB74874096D5A68A38587D409A64C241EB3F68405534972DF32F87400A3BD6494A047C4097EE07774F5067404C10B3DD666A8740B89F67D92DEB80400103000080010000000A000000BA32D1029D6968409866E14ABB74874096D5A68A38587D400040A053C76B69400020A8259E1E894000E0A2DDDA41754000200A7D52C7704000A07FD7848C864000605545F0BB7140008096D14814804000706FF32FCE8B4000A0D3001CA471408484EC95BE9576400A852781B277834040160B08B8798240983F03F1A53E6E40D7C68305D9A38640876B49AEF4948240ACDBFDFC692D6C4028E41974A93A86406336FB84B3D882407FCA5EC277BB6840F912087CCF118740971EB63AF59681404C9928B43AAE6840EC5B9353407787408EA6225B93448140BA32D1029D6968409866E14ABB74874096D5A68A38587D40010300008001000000070000008484EC95BE9576400A852781B277834040160B08B87982400000CCBAB879814000808BC9D06B7C4000006684D9CC8A4060AC2328FF9D89404B8298E9825C7B4056EEAD7FCA3970406FC58E078BB089405DC9D1CE8E447B40B8899316CF776F4072086B321EE082408231FFB6725E75400FCE692F73C57440849F0D1D0F917540904AA4C1A894824053DAB02A4EAF7F408484EC95BE9576400A852781B277834040160B08B87982400103000080010000000500000072086B321EE082408231FFB6725E75400FCE692F73C57440EE2E9D5A484183406BA083CFD2A07440D26174690B117B40C5AE2D966B1D8240CAFE8B67D1267440511F51191D848040451770AFD2E781408CE51235818774409EADB418DFB2784072086B321EE082408231FFB6725E75400FCE692F73C5744001030000800100000007000000EE2E9D5A484183406BA083CFD2A07440D26174690B117B407E1E5712DB528340281200622BA87440920A0E2EDA02774000B090D6D77889400040734101DE604000E0E3A11BE976401869F310551F8940F2292952372D6140B1D4156B00BC79401FAC461B54798440F98544FC032D7040447112EDD53A81400000AC09C5F6834000A03913A33E734000E0431768E37E40EE2E9D5A484183406BA083CFD2A07440D26174690B117B40010300008001000000040000001869F310551F8940F2292952372D6140B1D4156B00BC79400040B513CB2B8A4000000CFFA0815B4000C083C534787A409487AF3558C5884076B54B6CD97C6140F2D2B4E7209D7B401869F310551F8940F2292952372D6140B1D4156B00BC7940010300008001000000040000009487AF3558C5884076B54B6CD97C6140F2D2B4E7209D7B4028A4B790AC548840AF557A268EE06140791EC3A0964A8140EB0AC39A397F8740D78E245AA8E2644043DD93F7F4B583409487AF3558C5884076B54B6CD97C6140F2D2B4E7209D7B400103000080010000000400000028A4B790AC548840AF557A268EE06140791EC3A0964A81400050B1FFFF968A4000006881077453400020490E15ED8640BFBCE144E3FC86404A2B0B96C81063405E7C5839CB95804028A4B790AC548840AF557A268EE06140791EC3A0964A814001030000800100000004000000BFBCE144E3FC86404A2B0B96C81063405E7C5839CB958040A793CBEE4C778540E2E229E98A69644068AA9A962FE88140402CEB0CD6308540E3721C4C90B96740C8C4728207C98240BFBCE144E3FC86404A2B0B96C81063405E7C5839CB95804001030000800100000004000000A793CBEE4C778540E2E229E98A69644068AA9A962FE8814000F0D29A8CFB86400000B8358A48314000E081E822268A40D4C389640FD98240B2117348A9BA6640126E208A56DB8440A793CBEE4C778540E2E229E98A69644068AA9A962FE8814001030000800100000005000000D4C389640FD98240B2117348A9BA6640126E208A56DB8440AFADEB13D06F76403E4D7FE3127B6D40F29EB1C5C99F7A405094FC3ABFBB7F40E4BC402CAAC372403899D7E9F2DA7040CA47494D62C27F4075768FDF5CBF72407EDC7B75F1DC8140D4C389640FD98240B2117348A9BA6640126E208A56DB844001030000800100000009000000AFADEB13D06F76403E4D7FE3127B6D40F29EB1C5C99F7A4000C046D681E464400040D33DD31963400000E099F4DA1140C142D24DEC8862401B36DA8AD6796F40CABFE11EC9DD7C40E397283611A57340C29DAF8A2BE880400E55065E53CD82409DFF88E4F10E7D407B6EEECB461B76404B9BB94D58DB814000807D969AD17C400080BB3B4CA774400060F947289D7640DCB69E9319367F409A84D6AF4A1A73403440C40EDA1E7D40008086356E8F7040006078525B0A704000E0B8DA43DA8A40AFADEB13D06F76403E4D7FE3127B6D40F29EB1C5C99F7A4001030000800100000008000000ACDBFDFC692D6C4028E41974A93A86406336FB84B3D88240849F0D1D0F917540904AA4C1A894824053DAB02A4EAF7F40E397283611A57340C29DAF8A2BE880400E55065E53CD82408B8028B2716E6740A794F9FC62D68540F53B27C91ED07F409A64C241EB3F68405534972DF32F87400A3BD6494A047C407FCA5EC277BB6840F912087CCF118740971EB63AF596814000C0E32222ED684000C00ACE3E95854000A0C6E266028B40ACDBFDFC692D6C4028E41974A93A86406336FB84B3D882400103000080010000000400000066EB686F538A84402E5EC2D4788D6F40768E1F02AD1B8340EB0AC39A397F8740D78E245AA8E2644043DD93F7F4B58340AA40FD9E56D6844022F86A73AEFA6B40D209B862B542844066EB686F538A84402E5EC2D4788D6F40768E1F02AD1B83400103000080010000000A000000AA40FD9E56D6844022F86A73AEFA6B40D209B862B5428440402CEB0CD6308540E3721C4C90B96740C8C4728207C98240CA47494D62C27F4075768FDF5CBF72407EDC7B75F1DC814024A9BFBA1ABE7F4011250364AFC47240EA46943B412C7B40B8D2B0A0C9DD8040A8506C2F34A173404CE220E6BF747340C5AE2D966B1D8240CAFE8B67D1267440511F51191D848040D68291982BD88240700EA734EED5724000EBE61A3C3A834048AA4B4270938240527E428C1E467340C6FB0007C1878240008066F3311E8140004083D117F372400030648805148C40AA40FD9E56D6844022F86A73AEFA6B40D209B862B54284400103000080010000000500000024A9BFBA1ABE7F4011250364AFC47240EA46943B412C7B405094FC3ABFBB7F40E4BC402CAAC372403899D7E9F2DA7040DCB69E9319367F409A84D6AF4A1A73403440C40EDA1E7D401A8EA3F99A6F7F406597DFA24F267340FCB8D07118BB834024A9BFBA1ABE7F4011250364AFC47240EA46943B412C7B40010300008001000000060000001A8EA3F99A6F7F406597DFA24F267340FCB8D07118BB83409DFF88E4F10E7D407B6EEECB461B76404B9BB94D58DB814034C809E7D0B47D40A5C65A2523097A408ACA4F4D63A98240451770AFD2E781408CE51235818774409EADB418DFB27840B8D2B0A0C9DD8040A8506C2F34A173404CE220E6BF7473401A8EA3F99A6F7F406597DFA24F267340FCB8D07118BB834001030000800100000004000000D68291982BD88240700EA734EED5724000EBE61A3C3A83401FAC461B54798440F98544FC032D7040447112EDD53A814066EB686F538A84402E5EC2D4788D6F40768E1F02AD1B8340D68291982BD88240700EA734EED5724000EBE61A3C3A8340
+36     01020000800200000000E0B4320CA375400030CCC1BA1F89400000E2EBC10E69407EFB9E9122D973409FA66D030C148740FCE1D46A453C7440
+37     01050000802800000001020000800200000000A0B6AA00987B4000E0FCC495D28B40002079DD66CD7A4015515DED88ED84409E0879B457EE8640F8F3C16F26FE774001020000800200000015515DED88ED84409E0879B457EE8640F8F3C16F26FE7740EBE8319D81578A4003209E3F9F378340542490B2E59E7740010200008002000000EBE8319D81578A4003209E3F9F378340542490B2E59E77401F81CB0366528C40AAE3BA19EADB81400B76C705192F6A400102000080030000001F81CB0366528C40AAE3BA19EADB81400B76C705192F6A4000403BC22F2D8D4000D08BACD54581400080A603EE715A40DF96258F08708C4018FC28B5E2D48040A63948F78A106840010200008002000000DF96258F08708C4018FC28B5E2D48040A63948F78A106840BCD472806E178A40FE79C5F57EDC7E405E27E72F5064734001020000800200000000E0DCA673038B4000002550F4608D400050DFBBC3F98E4007053D0C50F58A404143C7F70B8B8C402F8CFBA9A960814001020000800200000007053D0C50F58A404143C7F70B8B8C402F8CFBA9A9608140EBE8319D81578A4003209E3F9F378340542490B2E59E7740010200008002000000EBE8319D81578A4003209E3F9F378340542490B2E59E7740B80E6A9523488A40CD589B00224F8240E237A8FC90F67340010200008002000000B80E6A9523488A40CD589B00224F8240E237A8FC90F67340B76661CFFA178A40DC5F095C14ED7E40DB48385F2A847240010200008002000000B76661CFFA178A40DC5F095C14ED7E40DB48385F2A847240BCD472806E178A40FE79C5F57EDC7E405E27E72F50647340010200008003000000BCD472806E178A40FE79C5F57EDC7E405E27E72F50647340008044752F5C8940008035EBBA756140000090C2928C134000D0FAC6892E85400000D3BA342F4C400040FB288F71654001020000800200000000D0F51D84F4844000808D4CD0D274400060ABB8BC328040FEECD675C6D981408426030D040575401E4643D392CF7F40010200008002000000FEECD675C6D981408426030D040575401E4643D392CF7F4003A9697E26215B403FC81A1FD7EE75401AFA37311DB3874001020000800300000003A9697E26215B403FC81A1FD7EE75401AFA37311DB387400000FE140A044A4000A0A6A7620B7640006082B645A9874050A48A4CB95C5D409679DFA796207B40E8BEB84C1117874001020000800300000050A48A4CB95C5D409679DFA796207B40E8BEB84C1117874000005AB4F9586640002015AC86E47F4000405F5DB964834091AB96B15C2D5F402AEF5A228E597F40900FF47F048D834001020000800200000091AB96B15C2D5F402AEF5A228E597F40900FF47F048D83400080D0EB95795D4000C0D3230E487F40008047A5D1F17A40010200008002000000BCD472806E178A40FE79C5F57EDC7E405E27E72F506473404CE2D4C9ABFD884079CF3612008C7D406B3BEDB01F0F74400102000080020000004CE2D4C9ABFD884079CF3612008C7D406B3BEDB01F0F7440FEECD675C6D981408426030D040575401E4643D392CF7F40010200008003000000FEECD675C6D981408426030D040575401E4643D392CF7F400000A24748C75240000035E03E0944400020AB48414A874003A9697E26215B403FC81A1FD7EE75401AFA37311DB3874001020000800200000003A9697E26215B403FC81A1FD7EE75401AFA37311DB3874050A48A4CB95C5D409679DFA796207B40E8BEB84C1117874001020000800200000050A48A4CB95C5D409679DFA796207B40E8BEB84C1117874091AB96B15C2D5F402AEF5A228E597F40900FF47F048D834001020000800200000091AB96B15C2D5F402AEF5A228E597F40900FF47F048D834000C0AA52234161400050C7A8EA8C834000605E84F66A894001020000800200000000007EB7FC754F400000C4BA564C824000009ADDA90551406259133716035E40BBC5F6B5518E8140D4623AA2B86A7A4001020000800200000000A067CEBBA08D400040A7A9E9116940000074695A552D40DF96258F08708C4018FC28B5E2D48040A63948F78A106840010200008002000000DF96258F08708C4018FC28B5E2D48040A63948F78A106840E143BDD1696D8C40A4320FF323EC8040BDD944782F046D40010200008002000000E143BDD1696D8C40A4320FF323EC8040BDD944782F046D40EC4672FC75658C404A429742B9328140CCCF21E78F616D40010200008002000000EC4672FC75658C404A429742B9328140CCCF21E78F616D401F81CB0366528C40AAE3BA19EADB81400B76C705192F6A400102000080030000001F81CB0366528C40AAE3BA19EADB81400B76C705192F6A400050B6515A1A8B4000D0DF9084AD8C400080EC912AD5644007053D0C50F58A404143C7F70B8B8C402F8CFBA9A960814001020000800200000007053D0C50F58A404143C7F70B8B8C402F8CFBA9A960814015515DED88ED84409E0879B457EE8640F8F3C16F26FE774001020000800200000015515DED88ED84409E0879B457EE8640F8F3C16F26FE7740CA22F8537BAF83408C3AAB5C59C6854099D3B1FE99857940010200008003000000CA22F8537BAF83408C3AAB5C59C6854099D3B1FE998579400060E2084BD2824000A09E6D80F8844000A07D4758F1724076237D76D84F81401296A2DEDE278340D8DB3DFA00737F4001020000800200000076237D76D84F81401296A2DEDE278340D8DB3DFA00737F40B9F90C419B377A40D8F9ADC442347C403026C395B11E784001020000800200000000608AB973BB86400040FBDB1FAA7D400030F5C39DCC834076237D76D84F81401296A2DEDE278340D8DB3DFA00737F4001020000800300000076237D76D84F81401296A2DEDE278340D8DB3DFA00737F400000B429DCE258400030A102AD7B8E4000500B93A7358940CA22F8537BAF83408C3AAB5C59C6854099D3B1FE99857940010200008002000000CA22F8537BAF83408C3AAB5C59C6854099D3B1FE99857940B80E6A9523488A40CD589B00224F8240E237A8FC90F67340010200008002000000B80E6A9523488A40CD589B00224F8240E237A8FC90F67340EC4672FC75658C404A429742B9328140CCCF21E78F616D40010200008003000000EC4672FC75658C404A429742B9328140CCCF21E78F616D4000B0C7A61EA78C400090A3073A10814000009D3FAF8F7740E143BDD1696D8C40A4320FF323EC8040BDD944782F046D40010200008002000000E143BDD1696D8C40A4320FF323EC8040BDD944782F046D40B76661CFFA178A40DC5F095C14ED7E40DB48385F2A847240010200008002000000B76661CFFA178A40DC5F095C14ED7E40DB48385F2A8472404CE2D4C9ABFD884079CF3612008C7D406B3BEDB01F0F74400102000080020000004CE2D4C9ABFD884079CF3612008C7D406B3BEDB01F0F744000405145A80C854000409EB60A9E78400000DA03104C7840
+38     01050000801300000001020000800200000000204590483079400080844CEFC96040004000E2E0787440EBE0A9825FED7A400A42779ABA46604002C9070143CF7F40010200008002000000EBE0A9825FED7A400A42779ABA46604002C9070143CF7F40C2CAD8940E39814037FF3405B01E5C40E4705C24A1BF7740010200008002000000008005265EAA7A4000800D949D945C4000202F6C2D5F8540EBE0A9825FED7A400A42779ABA46604002C9070143CF7F40010200008002000000EBE0A9825FED7A400A42779ABA46604002C9070143CF7F4001002AF472F07C401F68D31C028B6F409523AE90957384400102000080020000000000561B675E7B40000085B41F786E4000602CA6C8C479403A7100D419027B40F7C8D7C4D9147240C6F01FD633AB764001020000800200000000801EB4B9178040004019BD3FD27E4000404E89203B8F40BDBACC949D968040EC4E14D121BF7D40611A5AFCA2CD8240010200008002000000BDBACC949D968040EC4E14D121BF7D40611A5AFCA2CD824082F481C487788340E95686DA387F77400A7AFE52782C884001020000800300000082F481C487788340E95686DA387F77400A7AFE52782C884000503327A3A98A400000EC11B49D5F400040DBDE58CE8540AD6AFF9581BB7B40E3D22088A56F7940E2563F7C5E9D7E40010200008002000000AD6AFF9581BB7B40E3D22088A56F7940E2563F7C5E9D7E400A3DFEFB72E4794051AD2EDE56B27A4009375DD2CB7680400102000080020000000A3DFEFB72E4794051AD2EDE56B27A4009375DD2CB76804014C9569D7BE6734059751BBE2ACD7E40F06807DDB553804001020000800200000014C9569D7BE6734059751BBE2ACD7E40F06807DDB553804000000A818E6D71400040888C5F3F80400010F0266EC58A4001020000800400000000207833BADD83400040362DB3188140004026CAF452744000A0DB9853058F400020A8D404D07A4000A0AF3979B5894000C06BCD56978D4000A0E7920DCC754000902DE719B58B4082F481C487788340E95686DA387F77400A7AFE52782C884001020000800200000082F481C487788340E95686DA387F77400A7AFE52782C8840234A1286F48582400CE42972F7A77740163A05F4466B834001020000800400000000803B68A880594000C0C9697B45644000A0FF28639E8E400040E4AFB059604000A0604104047F400040A7BAFE5F6B400040450ED0B87040005051D1CA66834000007BD22576454014C9569D7BE6734059751BBE2ACD7E40F06807DDB553804001020000800200000014C9569D7BE6734059751BBE2ACD7E40F06807DDB5538040BA7FB6E72DEA754071E70338E6BA79404BF2F222BCA3724001020000800200000000A029E6D2237540005072A396D2834000008D5538DB85400A3DFEFB72E4794051AD2EDE56B27A4009375DD2CB7680400102000080030000000A3DFEFB72E4794051AD2EDE56B27A4009375DD2CB7680400060A33248AA7A4000809514529778400040532055DC6340AD6AFF9581BB7B40E3D22088A56F7940E2563F7C5E9D7E40010200008002000000AD6AFF9581BB7B40E3D22088A56F7940E2563F7C5E9D7E40BDBACC949D968040EC4E14D121BF7D40611A5AFCA2CD8240010200008002000000BDBACC949D968040EC4E14D121BF7D40611A5AFCA2CD82409B0EBCA1C0FC834034215ED37F9081403CDE04A1B6807140
+39     01050000800400000001020000800200000000F096354ADB82400020079266D874400060BDE7BD2F7340D685868CB1F682404928BEA3D1217440C9ADEC4D1C07844001020000800300000000004BE738E68B4000403805AD896A4000C036DDFDE36B4000A07020E282734000E01AFAAA9A83400030470A9DB98040494ED5B0990084409AA9902734C480403C9609EEA042704001020000800200000000C0C2B4A7DC8B400070569C3565854000006EEC82D3774000E0A4B4609E81400080C2E2148D884000E0D905F64C754001020000800300000000A0F97B4B09814000306AF0AFAB8D400060FE080A3D7E400000212B72A97C400080F99421028D400000824894105140198681877C72784031555519DE958A404FC8D191E3C97140
+40     0103000080010000000600000000A037D6BDBB8B400040B6AC08F171400040C19DACDF6440004064B76F4978400000D05F83E736400000BBA51CBD5C400040A5907A7D604000009C3E7BBF7A400030DDB902B18E404D96C1D50B008A40BC88795981808240ACD14B1D5005814000A06287C31E8E4000E0CE5E33107C400090D72D1FCE804000A037D6BDBB8B400040B6AC08F171400040C19DACDF6440
+41     010100008000400A5E526D7D400060C86E0B1E7F4000008E2A574D3A40
+42     01060000801B0000000103000080010000000400000000F05B084DAA8640002070ED1FF0894000600C8FDABA79400030F29350308C4000C032CC858B864000C060E6BE4360403C42E968B46A7D40EFBB8DFB8CC78A4094582F122B9B814000F05B084DAA8640002070ED1FF0894000600C8FDABA79400103000080010000000D000000EA4D9A7EBD6E8040E424FACDFBCA56402A8BABA1BCC776400080B2D21184594000005C474EB22D4000401FF6ADEE6940000000B805042340000069CDFAE8624000E09C736CB68E40C1183097C0546340EC74015788566340774F40225CBC8C4020A1528CC21863404633248BFD636040D80E252B91498640000060F7E38C52400080883523E25440000064DC264F23406E19315472E86240D983D155AD085C406ECE3FE9A7077D4000C0F9819D7C62400000CFC7387051400050E4D220BD8B4099AD985832016440E48E9BB614D95C4014CFDAF732137E40BC75B14F28187140E0D524EC3FB0634078E3A4E60E65814068643C826A357C40228407C4793664408EA3A86E068082400040B6578E3A7E400080EDAA5C575840008032840C1A5F40EA4D9A7EBD6E8040E424FACDFBCA56402A8BABA1BCC7764001030000800100000005000000C1183097C0546340EC74015788566340774F40225CBC8C40F8F9EA4724596540823951FBA85A7640A0CF40066978884000C07FBE6DCA6B40002076F8E9D775400090A8A85D2B8E40323BEE301E5365401A42DC26926263408CAC43ED7A968D40C1183097C0546340EC74015788566340774F40225CBC8C4001030000800100000005000000323BEE301E5365401A42DC26926263408CAC43ED7A968D40CA82385A883B67401945126A176E6340A10B28A0ABFA8A4000C00CABE19266400000FD30237F62400090361BFEA18740F139D62E8BCD644057E5F4EE8C6C61405E9C606C576F8840323BEE301E5365401A42DC26926263408CAC43ED7A968D400103000080010000000D000000CA82385A883B67401945126A176E6340A10B28A0ABFA8A4022B8673BA58D72408C0A3906358B734048400DA2B4047F40AC5E47568920774073F94DF0B6387440CA877B24D52C7C407CCD57C2D6557A405A5C5371BAAB6B404615D5D2F7737D40A7407240B5877240B74AEA7072F86E4038FAEB01BC49844000800C9E117272400040BC63307A6E400080302674C4884065E4C68E673072408056B7DF5A1D6F407AF422B5FE3784404E44294D6F3771408E3615A99B866F40D441F9AB715B804000E0699485AD714000C099F629536E400020EA60E30081402CB0D61FC78F7A40360B671011C56A40A197C8D8589D7A4013C1EFA7AF927A407EB825FF7CB96A40F62508EF37A16E40BC75B14F28187140E0D524EC3FB0634078E3A4E60E658140CA82385A883B67401945126A176E6340A10B28A0ABFA8A400103000080010000000E000000AC5E47568920774073F94DF0B6387440CA877B24D52C7C40CF9585BFC2A27140D04B364AFE267F406A454B1B23AF83400040A83AC81C744000A0B78F170C7E4000603A136B5C7F404F012757C87E764066821D8066777F407A339C17294483403A6F6E7A09EF7040684AE7365F4680409B620180F27D86400000C680AAAC6B4000008B70555B834000A030B311BE874000807536885A5E400020BD6E46358B4000C0E2EFFE9E804000E02BE742877F4000E0203D65C27C400000E25422DB314022AFBB9698238040F151A11A6C397D40E6DF4B7C8D1D6D406941F4EBB9568340C128F28A9F8676407B5A6950E8FE78406429F778DE62824074E0FF065A3E7640C711B3974EA686400040EAE6856682400060CE8875A4764000F09B886DB18E40C26001EE4D3A81401663489675E675408BF37B10918A8440AC5E47568920774073F94DF0B6387440CA877B24D52C7C4001030000800100000004000000CF9585BFC2A27140D04B364AFE267F406A454B1B23AF834000C05B50013E69400050BF6FE7B1804000C0FC7AB36E8D403A6F6E7A09EF7040684AE7365F4680409B620180F27D8640CF9585BFC2A27140D04B364AFE267F406A454B1B23AF8340010300008001000000080000006941F4EBB9568340C128F28A9F8676407B5A6950E8FE7840014CA9BA8B94844070E4EC99D0E47640264E0BB78621824000D023E177AC8440002090CB16B2764000809DC586E98340CF982F3C92A48440C1B6317490E976408CDE9C24271B824071A8253435D285400234D6B4F54277400BD485B8B0307B400909D37F29918640F23FB522574074407EA88F72CD7C774093D8AED965FC8440F8876025E1137340CC416A56572675406941F4EBB9568340C128F28A9F8676407B5A6950E8FE784001030000800100000008000000014CA9BA8B94844070E4EC99D0E47640264E0BB786218240BA5D9064FA6A8240E812FF359D7A7B403E7C445A0130834000A0A50710E7804000500328F097884000609BE7C02173409E5C81E7ACD2824091A4B32932D9814023FDCAA267D87840213F63A070C58240A0151D13ECC88140D6AB7B790B8F744082D71BC76EEF82405AA9354C307481401ED6972010727940CF982F3C92A48440C1B6317490E976408CDE9C24271B8240014CA9BA8B94844070E4EC99D0E47640264E0BB786218240010300008001000000060000009E5C81E7ACD2824091A4B32932D9814023FDCAA267D878409FCD0686E9B58340099CF5D798F082405F17F9E6A3986540163EEE9935A9864043901FEFAD827740EA4FD5C26962784071A8253435D285400234D6B4F54277400BD485B8B0307B4082D71BC76EEF82405AA9354C307481401ED69720107279409E5C81E7ACD2824091A4B32932D9814023FDCAA267D8784001030000800100000004000000163EEE9935A9864043901FEFAD827740EA4FD5C2696278400040140823D08D40002008E94EA179400080E1E53D17814053477401AF3A874024924A932DBE7440E7F01959CA627540163EEE9935A9864043901FEFAD827740EA4FD5C2696278400103000080010000000600000053477401AF3A874024924A932DBE7440E7F01959CA627540F2E7F293004E8940D0BA31B201456540649EB27EE15484402FDFBB6276068940CA90A1BD413E65405B17219571F184409A3E5BCE26E08840048BF4E0A8DE6540CAD00178885776400909D37F29918640F23FB522574074407EA88F72CD7C774053477401AF3A874024924A932DBE7440E7F01959CA62754001030000800100000005000000F2E7F293004E8940D0BA31B201456540649EB27EE15484400020A20CA5DD8E4000C0E70254CB654000E051D9C89B8E400CC9DB9B36C589405C6BB22F9B1F6240568B369E11E18240E638389A2685894086ED9B02D42B6340714300B194B17540F2E7F293004E8940D0BA31B201456540649EB27EE1548440010300008001000000050000000CC9DB9B36C589405C6BB22F9B1F6240568B369E11E18240C88A044B211A8A4087326FF811BC6040BCB3244D833981408316C9211DBD89408720715DB70A6140B43A954CB686804003BAB6E733A38940F84120D01A076240FEF9C006682E82400CC9DB9B36C589405C6BB22F9B1F6240568B369E11E1824001030000800100000004000000C88A044B211A8A4087326FF811BC6040BCB3244D8339814000D072A5FD1C8F40008016CBCCFE584000508F010F6E8740D6A30EE53C2B8A40E597E91C717460402B660DAFFDE28040C88A044B211A8A4087326FF811BC6040BCB3244D8339814001030000800100000005000000D6A30EE53C2B8A40E597E91C717460402B660DAFFDE2804000E0942DA7298D4000005AEB705C3F40002019BF94387A40EA3900F1DCF38A4087AD5DC85BDF44404E4D29E2A10F774007001E6610C48940C439EB4704C76040A0A5117D0B278040D6A30EE53C2B8A40E597E91C717460402B660DAFFDE2804001030000800100000004000000EA3900F1DCF38A4087AD5DC85BDF44404E4D29E2A10F774000E06F7316058B40000066233F4042400080768F1FEA7640A7433B6105F08A4023AE885662E844401E9B1ED260187740EA3900F1DCF38A4087AD5DC85BDF44404E4D29E2A10F774001030000800100000005000000A7433B6105F08A4023AE885662E844401E9B1ED260187740EA4D9A7EBD6E8040E424FACDFBCA56402A8BABA1BCC7764044FB337204E288403206A3BCEE7B61407AA69EA3468387400DD0A02A5C7A89404A29246B010261409B41C58844858040A7433B6105F08A4023AE885662E844401E9B1ED2601877400103000080010000000500000099AD985832016440E48E9BB614D95C4014CFDAF732137E406E19315472E86240D983D155AD085C406ECE3FE9A7077D4020A1528CC21863404633248BFD636040D80E252B91498640F139D62E8BCD644057E5F4EE8C6C61405E9C606C576F884099AD985832016440E48E9BB614D95C4014CFDAF732137E4001030000800100000005000000C64929EA5771894068099EE2C74A61402F4D610E5BEC80408316C9211DBD89408720715DB70A6140B43A954CB686804007001E6610C48940C439EB4704C76040A0A5117D0B2780400DD0A02A5C7A89404A29246B010261409B41C58844858040C64929EA5771894068099EE2C74A61402F4D610E5BEC804001030000800100000005000000C26001EE4D3A81401663489675E675408BF37B10918A84406429F778DE62824074E0FF065A3E7640C711B3974EA686403D365347234882401B0238CD60537340BC264B64A95981400000649D6EFA7A40000094D6BE88734000406B4AD9BF6A40C26001EE4D3A81401663489675E675408BF37B10918A844001030000800100000005000000DC64F75E0410894039991D33129D614000A487FB080E884044FB337204E288403206A3BCEE7B61407AA69EA34683874007B9736446B2844025AF54D9B2D56440DC25FD2EA988894065E8352C6A32854068E0E4E7C9E16440D4885B979A528A40DC64F75E0410894039991D33129D614000A487FB080E88400103000080010000000500000007B9736446B2844025AF54D9B2D56440DC25FD2EA988894068643C826A357C40228407C4793664408EA3A86E0680824013C1EFA7AF927A407EB825FF7CB96A40F62508EF37A16E40870CDB46CD9B7A4037D1C84441C06A40C0B4F6953B4D794007B9736446B2844025AF54D9B2D56440DC25FD2EA988894001030000800100000005000000870CDB46CD9B7A4037D1C84441C06A40C0B4F6953B4D79402CB0D61FC78F7A40360B671011C56A40A197C8D8589D7A407CCD57C2D6557A405A5C5371BAAB6B404615D5D2F7737D4080D65DE1864C7B400FCD109A70436B40C6A7BB4EA2237C40870CDB46CD9B7A4037D1C84441C06A40C0B4F6953B4D79400103000080010000000600000080D65DE1864C7B400FCD109A70436B40C6A7BB4EA2237C4093D8AED965FC8440F8876025E1137340CC416A56572675409A3E5BCE26E08840048BF4E0A8DE6540CAD00178885776409D568CED3CF48840796B4B8D893C654024A104593DE5844065E8352C6A32854068E0E4E7C9E16440D4885B979A528A4080D65DE1864C7B400FCD109A70436B40C6A7BB4EA2237C40010300008001000000060000009D568CED3CF48840796B4B8D893C654024A104593DE584402FDFBB6276068940CA90A1BD413E65405B17219571F18440E638389A2685894086ED9B02D42B6340714300B194B1754003BAB6E733A38940F84120D01A076240FEF9C006682E8240D001A41B0260894018030C83B2D66140215A2E2CB68582409D568CED3CF48840796B4B8D893C654024A104593DE5844001030000800100000004000000D001A41B0260894018030C83B2D66140215A2E2CB6858240C64929EA5771894068099EE2C74A61402F4D610E5BEC8040DC64F75E0410894039991D33129D614000A487FB080E8840D001A41B0260894018030C83B2D66140215A2E2CB6858240
+46     010600008009000000010300008001000000070000001131B6879EBE74406C2BDB5D34BB6C40063524841F9185400040BA5D52F1704000002044A52FF13F008009CF76E87C400000598C90194D40008071F4223654400070DDCBB01F88404D72D83C57FB744023919C38EFEB704056A3E394E6808540B8057342B74875409D2A1D6732D47040248DCECB733B85400020AF53B80E734000C0E7C981CC694000A0B7C3D8F88D401131B6879EBE74406C2BDB5D34BB6C40063524841F91854001030000800100000006000000B8057342B74875409D2A1D6732D47040248DCECB733B854089ACF84E2815764059265B2E003D724012177E53F214874091FA390D60027840E2FDC6D6ED337140C0011097FDDE85401131B6879EBE74406C2BDB5D34BB6C40063524841F9185406EEFE8F70F647540A5FE6CAFCECB7040FB2E96DCD82B8040B8057342B74875409D2A1D6732D47040248DCECB733B8540010300008001000000050000008BE5C948A3D58A40770FA17509A1774062E8A69A778977400070E7C9EA3C884000204DDB2BD778400020E4C5C11F7E40CB6AC86BD57286401364C7DCD05282403AEF8CF60B7D81406B30652691CE874040B2474B71E582407461CC2B2A9180408BE5C948A3D58A40770FA17509A1774062E8A69A7789774001030000800100000005000000CB6AC86BD57286401364C7DCD05282403AEF8CF60B7D8140E04E1096AC278140608546C5641780408E43DD0757F88340012A200CAFB97F4006F799BA41138340E94CA9F00E147B40F9727EEE58828540A4101CD72F6C854034158FD7AF677640CB6AC86BD57286401364C7DCD05282403AEF8CF60B7D81400103000080010000000A000000012A200CAFB97F4006F799BA41138340E94CA9F00E147B40683DE33E13EA6D40CF6FF406F62D7F40BE1E94A3857F71409417CD0967986D40701F2DF13DDD80408D03CB62938F7840392EDEFFAD006C40A5369F093CC87E40D699EF664DD3754000807782C4E95340004020D9F4077B400040715A84DB7740000067ED05A5534000600B05BF578E4000B0EB5316D58C40B68D337E60A7844060DCA69A933E8840B462D733AC5082406191776C19D3844099ACC5CF55AE8740BB92A390E827754000E0ED78A4297A4000B09D39407F89400020CFF08B7B7A40012A200CAFB97F4006F799BA41138340E94CA9F00E147B4001030000800100000005000000683DE33E13EA6D40CF6FF406F62D7F40BE1E94A3857F714000408ADABE0E6E4000202CDAFB087E400000195A37F84A4000C0255F83A8674000001C5ED4BE76400000CFEB00E84540392EDEFFAD006C40A5369F093CC87E40D699EF664DD37540683DE33E13EA6D40CF6FF406F62D7F40BE1E94A3857F714001030000800100000004000000B68D337E60A7844060DCA69A933E8840B462D733AC50824000700A1CD48A824000B01E5FDC358F4000C0B7E438E06840E740148153AA8540933E7429CDE78740806E0D1B7CAC8140B68D337E60A7844060DCA69A933E8840B462D733AC50824001030000800100000007000000E740148153AA8540933E7429CDE78740806E0D1B7CAC814000F0ED8B517A8D4000B0F41C9849854000B07E97164F8A406B30652691CE874040B2474B71E582407461CC2B2A91804093F0618F068B8640FFD28E4138DA8540CA0E24A20C1E74400050143F3EBC884000B083E787C3864000C01CB599EB74405825F04A9EDD8540F4CF91AED36F87404A50611E8E967340E740148153AA8540933E7429CDE78740806E0D1B7CAC814001030000800100000005000000F9727EEE58828540A4101CD72F6C854034158FD7AF6776406191776C19D3844099ACC5CF55AE8740BB92A390E82775405825F04A9EDD8540F4CF91AED36F87404A50611E8E96734093F0618F068B8640FFD28E4138DA8540CA0E24A20C1E7440F9727EEE58828540A4101CD72F6C854034158FD7AF677640
+47     0102000080040000000010CEB49E1D83400080DF2254CB7E40000038398F5B86400040DF60B9AB814000C0DF04B2977D400000FC9544E17240002006A85C2E704000E0C8E1CB387A400030791EE5EE8B40C1896CFF8BC08240328FF3B7E99C7240F88853259E948040
+48     01040000800700000001010000800040979B09BC6E400000879170797D4000C0BB4C9A5F744001010000800040513D774A8840000010DC0CD138400040F6AA3BB48340010100008000A000F51A658B4000A082C508FB75400000002753656D40010100008000004A9CF6998E400000769C926F3B40008084E268027B400101000080004011A94B5A7B400030D2154FDA8640005067384B4A844001010000800000CC7A5F4645400000663AA23B6D4000002B87BC657D40010100008000E084606F45714000A07912A15177400070F5ED18B38740
+49     01060000803000000001030000800100000006000000E53039AEE4317940D04AAB07B689724060D2838FEE08854000008C88AD716F4000C075A0389E644000800D3BB4797E40A2CFBFB21E8772400728EFCF85CE6D4019AC3D009F647E400080D593FD2D72400080D8BD38EF6B4000C0F2B6AA657D4013798769C3E178406E8D6E95FCE17240D0C93E2D92CE8240E53039AEE4317940D04AAB07B689724060D2838FEE08854001030000800100000005000000A2CFBFB21E8772400728EFCF85CE6D4019AC3D009F647E4065501297A70E7440D956CC7E04047340850EF9644ABC824063A901D2906576405C749573DB9E754030330DA8D1F887400E6C3A3844897640DE8A84FB86777540E6F938C9222B8440A2CFBFB21E8772400728EFCF85CE6D4019AC3D009F647E400103000080010000000600000065501297A70E7440D956CC7E04047340850EF9644ABC82400000C5F18A9B66400080BF17F289624000701FB41AB18540615279E7C05C6E401D94B05254ED7740CFC459CD5D977F40B88911D607087340CDD5EFD8F8537940C17CDD624D308140C5CD88F8A56C7540368A5C1314B17640B2BFDFF435E4814065501297A70E7440D956CC7E04047340850EF9644ABC82400103000080010000000B000000615279E7C05C6E401D94B05254ED7740CFC459CD5D977F400040BD06CE776440000057B08120764000D00BD00574804000004805076E17400070318CDF5C874000007C24961A2740FF633C37320F5D403AD1B627DB9B874027152F06F7017B400000E8AD5C6D5E4000900ED03D3585400020B1A57B4E8C40DFFFB4D146326A407AADB790801A80409479BEFFB3FF864000C0C9A91DC669400050CD486C0C804000B063F6250E844072B00718F3196B405EDCE0F8A75D7F4018FF15B5600C87400000C6359ED76D400080D8276ED17C400050543DE63A8940C3A40E82EA3D704068B05709D5EF7B40BD87F672DA598440615279E7C05C6E401D94B05254ED7740CFC459CD5D977F400103000080010000000B000000FF633C37320F5D403AD1B627DB9B874027152F06F7017B400000E2EEC8F35A4000B0E8D5A24E8B4000C03D750424794000E0BE5C1E38814000C08BE810978D400040391895B76E4000E0D7B1140F82400080A5C50F2F894000709578206D8440B205E8C7A7D5834014E74986BBC2884094579565396286403B9C9C883989824008124DAA64A28640B6D43F8D26C4804000E09968B3C7774000A0D4E123E6864000403A32726884400040F8B1D7C975400030AB30CC73884000A08D3517097540CA93B16D81787440E68A03A92DF68540989B3F27375872408814D081464E69402F7F1EF80BCD8740FFEDA0EFA5DF7040FF633C37320F5D403AD1B627DB9B874027152F06F7017B4001030000800100000007000000B205E8C7A7D5834014E74986BBC2884094579565396286403EAC8F66AC3F8640BA93351FB5B68C404605CDD7821D86400020815F59F28E400080274067358940006087BEE4088B4077D5C046B7918B405B83A9EF4F4686400EFED2A34FB17C40D727A977C8FC874035E47BD4D26A86400A14DFD092AC824000E061D4778B874000C0D74362E0874000B02E183ADE8E40B205E8C7A7D5834014E74986BBC2884094579565396286400103000080010000000700000077D5C046B7918B405B83A9EF4F4686400EFED2A34FB17C400030F46381C08D400070A9D40F308640000018F97B38404047A70BE13CAA8A408C0DDAB63B2E7B400C0C9BAA677A7C404555C28D1C1B8940D41118D3E5BA82402040F132031382400040BFF1BD4E8D4000506A5FC8CF8540004066F6E55A6940DACFDFE9BCFE8A405876FD99A2C6854002E6A13A579E7F4077D5C046B7918B405B83A9EF4F4686400EFED2A34FB17C400103000080010000000700000047A70BE13CAA8A408C0DDAB63B2E7B400C0C9BAA677A7C40B65DE11CB0C78B403FFFC6392CD4734083683521DAC9814080E0821063DC89404F57517AC7007340E6250BA27E987940F1D5A7A369D989402660FA4EDE1870404C45F9AAED8E8140D2A6692E6B2489405CE4CC0090F1704041677CA2245884407D34250A53FE8840B6F34A8FB3DE7140286F83736346784047A70BE13CAA8A408C0DDAB63B2E7B400C0C9BAA677A7C400103000080010000000A000000B65DE11CB0C78B403FFFC6392CD4734083683521DAC9814000C088A4ACD88C40002012A7A14974400060B32FB80678400000E7AA09718E400000998B04A0614000E078CDC4888240000076DD9CCB89400000F318D8EA444000C06660E6D68440EC8452EC28D38940A53D2CBAF1F963403AA21E7A24CF824000E07FA6092E8A4000802B7224F864400050BBAA4FD18340A24AE9D4DCD589402D9A883CEE41694018398893FFE18140F1D5A7A369D989402660FA4EDE1870404C45F9AAED8E814000E0C65864E68C4000405091B0E368400010349228478540B65DE11CB0C78B403FFFC6392CD4734083683521DAC981400103000080010000000C000000EC8452EC28D38940A53D2CBAF1F963403AA21E7A24CF82400060A7E6701B844000001A6ABBDD3F40007029B157BA8D4064D52EF2BF707F40A3C489E7A4506740DCC7BA60EC29864039A3EEA4BAE680406A068A753B387040C79779B1CE797B40005050A9C070824000C06F61D5546C4000C01FE994A17240ED7305986B408140E21FD439AF927140D6BFC96FD5857A40D0F31E3E0F7382401561638D253376408DC8BAD356358040007043783A0887400080E88EDAC75B400040FA3B5612674017B603B505E288401D8791240E417140FC0EBA5FBD3A7940D2A6692E6B2489405CE4CC0090F1704041677CA224588440A24AE9D4DCD589402D9A883CEE41694018398893FFE18140EC8452EC28D38940A53D2CBAF1F963403AA21E7A24CF82400103000080010000000400000064D52EF2BF707F40A3C489E7A4506740DCC7BA60EC29864000205CDF0C407F4000407710889466400050AC6324D98140878D9E9C8FE07E403B51A040568E684015ACB5DA6135864064D52EF2BF707F40A3C489E7A4506740DCC7BA60EC29864001030000800100000005000000878D9E9C8FE07E403B51A040568E684015ACB5DA61358640E53039AEE4317940D04AAB07B689724060D2838FEE0885403C3A4BC2C56C7B4054E39F979F7974402F2E291FBA32814088C420750BE77B40A4D0CEE20928744040137123657D8140878D9E9C8FE07E403B51A040568E684015ACB5DA6135864001030000800100000004000000CE02F3337F4F71405D63ECD649397B405C6E41554A8F8640C3A40E82EA3D704068B05709D5EF7B40BD87F672DA5984406E55A5A642567040E193BD78DC4B7C4006B32C9353CD8240CE02F3337F4F71405D63ECD649397B405C6E41554A8F8640010300008001000000050000006E55A5A642567040E193BD78DC4B7C4006B32C9353CD824072B00718F3196B405EDCE0F8A75D7F4018FF15B5600C8740DFFFB4D146326A407AADB790801A80409479BEFFB3FF86409B94CA7CD50D72405F0E4DFCCA648140B40C7C476F9C80406E55A5A642567040E193BD78DC4B7C4006B32C9353CD8240010300008001000000040000009B94CA7CD50D72405F0E4DFCCA648140B40C7C476F9C8040A6AD93432FB572400650FC971CA18240F3EF9D42866A7940E050A88704F673400F30CED6E2E38140CDF98EF2DB1780409B94CA7CD50D72405F0E4DFCCA648140B40C7C476F9C804001030000800100000004000000A6AD93432FB572400650FC971CA18240F3EF9D42866A794000A02978C3E770400000E85D41B1834000803B064D817040440A4B2711F972406658A6806B2183404995840EE0157640A6AD93432FB572400650FC971CA18240F3EF9D42866A794001030000800100000006000000440A4B2711F972406658A6806B2183404995840EE0157640CA93B16D81787440E68A03A92DF68540989B3F27375872402C416883AB007C403EE1CE6488308440FEB54EA3844B6A4004DDB7830ED07B406BB114602DEF834022EBA64649FE7840FAA42F0B9BC9754067997D0C9E5D824070AD5B6B0BC27A40440A4B2711F972406658A6806B2183404995840EE0157640010300008001000000050000002C416883AB007C403EE1CE6488308440FEB54EA3844B6A40E4225981080A7D404DB4204D49958540D0F12D5EE20E7040C37E158AB62681400E9A7138B29F8540D73057108C447640FF43ED9A006B7C4054EA80FF831784403A09B95C0C6E74402C416883AB007C403EE1CE6488308440FEB54EA3844B6A4001030000800100000004000000C37E158AB62681400E9A7138B29F8540D73057108C44764023CB9602DD468240476642C5BA3586408FAAFC7891168140CA5E33FF1BED8140F5BAA802C3A28540794DAB6C50B07B40C37E158AB62681400E9A7138B29F8540D73057108C4476400103000080010000000400000023CB9602DD468240476642C5BA3586408FAAFC78911681403B9C9C883989824008124DAA64A28640B6D43F8D26C4804027976EB7720D83409F8387D3209D864064671530F0307A4023CB9602DD468240476642C5BA3586408FAAFC78911681400103000080010000000400000027976EB7720D83409F8387D3209D864064671530F0307A4000D0625A0F8485400020EB4479E587400040B1D115957840C987ABC3224285406673CA98A48686408897808A6CA77A4027976EB7720D83409F8387D3209D864064671530F0307A4001030000800100000005000000C987ABC3224285406673CA98A48686408897808A6CA77A40D727A977C8FC874035E47BD4D26A86400A14DFD092AC82400386CB83F231884001264E378FBB8540309C37563550824040337F9AAC19854085F1393F51AF8540C491F0E6493A7A40C987ABC3224285406673CA98A48686408897808A6CA77A40010300008001000000040000000386CB83F231884001264E378FBB8540309C375635508240DACFDFE9BCFE8A405876FD99A2C6854002E6A13A579E7F404732F170C6C4884009DF4FD684D78340B0248FFEEB468A400386CB83F231884001264E378FBB8540309C375635508240010300008001000000050000004732F170C6C4884009DF4FD684D78340B0248FFEEB468A404555C28D1C1B8940D41118D3E5BA82402040F132031382403D70CCD0D07786403A452EEE9FCB8040CA0ED256B3397D40B3DC6E1C6E348640F1080E2B5D9D8140AA8040C2535285404732F170C6C4884009DF4FD684D78340B0248FFEEB468A40010300008001000000070000003D70CCD0D07786403A452EEE9FCB8040CA0ED256B3397D407D34250A53FE8840B6F34A8FB3DE7140286F83736346784017B603B505E288401D8791240E417140FC0EBA5FBD3A7940ECE5393588FE82408014E7E8E34D78401CAE8064AC6780401C454A95DDB983408200FCEB81217B40487AAFA7335D7740A09ED47E7CC58240D68C5B7F242B7C40809617DD431676403D70CCD0D07786403A452EEE9FCB8040CA0ED256B3397D4001030000800100000005000000ECE5393588FE82408014E7E8E34D78401CAE8064AC678040D0F31E3E0F7382401561638D253376408DC8BAD356358040D33C054EA54D8140719179E8D8037A406EB5FD1BBDB080401260D2EFCA6B8140366C1D6211307A40505272D42E157F40ECE5393588FE82408014E7E8E34D78401CAE8064AC67804001030000800100000005000000D33C054EA54D8140719179E8D8037A406EB5FD1BBDB080407B53763B42A47E40672E92DB671B7740458830B6682C7A40FBDFF76533927E404BCCD2C44835774012903E797C9180407B8614FA562A8140E9D0E3385F797A400BF28FE04F3B8540D33C054EA54D8140719179E8D8037A406EB5FD1BBDB08040010300008001000000070000007B53763B42A47E40672E92DB671B7740458830B6682C7A40ED7305986B408140E21FD439AF927140D6BFC96FD5857A4039A3EEA4BAE680406A068A753B387040C79779B1CE797B4088C420750BE77B40A4D0CEE20928744040137123657D81409084D944A6B17B40D7FFC3A174B574402CC191308BC482404A3F8301F9707D403543707E093A7640483F3C38041D7F407B53763B42A47E40672E92DB671B7740458830B6682C7A40010300008001000000050000009084D944A6B17B40D7FFC3A174B574402CC191308BC482403C3A4BC2C56C7B4054E39F979F7974402F2E291FBA328140BD72F0E8EB3A7B4059AEE2CAE29A7440F2AF44CC12237D40E078090DC29F7B403EA3484ED7E4744074A2F3A1900180409084D944A6B17B40D7FFC3A174B574402CC191308BC4824001030000800100000006000000BD72F0E8EB3A7B4059AEE2CAE29A7440F2AF44CC12237D4013798769C3E178406E8D6E95FCE17240D0C93E2D92CE82400E6C3A3844897640DE8A84FB86777540E6F938C9222B8440163EAB542C2077407BBB7237A16E7640D1BF3071A1DB84407316B63F39A3774007B991428B007740F424D1154FE08540BD72F0E8EB3A7B4059AEE2CAE29A7440F2AF44CC12237D4001030000800100000006000000163EAB542C2077407BBB7237A16E7640D1BF3071A1DB844063A901D2906576405C749573DB9E754030330DA8D1F88740C5CD88F8A56C7540368A5C1314B17640B2BFDFF435E48140A51E20D2F8F4754052BE0EE49F1F78404893C08A43418040E6F39E056D857740B770D01B6D147740F6B78132B50C8240163EAB542C2077407BBB7237A16E7640D1BF3071A1DB844001030000800100000004000000A51E20D2F8F4754052BE0EE49F1F78404893C08A43418040B058E51FA2C173409DE15E8681977940A4B86DDA57C2804091AC07B2CFEE7640AC9E951F64BF7A40F2E07E8258047640A51E20D2F8F4754052BE0EE49F1F78404893C08A4341804001030000800100000004000000B058E51FA2C173409DE15E8681977940A4B86DDA57C28040B88911D607087340CDD5EFD8F8537940C17CDD624D308140CE02F3337F4F71405D63ECD649397B405C6E41554A8F8640B058E51FA2C173409DE15E8681977940A4B86DDA57C28040010300008001000000040000007073BD231AC27D404CA582412A3B7D401851CC11B4677A404788211B05FA7C400BEB02D55CF27C404AB6722C97BD8040136403D1806A7D40A8ADDC8E9A6F7D403C82EAEF74E686407073BD231AC27D404CA582412A3B7D401851CC11B4677A40010300008001000000040000004788211B05FA7C400BEB02D55CF27C404AB6722C97BD804018E5917AD49E7B40403F7758CB6F7B405E876AC59E198540033750DA010E7B40B27ABA69563F7C4017E18A557BFE78404788211B05FA7C400BEB02D55CF27C404AB6722C97BD80400103000080010000000600000018E5917AD49E7B40403F7758CB6F7B405E876AC59E198540FBDFF76533927E404BCCD2C44835774012903E797C9180404A3F8301F9707D403543707E093A7640483F3C38041D7F40E078090DC29F7B403EA3484ED7E4744074A2F3A19001804045030A5A3EE279407A587B65C88079400E877C8AFBAD864018E5917AD49E7B40403F7758CB6F7B405E876AC59E1985400103000080010000000500000045030A5A3EE279407A587B65C88079400E877C8AFBAD86407316B63F39A3774007B991428B007740F424D1154FE08540E6F39E056D857740B770D01B6D147740F6B78132B50C824012A84800EA8B794080E663036D657A40BED2255E0ED5824045030A5A3EE279407A587B65C88079400E877C8AFBAD86400103000080010000000400000012A84800EA8B794080E663036D657A40BED2255E0ED58240EA1A84473A1D7940892904F7938A7B40128149D9EE6A7D4060873605B7917A40E04501BA1C127C40ECB088BABE497A4012A84800EA8B794080E663036D657A40BED2255E0ED5824001030000800100000004000000EA1A84473A1D7940892904F7938A7B40128149D9EE6A7D4091AC07B2CFEE7640AC9E951F64BF7A40F2E07E825804764067966004FB2978405C837EF2D00E7E40BEB2F13F7DA47F40EA1A84473A1D7940892904F7938A7B40128149D9EE6A7D400103000080010000000900000067966004FB2978405C837EF2D00E7E40BEB2F13F7DA47F400020E2B3B5A477400060A167C86F7F4000A0BCBDA8D28440E050A88704F673400F30CED6E2E38140CDF98EF2DB178040FAA42F0B9BC9754067997D0C9E5D824070AD5B6B0BC27A40F30EA6013CD479407CE53C66764481405445D1474A9C7340B0CD4F7361EE7840E18872A5720F80404241339F6EC17D400080A028BBEF774000E02ED5AA5B80400060711309248340DCC4FDDED3BA7840DC3BB5B847947F4084BA0EDDDD367D4067966004FB2978405C837EF2D00E7E40BEB2F13F7DA47F4001030000800100000006000000F30EA6013CD479407CE53C66764481405445D1474A9C734004DDB7830ED07B406BB114602DEF834022EBA64649FE7840FF43ED9A006B7C4054EA80FF831784403A09B95C0C6E7440C4270A8A315D804054F3CE2EEB138340BFD9DD9608917640949AD8D741597D4026F8A2449D4F804030B90D0ACCA37C40F30EA6013CD479407CE53C66764481405445D1474A9C734001030000800100000009000000C4270A8A315D804054F3CE2EEB138340BFD9DD9608917640CA5E33FF1BED8140F5BAA802C3A28540794DAB6C50B07B4040337F9AAC19854085F1393F51AF8540C491F0E6493A7A400070627E7B068540002004FF2E49854000A0FB4AF6268440B3DC6E1C6E348640F1080E2B5D9D8140AA8040C25352854023AFE52628628240D1BD4F911C977C40205148566CE37F408F6C6A3100A08040AABA8AF56B807E40EA0291055BDA6F4000808DB07510854000E017D4B9DD804000006C3588F23A40C4270A8A315D804054F3CE2EEB138340BFD9DD96089176400103000080010000000500000023AFE52628628240D1BD4F911C977C40205148566CE37F40A09ED47E7CC58240D68C5B7F242B7C40809617DD431676401260D2EFCA6B8140366C1D6211307A40505272D42E157F405E662750102C8140D01CD2FB5D7C7A401836D5708EE5834023AFE52628628240D1BD4F911C977C40205148566CE37F40010300008001000000040000005E662750102C8140D01CD2FB5D7C7A401836D5708EE583407B8614FA562A8140E9D0E3385F797A400BF28FE04F3B85405E93BB5AF72781407C9E18D845817A403CFC5EF7812585405E662750102C8140D01CD2FB5D7C7A401836D5708EE58340010300008001000000040000005E93BB5AF72781407C9E18D845817A403CFC5EF7812585407073BD231AC27D404CA582412A3B7D401851CC11B4677A405CD5C816591380401552B5AC101A7E405AD6D1D2A94C7F405E93BB5AF72781407C9E18D845817A403CFC5EF78125854001030000800100000007000000136403D1806A7D40A8ADDC8E9A6F7D403C82EAEF74E68640183FCBDE1DF17B40B0575E0A84517E40245B46C4A4C68240949AD8D741597D4026F8A2449D4F804030B90D0ACCA37C408F6C6A3100A08040AABA8AF56B807E40EA0291055BDA6F405CD5C816591380401552B5AC101A7E405AD6D1D2A94C7F400040DA7A674B7F4000606B750C877F400000610D11CB8A40136403D1806A7D40A8ADDC8E9A6F7D403C82EAEF74E68640010300008001000000040000008A55FB1D74DA7A408AB9C0E137897C40F21488FA97698140033750DA010E7B40B27ABA69563F7C4017E18A557BFE784060873605B7917A40E04501BA1C127C40ECB088BABE497A408A55FB1D74DA7A408AB9C0E137897C40F21488FA97698140010300008001000000050000008A55FB1D74DA7A408AB9C0E137897C40F21488FA97698140DCC4FDDED3BA7840DC3BB5B847947F4084BA0EDDDD367D40B0CD4F7361EE7840E18872A5720F80404241339F6EC17D40183FCBDE1DF17B40B0575E0A84517E40245B46C4A4C682408A55FB1D74DA7A408AB9C0E137897C40F21488FA97698140
+50     01020000800200000000D0420EFA97874000F0CE32653788400000ACEB782448408026428B585987402BCEAB90D91088409ACE00A7F2687240
+51     01040000800500000001010000800000DE38BE538740004052247A0F7B4000D05C0AD23181400101000080004098DD30D58D400080F8287F0D8C4000E0C6E382148C4001010000800080616263DE66400000262013C3754000E07DA187788440010100008000B0518D1A1587400000F8A0368B5A400070A955AE7A8E4001010000800040E30137A58B4000C0D600CF7B8A4000D0C1C96DEE8540
+52     01060000800A00000001030000800100000004000000E0FDC5CCCFBF7740A7F8D8AC752E6A40814396811B027A400000DE54AA5E594000404E7D75F260400000CCF110452F4043A30B668EE275401C84F59966FC6B40869222F3309A7F40E0FDC5CCCFBF7740A7F8D8AC752E6A40814396811B027A400103000080010000000500000043A30B668EE275401C84F59966FC6B40869222F3309A7F4000A041953503724000007DDFEFBB6F4000A0BC1DC3878340F591B99A73A972404898F697A6F572403AEF6637B79F7B40C44273F333D77840CBEF88FACB156E40E2047308F4217E4043A30B668EE275401C84F59966FC6B40869222F3309A7F400103000080010000000B000000C44273F333D77840CBEF88FACB156E40E2047308F4217E4000A00612288D7D400040B92127B7704000C0B736822980407BD79DD3F4657E40EFF12D50F2AA85404F01BC056BC67640B33304AAF06D8740EC8DD267D61379401037CF997628774078F964CDAE5C8940F8B082AAF03E7440D482E7D75D4E7740BE21058019F885400CE3B45627727240E283C30D4AA979404A9951AD094185406EDD057602A37D40E0855B81201779400030A3E163B183400020B09EC4F87C4000A043018486724095055A33C8C280400CF587E6A55D6F4061EAEF1EDC3B7A409A15E55D77B07A4023B82ADCBEBD6B401EBC45F70DC27740C44273F333D77840CBEF88FACB156E40E2047308F4217E4001030000800100000006000000BE21058019F885400CE3B45627727240E283C30D4AA979400020E98A8C6386400080AAAF36C167400020EC2270938140BDA945244FAE82405105D4DF4A6B5C403F549584005287401E889E603C677F4076022A45AEC36540847560D3BD8B854095055A33C8C280400CF587E6A55D6F4061EAEF1EDC3B7A40BE21058019F885400CE3B45627727240E283C30D4AA9794001030000800100000004000000BDA945244FAE82405105D4DF4A6B5C403F549584005287400010EF11F2AF84400080E0C1543E524000807CC2C7168A40D3C6F9B7FA698240CA3FDC9F7F0B5B40642346FDA9F38740BDA945244FAE82405105D4DF4A6B5C403F5495840052874001030000800100000005000000D3C6F9B7FA698240CA3FDC9F7F0B5B40642346FDA9F387404D5C58960A1381403011C04BE4255440575A095C1D50874079C06582F4407D40C1E0075E570B5840C7B703D47C8D8740AF402F4B02DC7E4032549D6BAB4C6340DC1F872749368740D3C6F9B7FA698240CA3FDC9F7F0B5B40642346FDA9F38740010300008001000000050000004D5C58960A1381403011C04BE4255440575A095C1D50874008B3FFB68E5385402E2E556316C24A403CC20965028B864000505D382FB98540000030252B0B074000709DB47EE18D402EC0C46EE6D27E40AF67366E7E2D47402B6855A19E058B404D5C58960A1381403011C04BE4255440575A095C1D508740010300008001000000040000002EC0C46EE6D27E40AF67366E7E2D47402B6855A19E058B4000806B243EB67A40000040A5550F10400080BC3EEB1B8E40D7838A6292227C401641ADD7D6CE4B40989745B9CAF28A402EC0C46EE6D27E40AF67366E7E2D47402B6855A19E058B4001030000800100000005000000D7838A6292227C401641ADD7D6CE4B40989745B9CAF28A4000E015954242764000000A1BAEF6524000F0197746B088406EF269CB58B9784021792D355AA65B4092B2C12327B7844079C06582F4407D40C1E0075E570B5840C7B703D47C8D8740D7838A6292227C401641ADD7D6CE4B40989745B9CAF28A4001030000800100000005000000AF402F4B02DC7E4032549D6BAB4C6340DC1F872749368740E0FDC5CCCFBF7740A7F8D8AC752E6A40814396811B027A409A15E55D77B07A4023B82ADCBEBD6B401EBC45F70DC277401E889E603C677F4076022A45AEC36540847560D3BD8B8540AF402F4B02DC7E4032549D6BAB4C6340DC1F872749368740
+58     01020000800400000000009C6E32747C4000C0F3C439A769400080C8EEB756624000E09F283A7871400020BF6756D3754000104C5DF73C824000F037785A358F4000A09B11787B764000004AFF49F8844000C041341799784000805893143B61400020C8B5CF6D7E40
+59     01030000800100000005000000A4695C6C79EF8340F492D06242928040B0C30B0208DC82400050C3D942A18B4000C07B9C043F72400070580CC2408C4000509AE750728540008091B411795F4000E0C37D349D7B400040B4F2B25F724000C0BED842AC604000B0F7213FD08A40A4695C6C79EF8340F492D06242928040B0C30B0208DC8240
+60     0102000080050000000020091BA68882400020CD1CABEB87400000D9D69D366E40001083708DC687400050D20DA1488B400040C3DFC78F67400080A69A2A1A8C4000E09894F550824000E0346FA6E575400080041A620B5B400020170371327440007075A579938B4000B0590D11B6884000806B413D7563400000527472746340
+61     0103000080010000000400000000B0F4A46F81854000808BF182CC764000C0BAD600FD6E4000B0F43DE948804000A0701A92C1874000F084338199884000A0AA5088517A40008057DC1E808B4000A0087B1A32824000B0F4A46F81854000808BF182CC764000C0BAD600FD6E40
+62     01050000801900000001020000800200000000D0D7739A9086400020C8E394928B40006092B858E08B4032EAC8B32B8C8640BC9925975A8789401E0FBF350CCF834001020000800200000000E08EF27E80874000C0F0B84D877B4000509D43B60D8D40692720BDB8528340CA7A8E37ACB575404EC2A850E9318340010200008002000000692720BDB8528340CA7A8E37ACB575404EC2A850E9318340BB097B3DAAD87E40B31CDA91714770402CD29E2FE2BD8040010200008002000000BB097B3DAAD87E40B31CDA91714770402CD29E2FE2BD80404744DECB26F37D407471A0D14B4F6F40806B004A540E80400102000080020000004744DECB26F37D407471A0D14B4F6F40806B004A540E804000E04FF9BDE5784000C0416D4246684000409C1CFA097F400102000080020000000040F61EC7AC7C40004075A80A1871400000219769996740A6D7E4B94CE87E4074259E44FEA77740446777F45747824001020000800200000000D0289E4BA4884000C044AA4475704000A04355112E7840692720BDB8528340CA7A8E37ACB575404EC2A850E9318340010200008002000000692720BDB8528340CA7A8E37ACB575404EC2A850E9318340ACCE8AF53E21814052FFF27B11E07740D0AB3D7FEBDA7E40010200008002000000ACCE8AF53E21814052FFF27B11E07740D0AB3D7FEBDA7E40DD9AD91A91D67340C67DB7E5C0FE7E40488D8D645DC27940010200008002000000DD9AD91A91D67340C67DB7E5C0FE7E40488D8D645DC27940F68D4A6B328A654038F023ED6CBC8140BE2AD9939E71834001020000800200000000E04CBD7C6E7540005051AD6C43824000409E0D56DD864033E8B3C15644784036E018A2C48583408CCCAD67A08C7C4001020000800300000033E8B3C15644784036E018A2C48583408CCCAD67A08C7C4000701A38C9E482400020BD23DE86894000C00F37121070406CAC680D6FBC82405E6F466882C7854060B5FC698D7C70400102000080030000006CAC680D6FBC82405E6F466882C7854060B5FC698D7C70400060CCF6FA7182400000E94FD0BA7D40007031831AF28040ACCE8AF53E21814052FFF27B11E07740D0AB3D7FEBDA7E40010200008002000000ACCE8AF53E21814052FFF27B11E07740D0AB3D7FEBDA7E40BB097B3DAAD87E40B31CDA91714770402CD29E2FE2BD8040010200008002000000BB097B3DAAD87E40B31CDA91714770402CD29E2FE2BD8040D1E8A1CD63807E40C90C1E7BFD056F40429B8867B8028040010200008002000000D1E8A1CD63807E40C90C1E7BFD056F40429B8867B8028040CFD9AA78DFFF7B40E620498A29E363400C3621E7ADCC7A4001020000800200000000108A08A91C8A4000805576BCBF634000209B3D86CC8440D1E8A1CD63807E40C90C1E7BFD056F40429B8867B8028040010200008002000000D1E8A1CD63807E40C90C1E7BFD056F40429B8867B80280404744DECB26F37D407471A0D14B4F6F40806B004A540E80400102000080030000004744DECB26F37D407471A0D14B4F6F40806B004A540E804000001AE872055B400040BB0693AC75400060696BB72F7440DD9AD91A91D67340C67DB7E5C0FE7E40488D8D645DC27940010200008002000000DD9AD91A91D67340C67DB7E5C0FE7E40488D8D645DC279407ECABBB2942F7B40806EF5A5731D824012502B22B7756A400102000080020000007ECABBB2942F7B40806EF5A5731D824012502B22B7756A406CAC680D6FBC82405E6F466882C7854060B5FC698D7C70400102000080020000006CAC680D6FBC82405E6F466882C7854060B5FC698D7C704000B01576D1428E4000801C698BFD8D40000091D32F65534001020000800200000000006369ED964F4000F07576E4518D4000C06E1823AE834033E8B3C15644784036E018A2C48583408CCCAD67A08C7C4001020000800200000033E8B3C15644784036E018A2C48583408CCCAD67A08C7C407ECABBB2942F7B40806EF5A5731D824012502B22B7756A400102000080020000007ECABBB2942F7B40806EF5A5731D824012502B22B7756A400040C9FED6D6804000C04EF3FDF77D400000D8B5D8F05140
+63     01010000800080DFBDF53F6D4000A0731ACC8A85400080AD8D2E3A7F40
+64     01030000800100000004000000FAB4D92612B97740F7E97D06AE338440FA140E523FB0744000306D83A8CA854000A0C3971B98784000603131F4EA8440000039BBD165434000A0447DE5EF7D4000A0A8125DB27540FAB4D92612B97740F7E97D06AE338440FA140E523FB07440
+65     01060000800B000000010300008001000000040000005174B7CDAF6686400153C039E35F6840B4BA942C40F6754000C08A53AEFA8640000098FE836A5D40008016A7778A60403ED0A5816D128440AEE5CD4B7C366540F4BAE0777C0479405174B7CDAF6686400153C039E35F6840B4BA942C40F675400103000080010000000A0000003ED0A5816D128440AEE5CD4B7C366540F4BAE0777C04794000C0CB5B41507740000083E52F945340008005AA38F76240220BEE1FDF5A7C404C21A00BBEC57C4042D35DDE880C794086E8A4132CB680404037330435007E40AA6B4C4257467D400010550DD90C8E4000C08D7F03617140007041476DEE85405174B7CDAF6686400153C039E35F6840B4BA942C40F67540AFBECF1C21308540140FE1C560547640DE2CD7601C227B404420BF548FA4834007E72607BC8078400CB3E373A4D9824000A0305FB864824000005A0CEFF768400010C01C9F3081403ED0A5816D128440AEE5CD4B7C366540F4BAE0777C04794001030000800100000008000000220BEE1FDF5A7C404C21A00BBEC57C4042D35DDE880C794051FFC40B6B97754072D27B5118227B40D68D9F2931C17740889E2278A18E76408F60C1F5BAC97D40EB523AAFB5C6794000D0648C5C8C8C40001062F5326D86400040EC09BB008B4000B0A6F27FD58C400040F4833FF081400020DEFCFF1A864086E8A4132CB680404037330435007E40AA6B4C4257467D40006005B6130D7D4000D09486E208804000D0C83471068040220BEE1FDF5A7C404C21A00BBEC57C4042D35DDE880C79400103000080010000000500000051FFC40B6B97754072D27B5118227B40D68D9F2931C177401DECA0AF62FE6A40EC19274B95845340DA9412361A8B7940B11F471D101769400064ACB836F151409EF41AD1754678400DB919C6AC2F6B40CA8A2B2AD4317940453F2556CC106C4051FFC40B6B97754072D27B5118227B40D68D9F2931C17740010300008001000000050000001DECA0AF62FE6A40EC19274B95845340DA9412361A8B7940644B6B2F5E24764062E3BE9431EA60409EE1A975DB8E80400060C79A29BA73400080732D0CE550400030A00131D185405EB2ACF59CC069409EDB24F0B16249403285457DA0FA7B401DECA0AF62FE6A40EC19274B95845340DA9412361A8B7940010300008001000000040000005EB2ACF59CC069409EDB24F0B16249403285457DA0FA7B400040876928D468400000F23FE6743E400000801106EA7A405070DC0877F36840335C89E4DEE448405AB28022CF357B405EB2ACF59CC069409EDB24F0B16249403285457DA0FA7B40010300008001000000040000005070DC0877F36840335C89E4DEE448405AB28022CF357B4000801A9655405D400000EE3AA58F4240004043F15BB87040B11F471D101769400064ACB836F151409EF41AD1754678405070DC0877F36840335C89E4DEE448405AB28022CF357B40010300008001000000040000000DB919C6AC2F6B40CA8A2B2AD4317940453F2556CC106C40004070F0F321644000808D44015778400000926369AE58401C2E4124C9416B40CC4178BEC1E479402C79C6EE99A26C400DB919C6AC2F6B40CA8A2B2AD4317940453F2556CC106C40010300008001000000050000001C2E4124C9416B40CC4178BEC1E479402C79C6EE99A26C400000188A48746D4000104CF602CD87400000B686FB12674084901A4683577940D1162765CAB882404FFAE0BE3E218140889E2278A18E76408F60C1F5BAC97D40EB523AAFB5C679401C2E4124C9416B40CC4178BEC1E479402C79C6EE99A26C400103000080010000000500000004DAB8B34A1C6940FE656528BBCE7240C877AE6ED36D794000001C601A1A2C4000C07D54AB096E40000076F692973940C6EE648745B05240D65F2418A279714020A50714617B7940008064EB756352400080506FFE4F714000B0143BB51E874004DAB8B34A1C6940FE656528BBCE7240C877AE6ED36D794001030000800100000005000000F3E96FF56DC78740C69F04E4BCF97940F0B3A209DFDA84400060C6BF32288E40006085029DD07A400080C0550E0F82400060E9E04D868E40002075B42073814000F088BBA39A864000F06877E5158E400060ABBE6BE1734000B09623E7CD8540F3E96FF56DC78740C69F04E4BCF97940F0B3A209DFDA8440
+66     010400008001000000010100008000C03181F0B86D400080FC1388BF84400040D691EFDF6040
+67     010400008001000000010100008000305B7CB7A8874000C08D1749567F4000209C1D60337240
+68     010100008000402001D391664000F0C6570EB88E40004098C43D4B8A40
+69     0103000080010000000500000000601E044F78894000A0B886F5C572400000051452CD604072AFFF19A2D580401DCB9FB9AA068140032475873194724000E0D9D3F82582400050C967576F83400000ED7EDD8E48400010C5D9B3678B4000B0BEBC8D58894000F0334BB41F844000601E044F78894000A0B886F5C572400000051452CD6040
+70     01020000800200000000006EDA9ACB3F400000034BEF06564000A034DB609F8D4000E0AA6B524F834000A0F54162677B40000053E7D18C4B40
+71     01050000801D0000000102000080020000000000D60F95CC50400000244696CB554000E030521DD67B406B1CDC77717354407651060CC73A6340D79A0DC43BA380400102000080020000004CA1EF5AB3FD8440230A3D08B7286240386571A8C4848840955B34E2DC5285405F867D7AACE2634042734ED2E71A874001020000800200000000209EF975F5864000807088D568554000E03A90D3B78C404CA1EF5AB3FD8440230A3D08B7286240386571A8C48488400102000080020000004CA1EF5AB3FD8440230A3D08B7286240386571A8C48488401E6F699E22AC8040ED74D7935B42714017F676AD59AD80400102000080020000001E6F699E22AC8040ED74D7935B42714017F676AD59AD8040FC073A8A48D08040CD6A262175886F400A998A59FDA775400102000080020000000070FDEBDD498C40005046790EED874000E07311AAB08740150F09D6E9AE8C4012055811924A8740E6C6A7D2941D84400102000080030000000080C3DA926D5F4000C0404A950875400000C84342B7574000B0A6B396B9844000C07A963DC7604000A00506E9DF88404CA1EF5AB3FD8440230A3D08B7286240386571A8C48488400102000080020000001E6F699E22AC8040ED74D7935B42714017F676AD59AD80400040D5375D39674000A00CDB9CEB824000C097ABA7E0774001020000800200000000E078C9D92C7F4000F0F4E4D454884000A0F003868B8740EA8EA4E3A0AF80403BB1C19E1034844028F25E1A287C8240010200008002000000EA8EA4E3A0AF80403BB1C19E1034844028F25E1A287C82403AAEEA7E6A8F8140EFB6F02C11EB8040687865B57A5483400102000080030000003AAEEA7E6A8F8140EFB6F02C11EB8040687865B57A54834000E0EDAE1D4782400080C23270717C400060AF6536888540345BAECCA3048240EC21559243647D408B8DC561177D8340010200008002000000345BAECCA3048240EC21559243647D408B8DC561177D8340F95C3D50B1EE7C40AA7A28ACE02E8540AEBFBC3779C87740010200008003000000F95C3D50B1EE7C40AA7A28ACE02E8540AEBFBC3779C8774000E0A3C89B6A7C400030FA687FA7854000C01FA9FA17744013AE0204BED77C406C37A347148784407A2717E3A8D3774001020000800200000013AE0204BED77C406C37A347148784407A2717E3A8D37740DC6B7D29D02B7F4084B2CB4191BF7C40A00A72A2BD538140010200008002000000DC6B7D29D02B7F4084B2CB4191BF7C40A00A72A2BD5381401E6F699E22AC8040ED74D7935B42714017F676AD59AD804001020000800300000000C0CCEF3ACC6F400070F816879A84400000E0D3C6BC154000A0571B4FB575400040C8ECD47B804000B0CE6BC8AE8740DC6B7D29D02B7F4084B2CB4191BF7C40A00A72A2BD538140010200008002000000DC6B7D29D02B7F4084B2CB4191BF7C40A00A72A2BD538140D302955D5156824087A5D7446E4B7A401C5BA646AB488340010200008003000000D302955D5156824087A5D7446E4B7A401C5BA646AB4883400040687214718A4000607AA35311734000A07EDF9CE47F40244A8D12D4F08040567F82E1C1EC83405AD79D1B49E37C40010200008002000000244A8D12D4F08040567F82E1C1EC83405AD79D1B49E37C40EA8EA4E3A0AF80403BB1C19E1034844028F25E1A287C8240010200008002000000EA8EA4E3A0AF80403BB1C19E1034844028F25E1A287C8240FE8D57E5DD1D7D4080912CDDC88786407B96A0FF90337940010200008002000000FE8D57E5DD1D7D4080912CDDC88786407B96A0FF903379400040AC4264E07A4000005DEB61C1874000C0BA5513CA68400102000080020000000060AEA8C2417C400090FE29823E80400000228B00017D4013AE0204BED77C406C37A347148784407A2717E3A8D3774001020000800200000013AE0204BED77C406C37A347148784407A2717E3A8D37740F95C3D50B1EE7C40AA7A28ACE02E8540AEBFBC3779C87740010200008002000000F95C3D50B1EE7C40AA7A28ACE02E8540AEBFBC3779C87740FE8D57E5DD1D7D4080912CDDC88786407B96A0FF90337940010200008003000000FE8D57E5DD1D7D4080912CDDC88786407B96A0FF903379400080E3C456097E40000046C767418D4000A0203917158640244A8D12D4F08040567F82E1C1EC83405AD79D1B49E37C40010200008002000000244A8D12D4F08040567F82E1C1EC83405AD79D1B49E37C403AAEEA7E6A8F8140EFB6F02C11EB8040687865B57A5483400102000080020000003AAEEA7E6A8F8140EFB6F02C11EB8040687865B57A548340345BAECCA3048240EC21559243647D408B8DC561177D8340010200008002000000345BAECCA3048240EC21559243647D408B8DC561177D8340D302955D5156824087A5D7446E4B7A401C5BA646AB488340010200008002000000D302955D5156824087A5D7446E4B7A401C5BA646AB488340C02EB6654F6782402F6005507DA67940E08731487A878240
+72     01040000800500000001010000800040719423E2684000303484B9ED884000806E5977D68240010100008000001F227B2280400000449BE0CC8D40001041D2D4928140010100008000505CF1BF2B864000D02632C9E983400090F2412AF08A4001010000800020DC6F23B27D40004072991219724000B038BEB17C834001010000800020579D091F714000501B4C4B5C824000A0002531358D40
+102    0106000080070000000103000080020000000900000023084FED56F08840010F09E389028340664F1F7FF6DB814000407FF2C0808E4000C0D69E7B73684000E06837F5A286406C2D475969E18540AA28C119CCF07540FC1AA498348C8740DE33F92E03AA80402FCE44662A9F8340EEAF9E7D7AA2754000B0918EDC048440001029979F1A874000200FA435CE7440EEF79DCEA9697E401AB0138C160A86401EE5042CF5A7734000408C4CD4C67B4000E0F633B23988400000551E2F7955400010CE46FF5D8A400060A9524D0E86400040E76F084C874023084FED56F08840010F09E389028340664F1F7FF6DB81400400000023084FED56F08840010F09E389028340664F1F7FF6DB814000A00EB4B5A5874000C0B9DEE800864000C0C9FB659C83400080257FFECE86400020A3EB2EEF7C400000D0B04CB85F4023084FED56F08840010F09E389028340664F1F7FF6DB814001030000800100000009000000DE33F92E03AA80402FCE44662A9F8340EEAF9E7D7AA27540C90B9B6AE2F776407D36EEA57E7D7C402A3DBB849E6D7B404E00B00C9330724098212CF1A2138040E715095640448340DCFA1AD1F4CA7F4049BAF3DD5F9183406EC1209BEFB0854020AC197FD52C7D40FCB0972FF51E8540AC4D3A8269C58540880BC99E8588714033BDE5DB0C54804098DB5C100F7083400080620F63B5614000A0DEBAAAA78340000068B2C9898440EEF79DCEA9697E401AB0138C160A86401EE5042CF5A77340DE33F92E03AA80402FCE44662A9F8340EEAF9E7D7AA27540010300008001000000040000004E00B00C9330724098212CF1A2138040E71509564044834000C080109CA56D400000162AEF6C7E4000C0438003B68640880BC99E8588714033BDE5DB0C54804098DB5C100F7083404E00B00C9330724098212CF1A2138040E715095640448340010300008001000000040000001DF5D11C290E814097E4656EC63F6240DBF9CFD130567B40008039DF6ACD824000006C0A275B514000C0C6E73A567540DE74E9FBBF177440C31BF36D1121654088D4445401CC7A401DF5D11C290E814097E4656EC63F6240DBF9CFD130567B4001030000800100000004000000DE74E9FBBF177440C31BF36D1121654088D4445401CC7A400080C9839D29574000C023255011684000004F80926A6F401AA6514BAC5068404FDC484F69C56A404475B817AB317D40DE74E9FBBF177440C31BF36D1121654088D4445401CC7A40010300008001000000060000001AA6514BAC5068404FDC484F69C56A404475B817AB317D400080443D06785C4000006572D75A6E4000B08ED9FE548340CC404F6E51017940F414C7305C987540E8B58A1F2DE7824039C483731E037F4035F215B177BC6A40BC32F79FCF408040AE0BCBC8D5B87A402B92DD884C7A70402CC50192F52983401AA6514BAC5068404FDC484F69C56A404475B817AB317D400103000080010000000400000039C483731E037F4035F215B177BC6A40BC32F79FCF4080400060EFD532A98240000041F3DF96614000E0028B0E407E401DF5D11C290E814097E4656EC63F6240DBF9CFD130567B4039C483731E037F4035F215B177BC6A40BC32F79FCF408040
+73     01060000802800000001030000800100000004000000195D3DD7C8DF75404A13E65B4EA14540C54B66B086797B4000A0EE6544BE754000004A4C630E31400060B723757D7740F95639F41EA07540A7C3A68CF59A4540F4127827E8437B40195D3DD7C8DF75404A13E65B4EA14540C54B66B086797B4001030000800100000005000000F95639F41EA07540A7C3A68CF59A4540F4127827E8437B4000C0FBEC2BA46F400000D645CF0645400090A2554D7080409B0A3A3E3A3A6F404A3A5069CBC95240AAB7ED4019248640B1331108DF5A7540B259153F98D259400EDC78237F868340F95639F41EA07540A7C3A68CF59A4540F4127827E8437B40010300008001000000040000009B0A3A3E3A3A6F404A3A5069CBC95240AAB7ED4019248640000063BC00BD5B400000508EF94E40400010DFE2E14A8D40216A62BD76236E40AC1CA921E3476440325FDCA5010386409B0A3A3E3A3A6F404A3A5069CBC95240AAB7ED401924864001030000800100000004000000216A62BD76236E40AC1CA921E3476440325FDCA50103864033A45751F3766D4072329BDD9E046B4088903F33F2A07E40E2A87425437D74401B1F25E6BD136F40C4BFB676434D8440216A62BD76236E40AC1CA921E3476440325FDCA5010386400103000080010000000400000033A45751F3766D4072329BDD9E046B4088903F33F2A07E40000018AC31165040000065A95F776340001035F80AE782403A37514CD6386B4057B847FF35B8784011F09275D889814033A45751F3766D4072329BDD9E046B4088903F33F2A07E40010300008001000000040000003A37514CD6386B4057B847FF35B8784011F09275D88981408BCB2EEC57BA6A4029B5234D88307B4098C8CB9D14B67F408637DEF5E8B86D405D074FEE5EAC7A4054C145CD757583403A37514CD6386B4057B847FF35B8784011F09275D8898140010300008001000000040000008BCB2EEC57BA6A4029B5234D88307B4098C8CB9D14B67F40A4C4C032EE626740A1C60F0503C47B405E6E7A8281648040E9EA9D9B3AE76940F4C16D2ADC4F7F408E18304107947C408BCB2EEC57BA6A4029B5234D88307B4098C8CB9D14B67F4001030000800100000005000000A4C4C032EE626740A1C60F0503C47B405E6E7A828164804000C0899CB24561400020519A8526734000A07D81D2808440000008DCF95D2F4000005D41B4B873400040542691E18B40F28ECD744B945A409E41B4A4A5817D40DE6594C0015E8140A4C4C032EE626740A1C60F0503C47B405E6E7A828164804001030000800100000004000000F28ECD744B945A409E41B4A4A5817D40DE6594C0015E81400080E489FC84514000409B6C94497E4000206B0C220C7940C9B62870D9626040CDDCDE0D261780408F2F1F04D4957F40F28ECD744B945A409E41B4A4A5817D40DE6594C0015E814001030000800100000004000000C9B62870D9626040CDDCDE0D261780408F2F1F04D4957F404DBD1876595A68404DAA4901E68783409DE99E731F957B40736B217A8E496940054D14FE0432814018C1AC418A277A40C9B62870D9626040CDDCDE0D261780408F2F1F04D4957F40010300008001000000040000004DBD1876595A68404DAA4901E68783409DE99E731F957B400080D6A8AC3567400090A88A6A63864000C0EB273DAC79405948EA0F64AB6F40C8A7E285C3B086400DCCF2B250D677404DBD1876595A68404DAA4901E68783409DE99E731F957B40010300008001000000040000005948EA0F64AB6F40C8A7E285C3B086400DCCF2B250D6774000A07AECD148754000601EB4B8658B40008064C6C16659403DA9376C7F0E7240A438558E64D98640559476286A4176405948EA0F64AB6F40C8A7E285C3B086400DCCF2B250D67740010300008001000000070000003DA9376C7F0E7240A438558E64D98640559476286A4176408789C57211A27B400D8C039A818887409CDDC40543957940321FB3689010734077E3B7EB3FCD8440D4B5AFADCE1C7240BCA934C57DCB72404E27F4DC19FF844054D50B2B246C794071E8993E64D57240BB4F1CE962BA84409A30336993C871401BD0A8A095C46F40ACA18101ACC98340E4557B5623376D403DA9376C7F0E7240A438558E64D98640559476286A417640010300008001000000040000008789C57211A27B400D8C039A818887409CDDC40543957940138167DC0CB87C40A10A37711FE1874017D133F6D70776408762FA684A837C4061167EFC9798874012966BD88F377F408789C57211A27B400D8C039A818887409CDDC4054395794001030000800100000004000000138167DC0CB87C40A10A37711FE1874017D133F6D7077640000046E417EA7F4000F016ECB1458C400060AC2D3F2C7540B01037304911834088D431B48FE18A40E9CE76602C1D7840138167DC0CB87C40A10A37711FE1874017D133F6D707764001030000800100000004000000B01037304911834088D431B48FE18A40E9CE76602C1D78400060DA5D23EE89400060F3A0AD418F40004048D989DA8040057795385BA88440340442B77D2B8A406407042461818340B01037304911834088D431B48FE18A40E9CE76602C1D784001030000800100000006000000057795385BA88440340442B77D2B8A4064070424618183400AC55132CE9F86403FF9BF44504A89404E5164DFB6007A40F93FBD87C4368540B78D87A70A97884028074B3435D1804052085A47E1FC8240A0C5D3E4A0458840762837E8AD0E8840CD7B6EB77836834074B2E817A6C68840E43CD3C417958C40057795385BA88440340442B77D2B8A406407042461818340010300008001000000050000000AC55132CE9F86403FF9BF44504A89404E5164DFB6007A40000014C45CE58740007091B4F7EB894000E08A3D32117840F160429306E98A40BE98D09F5D678940EF7562AEB3DE8040A24D84B73078874054C5A9FA87E988404F17E516069782400AC55132CE9F86403FF9BF44504A89404E5164DFB6007A4001030000800100000006000000F160429306E98A40BE98D09F5D678940EF7562AEB3DE8040006058EDAAA18C4000D06FA650A6894000304531BFBA89409D9E692697C18C405D225942328C8640F4862B9055518440F278721BD1468C40EB58E2F61BC38640CA0FAA5E5B02784000D007FD74298C400030E9984D30894000008CDEB1DC6E40F160429306E98A40BE98D09F5D678940EF7562AEB3DE8040010300008001000000040000009D9E692697C18C405D225942328C8640F4862B90555184400000A635F1C18D40002066B6891986400050FEDB7687814074C7E49F30C68C40A6E1E516C7198640305647AF725384409D9E692697C18C405D225942328C8640F4862B90555184400103000080010000000800000074C7E49F30C68C40A6E1E516C7198640305647AF7253844000D0BD4252998D4000009171DF59494000E0183BFB927240195D3DD7C8DF75404A13E65B4EA14540C54B66B086797B40EBC2BF2FD5317640EAEC1430F9D95A4050178C9504E6834030703AC0ED88874089CCC97027AA6C4054179F7A76B6804000E05C33731E8D4000404C4D04C3634000800A0038FC5C400174DE8DD04E8C40966F6931E41986407CA397ED3E5A784074C7E49F30C68C40A6E1E516C7198640305647AF725384400103000080010000000400000086DC5334AF0D8340E393BC6AAA936A40AA7127006C9E8D40001094BACFCF82400080FF7AF22668400050C0500C188E403E0D9650AF8C82407E496CFBD5326A4070C7876A85108A4086DC5334AF0D8340E393BC6AAA936A40AA7127006C9E8D40010300008001000000040000001F961890F6AF6C400DDB309B119E8140FF0A2EF05B187940E9EA9D9B3AE76940F4C16D2ADC4F7F408E18304107947C40736B217A8E496940054D14FE0432814018C1AC418A277A401F961890F6AF6C400DDB309B119E8140FF0A2EF05B187940010300008001000000050000001F961890F6AF6C400DDB309B119E8140FF0A2EF05B187940079BFB24622D6F40B4A5EFA1255F83408484F73A70A26E402CEB509A571073406795A0C03A2183404CE9396884EB7340FC644A4B771C73401321130D15CD8240486BF58106F778401F961890F6AF6C400DDB309B119E8140FF0A2EF05B187940010300008001000000060000002CEB509A571073406795A0C03A2183404CE9396884EB734071E8993E64D57240BB4F1CE962BA84409A30336993C87140321FB3689010734077E3B7EB3FCD8440D4B5AFADCE1C7240C43389F99E2375406601DD75F94D8340CB38FF0826147B406FA79181882274400E387C7F250E8340C0B00623ED8D74402CEB509A571073406795A0C03A2183404CE9396884EB734001030000800100000005000000C43389F99E2375406601DD75F94D8340CB38FF0826147B40A497E048AE21774069B743CC9BCC8340E09AA107A8398140C908C54F2203764038775BA5B2EC8240B6D7AD4364C17F4017928E82EFA07540062ABC3E88F382401E24552A15A67840C43389F99E2375406601DD75F94D8340CB38FF0826147B4001030000800100000007000000A497E048AE21774069B743CC9BCC8340E09AA107A839814000A0BEF3D7707A4000F01C3B97628640001079FCE4B28640FE32D3ECE0777B40183D5DC8FA28864071227BF80E4C82404D314D937D6F7B40EE9492CC721D86400E888CC7FF1F7D406FA645D6A8AC7B40BF73B7576B1D86405B570E1639428240CE7E43215E377E40BE946CF4E58E8540C946B98E104B8040A497E048AE21774069B743CC9BCC8340E09AA107A83981400103000080010000000A000000FE32D3ECE0777B40183D5DC8FA28864071227BF80E4C82408762FA684A837C4061167EFC9798874012966BD88F377F4092396EF2A23582406ACEB2382A2988402D54E6364D1C89400050F798BA08814000706C9D92AC864000E089ED689B8E408857B71080A38240059D0320DC388840431CD847D499884052085A47E1FC8240A0C5D3E4A0458840762837E8AD0E884078C76559498982401AD67325AB428740193511605B3D8340F2FD6B4D89398040654BC354D61C864050A89F91A43B7B406FA645D6A8AC7B40BF73B7576B1D86405B570E1639428240FE32D3ECE0777B40183D5DC8FA28864071227BF80E4C82400103000080010000000500000092396EF2A23582406ACEB2382A2988402D54E6364D1C894000F0EF650CE2834000C078C106478A4000F00E72080D8E40CD7B6EB77836834074B2E817A6C68840E43CD3C417958C408857B71080A38240059D0320DC388840431CD847D499884092396EF2A23582406ACEB2382A2988402D54E6364D1C89400103000080010000000700000078C76559498982401AD67325AB428740193511605B3D8340F93FBD87C4368540B78D87A70A97884028074B3435D18040A24D84B73078874054C5A9FA87E988404F17E51606978240F278721BD1468C40EB58E2F61BC38640CA0FAA5E5B0278400174DE8DD04E8C40966F6931E41986407CA397ED3E5A784018BD367DEE058240A8815316661C8640C2E0D78050FC834078C76559498982401AD67325AB428740193511605B3D83400103000080010000000500000018BD367DEE058240A8815316661C8640C2E0D78050FC83405125C43C0C578140CC654DE29C948440FECF377427F58340CE7E43215E377E40BE946CF4E58E8540C946B98E104B8040F2FD6B4D89398040654BC354D61C864050A89F91A43B7B4018BD367DEE058240A8815316661C8640C2E0D78050FC83400103000080010000000A0000005125C43C0C578140CC654DE29C948440FECF377427F58340672B14618F588540330B715E63D3824003A3211CA49B8240076DEC78B2387B40367E33A2583E7640E92F0432DD01884000405364F319784000C043B9B67C774000E072FC792A874016E2CC13038D7740471D95BC4FAD7740BF2B744B5D4D83400060A94E1E5F784000E00470C0F88040005011BC258C814049A7520288D87540DE4ACE5768CB8240F4EBD5CE8EA38240C908C54F2203764038775BA5B2EC8240B6D7AD4364C17F405A899F9309468040AE545B52FF30824060353A7A0CC682405125C43C0C578140CC654DE29C948440FECF377427F5834001030000800100000008000000672B14618F588540330B715E63D3824003A3211CA49B824000904565E54B874000704D2FB5C4844000A02F38DE188840009075B0EDA78C4000001021387871400010F3A63EE8854030703AC0ED88874089CCC97027AA6C4054179F7A76B680406CA4299D847E8040B38AA4B2E6F17340BA44111037C07A4000E0F531402D894000A0BFA114117A4000001C6DF45154400000487D76F98540003080A4E78C82400080039385A77740672B14618F588540330B715E63D3824003A3211CA49B8240010300008001000000050000006CA4299D847E8040B38AA4B2E6F17340BA44111037C07A4041379C7F5AF8764016EFD62BC3697040C2D03E4F0FAA7A407C5197E0D81B774036238672BF257240D40B670377F78440076DEC78B2387B40367E33A2583E7640E92F0432DD0188406CA4299D847E8040B38AA4B2E6F17340BA44111037C07A400103000080010000000500000041379C7F5AF8764016EFD62BC3697040C2D03E4F0FAA7A40EBC2BF2FD5317640EAEC1430F9D95A4050178C9504E68340B1331108DF5A7540B259153F98D259400EDC78237F868340AB71363506B2744058BA644EF1386F40B4CF23EA391A794041379C7F5AF8764016EFD62BC3697040C2D03E4F0FAA7A4001030000800100000004000000AB71363506B2744058BA644EF1386F40B4CF23EA391A7940E2A87425437D74401B1F25E6BD136F40C4BFB676434D84401F02BE0ABEAF7440FE9A03524B786F400CBFACA388CA8340AB71363506B2744058BA644EF1386F40B4CF23EA391A7940010300008001000000050000001F02BE0ABEAF7440FE9A03524B786F400CBFACA388CA8340A4923391DD067440FEBFA07562E47840218B585029A3804016E2CC13038D7740471D95BC4FAD7740BF2B744B5D4D83407C5197E0D81B774036238672BF257240D40B670377F784401F02BE0ABEAF7440FE9A03524B786F400CBFACA388CA834001030000800100000004000000A4923391DD067440FEBFA07562E47840218B585029A380408637DEF5E8B86D405D074FEE5EAC7A4054C145CD75758340CFDA640F86637340E30915ECE4DF804078565DC9B8028140A4923391DD067440FEBFA07562E47840218B585029A3804001030000800100000006000000CFDA640F86637340E30915ECE4DF804078565DC9B8028140FC644A4B771C73401321130D15CD8240486BF58106F778406FA79181882274400E387C7F250E8340C0B00623ED8D744017928E82EFA07540062ABC3E88F382401E24552A15A6784049A7520288D87540DE4ACE5768CB8240F4EBD5CE8EA38240CFDA640F86637340E30915ECE4DF804078565DC9B8028140010300008001000000040000001BD0A8A095C46F40ACA18101ACC98340E4557B5623376D40079BFB24622D6F40B4A5EFA1255F83408484F73A70A26E4000C068E5EE846D4000A071D7EA6D8340000053F9EE105D401BD0A8A095C46F40ACA18101ACC98340E4557B5623376D40
+74     01010000800000E2475E43584000D06FA28865834000D054A76ED08540
+75     010400008004000000010100008000E065B9A53773400020B3F6219E814000B099BF9A7A824001010000800050EAE88ABA8E4000805C7F3173794000E0CE6C05347540010100008000800136ED62814000003E4D82DA63400040C0DD9B1F894001010000800080B8DDFEFC694000A09A074C208C4000906E2DC29A8540
+76     01020000800500000000A0CC10714E86400040CF8521C18E400000C0C067ABFC3F0000BD38C3856240000070E2644682400000C46A84AF88400070CDC0F5B8814000008A773C96484000608C12660B764000B09ACC0F6D8240002063C6BA107E4000A0A91324BE8A4000B0564E6D17844000E02E9258A7854000204B690E117840
+77     0102000080030000000080E08C55FE734000E0CE2BDE6E8A4000007FEED1EE574000A086C78EB87D400000D438CBD7754000A058DA9384794039251563370B8040C6D09143C1D76E40903B57DBB0547B40
+78     01030000800100000004000000000078F4D251634000200B73EA7E7F400000BCD9C5944F400050C07B67CC834000E0D9C2A3988A4000F008E1F4C38740000016FCA80E3A4000400BF4973B804000B0984E74708940000078F4D251634000200B73EA7E7F400000BCD9C5944F40
+79     0105000080100000000102000080020000000040E0E8CC6B6D4000006F9135F286400060CE9621997E40075ECCD2D479744058E8BAC6E08088405CF4E1F3F25E7F40010200008002000000075ECCD2D479744058E8BAC6E08088405CF4E1F3F25E7F407EFF483C964B804023091E9997C68B4067D8629EADE875400102000080030000007EFF483C964B804023091E9997C68B4067D8629EADE87540007000B15BC084400000AA0FDE2E8E400000A70B3E547E40DD7BA6DCA60E8340CB1AD25CDFA08B40A464B3B940807540010200008002000000DD7BA6DCA60E8340CB1AD25CDFA08B40A464B3B94080754075FAB27F73D67B40E65EBB5150E18340C7C5F5C51EB0844001020000800200000075FAB27F73D67B40E65EBB5150E18340C7C5F5C51EB08440D5BD29475BF3784089B779CC10B4814012ACD82518507140010200008003000000D5BD29475BF3784089B779CC10B4814012ACD8251850714000A0AC0994FA7640000036957B3780400020AB8561D47B407B6621F93C7E7C40BB58240B15C07A40A8779B44B94F73400102000080020000007B6621F93C7E7C40BB58240B15C07A40A8779B44B94F73403F73612962DC7F40E37C03FF8947774014B6E42F31757E400102000080020000003F73612962DC7F40E37C03FF8947774014B6E42F31757E400040C48B01CC8A400000ECCCDF312C4000A0D47EF1777E4001020000800200000000F0C3A0AA9B8B4000505674182C8B400000378506986840DD7BA6DCA60E8340CB1AD25CDFA08B40A464B3B940807540010200008002000000DD7BA6DCA60E8340CB1AD25CDFA08B40A464B3B9408075407EFF483C964B804023091E9997C68B4067D8629EADE875400102000080030000007EFF483C964B804023091E9997C68B4067D8629EADE8754000800F4F5EFE6C4000A04FA524428C4000000DA6B98F6C40075ECCD2D479744058E8BAC6E08088405CF4E1F3F25E7F40010200008002000000075ECCD2D479744058E8BAC6E08088405CF4E1F3F25E7F4075FAB27F73D67B40E65EBB5150E18340C7C5F5C51EB0844001020000800300000075FAB27F73D67B40E65EBB5150E18340C7C5F5C51EB0844000A0DB83AB097C4000D013D025C1834000307DA0E36E8B403F73612962DC7F40E37C03FF8947774014B6E42F31757E400102000080030000003F73612962DC7F40E37C03FF8947774014B6E42F31757E4000D02F594A40814000C05BDEFF21684000A00A7244BE70407B6621F93C7E7C40BB58240B15C07A40A8779B44B94F73400102000080020000007B6621F93C7E7C40BB58240B15C07A40A8779B44B94F7340D5BD29475BF3784089B779CC10B4814012ACD82518507140010200008004000000D5BD29475BF3784089B779CC10B4814012ACD8251850714000A0833504F9764000C094C5B51E84400000536A29A9514000805D3B0B5F584000609729F23E864000C08EA6D9E0754000804743A9CD744000C00C764FD27B400090AE9EFD3C8A40
+80     01040000800A000000010100008000A04EEF83047D400000883FE1671D4000205CA8E3B17640010100008000F08EC3EA2F8040000019D972AC7940008058B565346040010100008000509B02098F834000D0D5DAE3458A4000E09B89E22E7440010100008000C017BC1CD7614000F026B9AE578E4000C0A10CF98C8E40010100008000200C764DC58D400070805A91E5874000009A98A6D23F40010100008000A02EA25C058E4000401C005B327640006056B6A88E8540010100008000605DE1CD3F7E4000D0DF40AA198C400090670A91698C40010100008000108B30316686400000B7A0819F534000E0A9A0A3EC8E4001010000800000AB501A7B7A4000A04574BF2281400050E6F467A485400101000080002014DEDB48794000205100DAE5824000E0C3DCBA927440
+81     01050000800200000001020000800600000000F0EBC29F3E81400080DB948BE1714000E0EB07388C7B4000005F82825583400040F665048F624000809C344A3666400080BCB672168A4000A0FF52794D8440004040D74C0261400060D39DAF86764000C0912CD00E7A400070F9DD9B138E4000C017E518C46E4000E056AFA2C07C4000C072B315426040003034CF16358F4000207EFB3A648D4000B0D152D038864001020000800400000000C01B15881D624000D0F90AE82E844000B08BAD31F18D400000A4F915B7504000D00F4FFBFA8A4000303189760F8740000076D1C0036B400020047370537F4000F0A8A800FB8D40340EF9B6BA137D40DAC77206A55B86406E52C0E5E7A68540
+82     01030000800100000004000000E703553A1D7C8B405E40A4E1A470844030EC08BA388E7E4000E0F981B0BD8B400000AE5805CD5E4000203BA5C8EE8C40583BFE3AE2438140B0B9AF26FDA37E40CB9D8A76FF5F7E40E703553A1D7C8B405E40A4E1A470844030EC08BA388E7E40
+83     01040000800100000001010000800080000D942E8E40000030276319554000A0CCFA9ED08440
+84     010200008003000000004002155FB58B40000082BEAA6F6B40008079A1BC597F400030BD5AE9FA8D400080D8A5071D6E4000000E0F5E4E54400000418422016B4000A082AD156B764000D0DAFCFBB88B40
+85     010300008001000000050000008BA43910CD838A40F5201D36CB016A400C3A0A5A59777B4000C08732F1B28C40008010EE3400524000802179A6AE824000D021FD98AD874000004420359B4F4000B07EE41A3885407FCAE421197E8540D22055A109BC6640B32993FEE87A81408BA43910CD838A40F5201D36CB016A400C3A0A5A59777B40
+86     010400008002000000010100008000808565398D794000E07BE6C2598A4000000D5DEFEA82400101000080006098B902B882400060D35941E28840004000C326BA8340
+103    01020000800300000000A0A20220B78140000020F02DB58D400050B7836A108D40000035967D8F564000009837BA7E88400070CE34C4308C400000D8C50F7A53400000903EE7AA284000F024A9460E8840
+104    01050000800A000000010200008002000000005039C8781C844000C09859FCEF74400060AB28F2637540B6B6052607A08040D849F3411B2472401AFE5BE9580084400102000080020000000F51EC9DAF6D79408EA98BE0F9788340F9B8F428102782400FE40FBE41BC71402EB1CF1901738540C2CB6839E682824001020000800200000000F07D0FC8828240000059C841898340000037FE2024714003B56AB2B3CF8140C48DE75B6EDA8040418D297ED9837D4001020000800200000003B56AB2B3CF8140C48DE75B6EDA8040418D297ED9837D40B95F643D2B18814076727CA40C357C4071BDF94952198140010200008002000000B95F643D2B18814076727CA40C357C4071BDF949521981400000A9B8F8797D4000800B858444644000901B6D8A1F8A4001020000800200000000D0912E4C32884000407B43E1247B4000D0AAB7311C814003B56AB2B3CF8140C48DE75B6EDA8040418D297ED9837D4001020000800200000003B56AB2B3CF8140C48DE75B6EDA8040418D297ED9837D400F51EC9DAF6D79408EA98BE0F9788340F9B8F4281027824001020000800300000000F0320E3B1A8F40003019EB9FF18D4000409ECBF7A4874000808F4DEFA168400000984C34828B4000E0E958DFCF80400F51EC9DAF6D79408EA98BE0F9788340F9B8F428102782400102000080020000000F51EC9DAF6D79408EA98BE0F9788340F9B8F42810278240B95F643D2B18814076727CA40C357C4071BDF94952198140010200008002000000B95F643D2B18814076727CA40C357C4071BDF94952198140001000EE798D814000E0BC2579157B400060100D2B218340
+106    01050000800200000001020000800200000000C0E47C28AE6B40004022C7E967734000608E136DB07040B537597AF6A77640EF900D470F157440E62E8C3F4F10804001020000800400000000905D5099F5804000409A7558156F400040D06C03F273400050150D76828B4000C0DBEAA5F7614000D0CF7BC5FE87400060436165D183400000A2CC5E254E400090EDB980D78C4000C05D0F4D306B400080A5DB446688400000A4D435A86240
+107    01020000800200000000705D37E782884000A012475A258740007074FD5D328E40000050BBE097104000B0CBE34109874000E0D4853E2A8C40
+117    0103000080010000000600000000C016638419604000E0C21B52418E4000E006844CB87140000080439BA265400020226CC34A85400000981EA3D9264000601AF12DDD78400030AD7B96058F40000089E09214434000807AC769E15E4000C0A79D944B664000A045EF686E8440B6BBB5BA27765540FFAF2F961DA083402852D512560B884000C016638419604000E0C21B52418E4000E006844CB87140
+87     0106000080140000000103000080010000000400000059891BE83BD27940035DEAC755DE884076CCD17270D187400080769884DD6B4000F046459A298E4000E016B11324874000A0DBF480EB7B400060A3A00CB38A4000B012B9A6088A4059891BE83BD27940035DEAC755DE884076CCD17270D18740010300008001000000040000006C6713DFA9968640D59DBF03720C8840184A05398CA5824000E096CE3F4E88400000AE023FA48D4000801030254680400060D36388388C4000603E8D1613874000A08D5E9B267F406C6713DFA9968640D59DBF03720C8840184A05398CA5824001030000800100000004000000F979AEEE48467640CC05686E609C74408E26DFE1482173406DCE9B41BC767440455CF49A918D7540A3666D8191577840B7F4771A9DD975406BCBCED9684D7640A6FA6A866C597C40F979AEEE48467640CC05686E609C74408E26DFE148217340010300008001000000040000006DCE9B41BC767440455CF49A918D7540A3666D81915778400000F3C249AE614000406A25098A6E400020FB13611A81402F4921C8A0987340847F637B220176405A5320563AC479406DCE9B41BC767440455CF49A918D7540A3666D8191577840010300008001000000050000002F4921C8A0987340847F637B220176405A5320563AC479400080F03C896E6C4000A0C6F5CBCD784000800BF913F256400E739E48744674400103E939EB937C40987F6CECD644794035651E66CD9B7540DE84ED20B74377405EB227E2AA827F402F4921C8A0987340847F637B220176405A5320563AC47940010300008001000000040000000E739E48744674400103E939EB937C40987F6CECD6447940DB0B5D42BED3734064EE6DEC045D7E40DE8C1FE2C8E4844045D715F02EFA774039F77AE830E27E40CC14FE846BC982400E739E48744674400103E939EB937C40987F6CECD644794001030000800100000004000000DB0B5D42BED3734064EE6DEC045D7E40DE8C1FE2C8E4844000A082673A3C71400020A7CCD9097E40000095A12BC68740F3CB84581E9F734072C492C9B72E7F40EE283C1014BE8440DB0B5D42BED3734064EE6DEC045D7E40DE8C1FE2C8E4844001030000800100000004000000F3CB84581E9F734072C492C9B72E7F40EE283C1014BE8440000021A9A1896E4000D018C27E43884000C0BAEB8F448F40D57F3CF88A937E4050635909983782408A35705642398440F3CB84581E9F734072C492C9B72E7F40EE283C1014BE844001030000800100000005000000D57F3CF88A937E4050635909983782408A3570564239844010E4C41D4C708340037F5CD0FA3484409BF14D4F401B83400050E7E28A5D894000F0D189551E81400040F979ABFD8C40731D033E4FDE814039E26D75C42D8040D68F0D2BC8208540D57F3CF88A937E4050635909983782408A357056423984400103000080010000000A000000731D033E4FDE814039E26D75C42D8040D68F0D2BC82085400030847087C48A4000406A46F04B72400000D678679F4F4000C04C50E48E87400000C82E3D2A6F400060F28EEA848E4034DC79FD6011864095D21C7F53D46E40AE767F1C3A41874014E80985895D85407FA7E0F555EE7640505CE3E3E7CC7F407760768B084F83409080CE168B9D7840D20CBCBDD0508240B416DB68859785404AAAD291E2B86E40341A5BF56B2787405FB38066D83D8540CD0E92E2B0A46E4076687991D9508940D11BC076E8967E401B9F35B45DB67F40A072DA1BB7428640731D033E4FDE814039E26D75C42D8040D68F0D2BC82085400103000080010000000400000034DC79FD6011864095D21C7F53D46E40AE767F1C3A4187400020B04FC35D864000C05502D27168400060ED1F96988440B416DB68859785404AAAD291E2B86E40341A5BF56B27874034DC79FD6011864095D21C7F53D46E40AE767F1C3A418740010300008001000000070000005FB38066D83D8540CD0E92E2B0A46E4076687991D9508940004071ABA0498840000028236DB45B40003004F86C638C407E849E98DF6683408868F07C5C056840BC5FD337DED080400CD57C0C9098834099F932AEDE296940ADC46B5B55117A40D8C1F46063B1824028368868147F6940BCC20C5167A88040C8C595A2D1B58040E486BBFE769F6D40C5127537DC7580405FB38066D83D8540CD0E92E2B0A46E4076687991D9508940010300008001000000060000007E849E98DF6683408868F07C5C056840BC5FD337DED080405A341BBEFB218240C92F6522D08C6040B8ABCE4836637D40387550929DEC8040B9AF49C90D20614040FBEDF936A47E40CED576D5FB1A81400D893CEAE0146A40108DDA67C2317B40D8C1F46063B1824028368868147F6940BCC20C5167A880407E849E98DF6683408868F07C5C056840BC5FD337DED08040010300008001000000050000005A341BBEFB218240C92F6522D08C6040B8ABCE4836637D40529DA1063CD082401DE1E139E1396040C8CE83CD19DA83400060307B1A7C82400000EF90887B404000402BDB7A697D40DE3A835173C48040EA979F89650651400CA0443D07DB76405A341BBEFB218240C92F6522D08C6040B8ABCE4836637D4001030000800100000004000000DE3A835173C48040EA979F89650651400CA0443D07DB7640000026AF6DBF80400000F31B45CB504000C09660FFDD64402A14236E3EC08040AE29C257E91B51402702FC6767E77640DE3A835173C48040EA979F89650651400CA0443D07DB7640010300008001000000040000002A14236E3EC08040AE29C257E91B51402702FC6767E77640483E6627D72F794010395D32BA2F6340C47B2CC9F5948840387550929DEC8040B9AF49C90D20614040FBEDF936A47E402A14236E3EC08040AE29C257E91B51402702FC6767E7764001030000800100000004000000C8C595A2D1B58040E486BBFE769F6D40C5127537DC758040002027116CDD77400000398D088C6C4000809A93400B6640F979AEEE48467640CC05686E609C74408E26DFE148217340C8C595A2D1B58040E486BBFE769F6D40C5127537DC758040010300008001000000040000003481F48AD3607140B8B4392756906E40823C3186ADE57D4000800666AECD72400080D81EBAF559400080D0079EBF8240E5DB1F5FA8DC6F40A6810174AEF36A4021ABF3BE27CD79403481F48AD3607140B8B4392756906E40823C3186ADE57D4001030000800100000005000000B7F4771A9DD975406BCBCED9684D7640A6FA6A866C597C4035651E66CD9B7540DE84ED20B74377405EB227E2AA827F4073F2AE4FF1367E400A14EDDA3AA77C40EA0283759FAD8440C247A9133B5C7D406507DADBBD5C7A40CE8991B773A08040B7F4771A9DD975406BCBCED9684D7640A6FA6A866C597C4001030000800100000004000000DC2A58960DF27C404655FA6C2CFD80404E38D58B58C78140D11BC076E8967E401B9F35B45DB67F40A072DA1BB742864045D715F02EFA774039F77AE830E27E40CC14FE846BC98240DC2A58960DF27C404655FA6C2CFD80404E38D58B58C78140
+88     01060000800B0000000103000080010000000400000060D99E345138824016FEF7D0EA196C40F2B80D08DC2F75400080866E472982400000224992953B40000068DB0FAA54406C3FCB0C3A357740227D1B622BEA6C4008C2BCE20FA2724060D99E345138824016FEF7D0EA196C40F2B80D08DC2F7540010300008001000000060000006C3FCB0C3A357740227D1B622BEA6C4008C2BCE20FA272400080A731F5D073400000A9988C1F6D400080EA8B383653404D993BC4A52D7740D430484F250872402298AE232DAD7540EA624E403985794085690C9D16B3714002EFD941DB817B4000807B5F0386764000C04CF6683E6E400040B4E7F2597E406C3FCB0C3A357740227D1B622BEA6C4008C2BCE20FA2724001030000800100000004000000EA624E403985794085690C9D16B3714002EFD941DB817B406971D5C865197A40BC84AEA988327240E9BB4BEC99027440456A4E9119B77D40BF45A1D8BE1A71403E44CD81216E7040EA624E403985794085690C9D16B3714002EFD941DB817B40010300008001000000080000006971D5C865197A40BC84AEA988327240E9BB4BEC9902744000805EF444A664400060138613F7764000002014297B61404C3410274AD576404E56F9BA1EE974408058E8F0CDEF7840EF2A6C08AC83764074EC70FB916F7440A60866470F66824000E0BF59E2BD794000C00361D6177340004071B541EF7440BA59CDE28C7577403F29730FCCCE74409851B559299D7740B1D02BD066397C40B4D057886F067440F6C201F05BE078406971D5C865197A40BC84AEA988327240E9BB4BEC99027440010300008001000000040000004C3410274AD576404E56F9BA1EE974408058E8F0CDEF78401C3DA76946FF76404B5168ABA52775406561D6BA08B48140BA59CDE28C7577403F29730FCCCE74409851B559299D77404C3410274AD576404E56F9BA1EE974408058E8F0CDEF784001030000800100000006000000B1D02BD066397C40B4D057886F067440F6C201F05BE07840216A7FBE5B4882403ED5ED2C09337B40A3B51828C00B834035554E23E03A8240CCC79C5ECC2570406467BCBCC8867A404ACC8BEE788A7F40AA36245D71D870402C58F173E2677140FCFC8B1792AA7D40C12425A5CCC9734071F34F595BDD7040B1D02BD066397C40B4D057886F067440F6C201F05BE078400103000080010000000500000035554E23E03A8240CCC79C5ECC2570406467BCBCC8867A40E8C74350EB5E8440F36102EF9B146F40F115F9147B158240708E29BF25948440A93AD41AACCF6B40FBF1F11509D8804060D99E345138824016FEF7D0EA196C40F2B80D08DC2F754035554E23E03A8240CCC79C5ECC2570406467BCBCC8867A4001030000800100000004000000E8C74350EB5E8440F36102EF9B146F40F115F9147B15824000B0D3B49E3480400020D837A72488400080EBD21926794001E803EB1E018740FD29BE8208966D40AACBD6967C6F7540E8C74350EB5E8440F36102EF9B146F40F115F9147B1582400103000080010000000500000001E803EB1E018740FD29BE8208966D40AACBD6967C6F754064D346019CA68A407A63D02A53846B402AFFD0DF2D348240EA146A370A9B8A4039F4379DF6116B40A87C07E8FEC3814045E88E9CAA378740F80535DA9C7C6B402EE48AD0B46A734001E803EB1E018740FD29BE8208966D40AACBD6967C6F75400103000080010000000A00000064D346019CA68A407A63D02A53846B402AFFD0DF2D3482400080837226418B4000805C1AF6BD704000505748365F864000C0E34AE77D8D40000083DDA2B35E4000E078717C08884000E075E3141E8640000052A80CED3C40005050B867938740708E29BF25948440A93AD41AACCF6B40FBF1F11509D8804045E88E9CAA378740F80535DA9C7C6B402EE48AD0B46A734000B0B72A76EF8840000066BEE91E55400000BABB45EE4A40EA146A370A9B8A4039F4379DF6116B40A87C07E8FEC3814000204C4318AB8B400000B92A83F06A4000E041B33F00844064D346019CA68A407A63D02A53846B402AFFD0DF2D34824001030000800100000004000000456A4E9119B77D40BF45A1D8BE1A71403E44CD81216E70404ACC8BEE788A7F40AA36245D71D870402C58F173E26771400060B88E9BC57F4000407C889C7B70400080547EA94A5D40456A4E9119B77D40BF45A1D8BE1A71403E44CD81216E7040
+89     0105000080020000000102000080040000000000DF78B42746400000986EB86D494000805EAC864B5F4000703D817C6581400000F7B72882404000808932E3C95F400020CA33A867704000E0047B876B72400080C320498155400000DBC22157754000E07F0C76737340000034A23E4C7B400102000080020000000080AF39010380400060570447B98E400000C08A2197FF3FD0630418F9C68340DE5B40FA1EC0804060F3AC6CDE058140
+90     0105000080060000000102000080020000000080736B0057544000805C6E939888400040C01BCB917E40BB777794769B7C40D9BDA795F02578404D546CD0FCB16F4001020000800200000000609F2C518B814000C063571A506B4000A09EADFA047340BF89FA4BBE8182407E714B10A55F754008784F9699F5724001020000800200000000B0FF7FBD5F874000805D36A867564000207597C2817C40F1CE0FFF096686409675528F1FAE6D407228D2925D4B7F400102000080030000000090A643300F8C4000005675C4D26A4000204BE2567E74400040A6C3ED268440006042484C0373400020E0BC0C8088404DC3FE0CB55F8340C26DE15BA98D7540DA48268AB57B7B4001020000800300000000700AE0B3E385400030FEF9039F80400030FD29B6BA8E400040A453396469400000EC3187384F400090CBBCFA868A40800DB1EF653387405C5C043257AA82406186E89D02CA87400102000080020000000000172B1E7184400060BB49C8087340009000CFA8FF8040326B166A0A288740C67A97A69861824028519973F73B7E40
+91     0104000080050000000101000080007078BD04AC87400050B9B4815D81400070CD43DDB787400101000080002057684D047440004046D27140624000C0B72C682A8740010100008000601874BFBB86400000F2553E547E4000A0EFC5AA8A7240010100008000E0670760B28B40008072117603724000E0CB342A897F4001010000800010410FAC8A884000D027367D9C8E4000E0C4C7E6828C40
+92     010400008002000000010100008000508DA2D30E8E400080395923B15E4000C0A6236F1B6A4001010000800040979881B4814000800FF3A7B969400060F23494F07840
+93     010100008000C01FD2E58C6940004078C1814285400000E197323E7440
+94     01040000800900000001010000800000BF225A9D574000A041DE1F538440000001E7ECC8834001010000800090BF56687B804000C079A2C7F36840004099C41D5682400101000080002070FFCE817A4000802A63A64B584000A0319DB60D884001010000800010CB0F712288400030E36DFC81874000C08355A2B57F4001010000800010EAE3D7738B400030CBC3AAB4864000404A591070784001010000800060FFE4A6A7864000001A1B31B67A4000F0BF595EBF8740010100008000F0CD48CB208B40000050BD97F92A4000E0AA1EDF007A400101000080000041C78416804000203D7FC00E7840000015B5DF5F494001010000800080C76B28395240009093A0E5438B400010190A603A8440
+95     01050000800200000001020000800200000000404ED353456B400000E65D70236C400010D2EF2E988C400060FEA0028C794000C0CC298FCD64400060420AC68370400102000080020000000080AE6EB1D2674000B0F9B287728D4000409E2A68E375406742B06C0C4480403E7B4ED47E716E405E59187192547940
+96     0106000080030000000103000080010000000400000029C07816967A76402450AE0770F08B40B6A2C43AFF7C894000E02BBA6577714000001DB868EF8A4000D0D9F0B1A48B400080D9D2FB2371400050728C76898D4000A0468F4A75884029C07816967A76402450AE0770F08B40B6A2C43AFF7C89400103000080010000000400000003BC4B2DEF1471404BEDA7C5C07D7540BEFC6556946A81400040BE96AF6E67400000488A76D65640000030E98DB1844001928651A3A86D40816C6457B49C76405F2ABD6400A2804003BC4B2DEF1471404BEDA7C5C07D7540BEFC6556946A8140010300008001000000050000000000077C8F3879400070C8DA101D874000803DE866025F400070F9A316798140004039643AA261400030320447FB884000C0C66698118F400060E21EEA4679400020EA38E655764000908373B7698E4000B0B960A0D883400000AC1260F07B400000077C8F3879400070C8DA101D874000803DE866025F40
+97     01040000800200000001010000800020A0681EE4844000C0C13D9EEC7A4000E05C0C36E6714001010000800000BCC8AA1E354000B0895048DE8E4000C01CC8A7927940
+98     01030000800100000004000000D45A980E88727440E877205CA7D58040CE0E97AFD1EF5A4000C0861481827E40000088416A2D284000C09BD6BE4D744000801BCF4A2A6E400040F19EE9CD7E400000C199D6D34840D45A980E88727440E877205CA7D58040CE0E97AFD1EF5A40
+99     010600008007000000010300008002000000070000006E162301010B8340A91F56E3822F844066F0185D8D548540F857A871D3668A40EEDE2ED7503A87405E51A522D996834000A0E35C65F28A4000E05D61ECDF8C4000B02C1DE9DE8D40E1610B4CD1F38A4065478B8C719D7B401658B3C5209079407A2A748E232086404EED0AE87FE37940004C56E66FF47540C60250D914EF8540ECC033E72A9879408EB576E1A7A880406E162301010B8340A91F56E3822F844066F0185D8D54854004000000F857A871D3668A40EEDE2ED7503A87405E51A522D99683400040218F8CC4894000A0650885A9804000A05C6ABB1E734000A014869B758A4000308F3E6D4087400000672411B38240F857A871D3668A40EEDE2ED7503A87405E51A522D99683400103000080010000000400000084B3D02806E58540300C91C52D6E6A40E0C7B19E436A814000C0B186CA4E6B40000095B4AB2B43400020F306CD4B7B404C3CC840F1CE80409FE2E22843B97140B03C75EC9531814084B3D02806E58540300C91C52D6E6A40E0C7B19E436A8140010300008001000000070000004C3CC840F1CE80409FE2E22843B97140B03C75EC9531814000409286AC316E4000A0A14482EE794000908EB79E5C884000F0AEC33FDC814000E0A73844358740004080CA7B5588406E162301010B8340A91F56E3822F844066F0185D8D54854000A0F3C57C11804000F0B5EDAFF482400050C2A786A48240572125685D6184408F08924F70357740DC653F1C5C0879404C3CC840F1CE80409FE2E22843B97140B03C75EC9531814001030000800100000004000000E1610B4CD1F38A4065478B8C719D7B401658B3C520907940004048CBBACA8B400080BCB54EEA7B4000C0C0F525B66E401DBDCA2CEBF38A4075B7BE23E778794060ACF022C52F7940E1610B4CD1F38A4065478B8C719D7B401658B3C520907940010300008001000000060000001DBDCA2CEBF38A4075B7BE23E778794060ACF022C52F79400010D05915F58A4000008492A70C294000803D60B627694027F7131E10CF874044C06D976E096740EE05E760DBEB7E4000C087C643DF884000408892DE2665400080C89536D8844060193AE53BC58740834206F903357040A8C4E7D329EE80401DBDCA2CEBF38A4075B7BE23E778794060ACF022C52F79400103000080010000000500000027F7131E10CF874044C06D976E096740EE05E760DBEB7E4084B3D02806E58540300C91C52D6E6A40E0C7B19E436A8140000074993C0587400040630B100C6C400060F4D7E6B87A409F8B7C5EA60C87403272D4713A376C40ECB807F4900C784027F7131E10CF874044C06D976E096740EE05E760DBEB7E400103000080010000000500000060193AE53BC58740834206F903357040A8C4E7D329EE80409F8B7C5EA60C87403272D4713A376C40ECB807F4900C7840572125685D6184408F08924F70357740DC653F1C5C087940C60250D914EF8540ECC033E72A9879408EB576E1A7A8804060193AE53BC58740834206F903357040A8C4E7D329EE8040
+100    010300008001000000050000000020D43B80D1744000002C4192A85A400050E081DC448A40000037F5E5458A4000807C8738325B4000408E070A1A734000E00BE37CBE804000E0B028DDF77D4000C018BA672B6A4000C0B24825086A400000EF92FE86884000209609BFC782400020D43B80D1744000002C4192A85A400050E081DC448A40
+101    01020000800200000000409E023363894000C035BB1DDC654000C0793D53C86840654FCD3F4ACD8340D18D3248AA267840A247D6DC1BCA7240
+105    01050000800D00000001020000800200000000F05E6F4B0584400020EB75AEFE744000A093B2476776404C1BA9808E3784409ECC6F869A1675400A5D4C12036A7740010200008002000000008072CF7E0B624000601A11CA2C70400020C64453B48940BD1C3012A16A70404913F9761CDE7140D034EE5788048540010200008002000000BD1C3012A16A70404913F9761CDE7140D034EE578804854013453FFA0C6A724030BC84CD2F53724072171C48DA1F8340010200008002000000000007CB95E45A40000019162741544000B08EEB3E818540BD1C3012A16A70404913F9761CDE7140D034EE57880485400102000080020000000010B6EB3CC9894000E03C6E1010884000C085C6B4486940692B1583271D89403F073DC59E5986401D864564E89F7D4001020000800200000000E0B7A5EF017E4000D0CF0F31C88A4000E0B45C51788440C598F120DE2382403501398A4BA28A4019A23DB45CF480400102000080020000000080C479923F7D4000F007C15CFD81400040CACF187F8D40850632A9834D7D40838A973914BE81409E40508E476C8440010200008002000000850632A9834D7D40838A973914BE81409E40508E476C8440C4B1EA0F2E5C7D406D6E2C00837B8140B0416CF11F858540010200008002000000C4B1EA0F2E5C7D406D6E2C00837B8140B0416CF11F85854000C0ED871EFB81400060A5CEB8D785400000CD1E5F567740010200008002000000C4B1EA0F2E5C7D406D6E2C00837B8140B0416CF11F85854031599BB1F32580402C296DEABF9D6040B5493ECBBF0E8440010200008002000000BD1C3012A16A70404913F9761CDE7140D034EE5788048540C4B1EA0F2E5C7D406D6E2C00837B8140B0416CF11F8585400102000080020000000080E386C2F75F4000A0E01F1F597C4000005C9BC9853A40850632A9834D7D40838A973914BE81409E40508E476C8440010200008002000000850632A9834D7D40838A973914BE81409E40508E476C8440BF1170BD0AC27D4018F1A25797D1814064BF79EBD1167F40
+108    01060000800500000001030000800100000004000000A5BC740BC77F784026ECEE84BE2C6B40EA93ED01AFF87740000002935D7E774000405EF4BA846A400010FFFD463A8740D57CACE140E377407F0E422295926B405B81F9C5BCD87740A5BC740BC77F784026ECEE84BE2C6B40EA93ED01AFF877400103000080010000000C000000D57CACE140E377407F0E422295926B405B81F9C5BCD8774000806F6BAEDB744000400E40308B6D400000B0FAEEA23A40A79A7B3EECC27440F924B8E177CB75401685F20ED0E876401EE2F30493CA7A40E2280D8B7D677D4063255AE43D527A400ED4810F759C744094CF07A7595A80404DA1C2D2591178400020A8DBBA86744000306E543B6F83400090886550428440E32393343A417D40DF45749A1F838940CC478A78973C864000406BDB0E507A400000897791917240009085C128AE894000D0B7AA63398A400090C92CC2118E400000DCD67DDE4A404AC6DE2999AD8140022766E29DE67740A186D8A1BE296D401DE5CE6B315D7F4025C68ED4F7C8774064D01D32C8407B40D57CACE140E377407F0E422295926B405B81F9C5BCD8774001030000800100000005000000A79A7B3EECC27440F924B8E177CB75401685F20ED0E87640004086DF9345694000402536DB14674000E0091011CD84400080B4F54AEA674000F0000417AA8240008090BA401E55400ED4810F759C744094CF07A7595A80404DA1C2D259117840A79A7B3EECC27440F924B8E177CB75401685F20ED0E87640010300008001000000040000004AC6DE2999AD8140022766E29DE67740A186D8A1BE296D40677A5C0E0C108D40218FA504B78F7840AB642893F1377240FAC3B656FE947F40264FC2F73CCC6F402EB07095488C75404AC6DE2999AD8140022766E29DE67740A186D8A1BE296D4001030000800100000004000000FAC3B656FE947F40264FC2F73CCC6F402EB07095488C754000E0615DCFB17D400080559B64CB67400000FEDC76CB4940A5BC740BC77F784026ECEE84BE2C6B40EA93ED01AFF87740FAC3B656FE947F40264FC2F73CCC6F402EB07095488C7540
+109    010500008011000000010200008002000000007003F8B461864000007BE7975469400060CE1A25B67F4016B0FDC83A6D83403078D57EA5F86E408E1556380A9180400102000080020000000040054559E263400000C8488065124000E0C195BFC58D40FC757B7A99B37540202152EF6B7F7940F5B6EB9C87E87C40010200008002000000FC757B7A99B37540202152EF6B7F7940F5B6EB9C87E87C409653A13A1AD6754083E1A1D663C97940ECF5FABDEBF77B400102000080020000009653A13A1AD6754083E1A1D663C97940ECF5FABDEBF77B4063D62FE0AB26784028A0AA98C1BF7E40D7F16D39C2C281400102000080030000000040275AB5426D4000A0C3B5B6528240004058E5CDDE654000002A6653E2484000A06DE17FA37D4000907235FF708440FC757B7A99B37540202152EF6B7F7940F5B6EB9C87E87C40010200008002000000FC757B7A99B37540202152EF6B7F7940F5B6EB9C87E87C4047F17452044F7640F0D4BCE6CD5C7940E30D2281546971400102000080020000000000A6690CE76A400090F4838CA88040000080FA8D9316409653A13A1AD6754083E1A1D663C97940ECF5FABDEBF77B400102000080020000009653A13A1AD6754083E1A1D663C97940ECF5FABDEBF77B4047F17452044F7640F0D4BCE6CD5C7940E30D22815469714001020000800300000000D05BE1EDFD8040000055DE47D6874000000B106FE0564000208E40222A79400030E8F0982687400020F03C01398A4073A8CB641AEB784059EC9D217C9E8B400F0BC5B3C26D784001020000800200000047F17452044F7640F0D4BCE6CD5C7940E30D228154697140AE3059CA577580400A526B15ECFF764049F3089806047D40010200008002000000AE3059CA577580400A526B15ECFF764049F3089806047D409E57CFF7F3428240EB7CD043493276406C27EB37F96D81400102000080030000009E57CFF7F3428240EB7CD043493276406C27EB37F96D814000E059D553B186400080C537F33874400040B440771A684000500F6C79F78B4000003097971C314000007EC763F4374001020000800300000047F17452044F7640F0D4BCE6CD5C7940E30D22815469714000B0D719557A854000802D5960485B4000E0C60AF39A7640AE3059CA577580400A526B15ECFF764049F3089806047D40010200008002000000AE3059CA577580400A526B15ECFF764049F3089806047D400000AAC899C87E40002085EE00707A40005092106D51844001020000800200000000A0275EBAE1814000401E96CBE2744000C0EBE4740E87409E57CFF7F3428240EB7CD043493276406C27EB37F96D81400102000080020000009E57CFF7F3428240EB7CD043493276406C27EB37F96D81400070C021A12B8D400090625770EB8D4000C054E670237F400102000080020000000060DCFE23817D400090F2867F08824000C05FD2A44076406EF7386F8DCF7E40203F84ECCE8481404ACB99CE793A8240
+110    01050000800700000001020000800300000000C0382A67DB6B4000208C097CF08540000031374D11504000003FD0AE3E464000C0557DC12469400080AE449AF56840A6F1F262EE23854026196EB5873881405EEEF93E0BCA8240010200008003000000A6F1F262EE23854026196EB5873881405EEEF93E0BCA824000C0FF3B44E88B4000B0252CAAF784400050B7EB79FD8C403DF6CB8F00917A405751CF60801F7E401C9EAD187E2478400102000080020000003DF6CB8F00917A405751CF60801F7E401C9EAD187E2478400040F74EDC91694000E0C2EAB18E7840000004F7C25E4B4001020000800300000000C0752211B5894000A092AB68417F40000016A9F3EC604000D0FB4E59848A4000602399F35C7D4000B08B5A13C08640A6F1F262EE23854026196EB5873881405EEEF93E0BCA8240010200008002000000A6F1F262EE23854026196EB5873881405EEEF93E0BCA82408F63CBF0DBBA8440B0F3864D276A8140507E9E2224837B4001020000800600000000D092C0FF8083400040723643368F40000060BC19915540004017945E6F8E4000A0B38EA5198A400000809DE6FD774000E0897C00677A4000B07B8FC7D08A4000C04CF3FCFE674000808E193F2F804000F0E40BA114814000C02A2370F9764000D0A882EC928C4000E0B782A5D78840003070B1A95987403DF6CB8F00917A405751CF60801F7E401C9EAD187E2478400102000080020000003DF6CB8F00917A405751CF60801F7E401C9EAD187E24784000004A783E9A604000C0525888707240000098894EB66F40
+111    01050000804000000001020000800200000000108F6A215E8D400000F658CB3038400000564AB37F8040C42790F318C68B409B55E833844175406CA9DE36576B7440010200008002000000C42790F318C68B409B55E833844175406CA9DE36576B74409B50F7E32D018B40C6A6B0EDD1C87E4075D10D82E07A75400102000080020000009B50F7E32D018B40C6A6B0EDD1C87E4075D10D82E07A7540A1B2769276A28A40178811850DAF8140D95E3764A6A36F40010200008003000000A1B2769276A28A40178811850DAF8140D95E3764A6A36F400040E2406A838A4000A05C005B6F824000605AD15F5D73408544A73807548A4077B9323782C18140F75F6A01F6017040010200008002000000AE2ED37655218040D6E20BCB1A477F405CFEF8D6168E81400492922926ED7C408746A828595083406A2D04B4FC5581400102000080020000000492922926ED7C408746A828595083406A2D04B4FC558140900DD15328F775407A369E1A8FFC8A4091D13EE1E72A84400102000080020000008544A73807548A4077B9323782C18140F75F6A01F6017040A1B2769276A28A40178811850DAF8140D95E3764A6A36F40010200008002000000A1B2769276A28A40178811850DAF8140D95E3764A6A36F409FD92C715F338C40DC7F41E1B75081403BB6AA0366FC7C400102000080030000009FD92C715F338C40DC7F41E1B75081403BB6AA0366FC7C4000B081FB40898C400070C5A7823C8140004052B1882C6840C42790F318C68B409B55E833844175406CA9DE36576B7440010200008003000000C42790F318C68B409B55E833844175406CA9DE36576B744000804D65883B8B4000808B8954BE6740002006B60CD8714087670D4A73E687404679BE3249B2714026148173D3627B40010200008002000000AE2ED37655218040D6E20BCB1A477F405CFEF8D6168E81405BF4975129717B40F39FEFFB91BE8140D2610E2E624182400102000080020000005BF4975129717B40F39FEFFB91BE8140D2610E2E624182401C46455D9F7779407F5EE9137B9B824067B2F4843B2385400102000080020000001C46455D9F7779407F5EE9137B9B824067B2F4843B238540D16E40E027587540373CDDECB2688440C9854DC60CD68340010200008002000000D16E40E027587540373CDDECB2688440C9854DC60CD6834056C161806D0675400AC41B97698C8440B915BF136FFC814001020000800200000056C161806D0675400AC41B97698C8440B915BF136FFC8140D8B4FFBA934D7240DD995E26ECBC8540C438E175C0EE7B40010200008003000000D8B4FFBA934D7240DD995E26ECBC8540C438E175C0EE7B4000C0DBE0EA41714000B02E69E23186400030374EADD08140DE9FEBE7864D7140F5064D46D9A485401409BA9924B17C40010200008002000000DE9FEBE7864D7140F5064D46D9A485401409BA9924B17C403B1703CA0C69714053762AA57D5684407306249068E682400102000080020000003B1703CA0C69714053762AA57D5684407306249068E68240B9CD8534DF8D7140545D928B2A97824027EAAE1252D07C40010200008002000000B9CD8534DF8D7140545D928B2A97824027EAAE1252D07C400020E4377A0572400060801252D479400080F02D5C1881400102000080020000008544A73807548A4077B9323782C18140F75F6A01F601704071A45FA7C5038A40DB6F1141139B8040A4CF3D8EEC8A754001020000800200000071A45FA7C5038A40DB6F1141139B8040A4CF3D8EEC8A75403F3ADD17023E89409B557F9D168B7B40068B614C6F677A400102000080020000003F3ADD17023E89409B557F9D168B7B40068B614C6F677A40E6BACF5D7E3D8940C818271750877B401AEAF0FF3FFF7940010200008002000000E6BACF5D7E3D8940C818271750877B401AEAF0FF3FFF794087670D4A73E687404679BE3249B2714026148173D3627B4001020000800300000087670D4A73E687404679BE3249B2714026148173D3627B400020F183D2238640008068787D1F5340004018F0ACB68540B122F178DCF682404CFFC9BE3CC8724022CDEF535ACC8140010200008002000000B122F178DCF682404CFFC9BE3CC8724022CDEF535ACC8140AE2ED37655218040D6E20BCB1A477F405CFEF8D6168E8140010200008002000000006095A0001B85400030A2C91CFC824000C0A5F5C61C6540E252490E7F638540AEEE78F70DEB82405F4C0A4BD18E7240010200008002000000E252490E7F638540AEEE78F70DEB82405F4C0A4BD18E72407B2A1E0B54128940DC1B607D340D824002033184CC6473400102000080020000007B2A1E0B54128940DC1B607D340D824002033184CC6473408544A73807548A4077B9323782C18140F75F6A01F601704001020000800200000087670D4A73E687404679BE3249B2714026148173D3627B4063448F31D2BF8340FCC0CB96ADF37840E722191EC3E17E4001020000800200000063448F31D2BF8340FCC0CB96ADF37840E722191EC3E17E40AE2ED37655218040D6E20BCB1A477F405CFEF8D6168E814001020000800200000000C07FD18E14874000E05687A8577E4000807637AEAF5B40E6BACF5D7E3D8940C818271750877B401AEAF0FF3FFF7940010200008003000000E6BACF5D7E3D8940C818271750877B401AEAF0FF3FFF794000B09CC83C4B89400060356B68757B4000409D39C27B7F403F3ADD17023E89409B557F9D168B7B40068B614C6F677A400102000080020000003F3ADD17023E89409B557F9D168B7B40068B614C6F677A40AC072F7F6F5486402FB3A8E17928804074E07A524C45864001020000800200000000608832AEF98240004026E9C355824000C096D373C96D402633968359D084404122DA60CEA880400A7A81E8F28079400102000080020000002633968359D084404122DA60CEA880400A7A81E8F280794036E23C42DD0A8840CA05BD87126F7B40E5884890F81783400102000080020000000060ED53A825754000C037074C7D7F4000C08CE93DCC844006EEB4AE774C7240DA153B09AF028340C2966289C795794001020000800200000006EEB4AE774C7240DA153B09AF028340C2966289C795794041B5D4B96ADF7140E3FDB68CB67F8340CC2FD30DDA4B80400102000080020000000000E8CE5E9B874000007132A7A28B4000101702C73E82406A716CE577438640BF32EAF7345B86400D3693B7CF2278400102000080020000006A716CE577438640BF32EAF7345B86400D3693B7CF227840E252490E7F638540AEEE78F70DEB82405F4C0A4BD18E7240010200008002000000E252490E7F638540AEEE78F70DEB82405F4C0A4BD18E72402633968359D084404122DA60CEA880400A7A81E8F28079400102000080020000002633968359D084404122DA60CEA880400A7A81E8F280794063448F31D2BF8340FCC0CB96ADF37840E722191EC3E17E4001020000800200000063448F31D2BF8340FCC0CB96ADF37840E722191EC3E17E40B122F178DCF682404CFFC9BE3CC8724022CDEF535ACC8140010200008003000000B122F178DCF682404CFFC9BE3CC8724022CDEF535ACC81400050D04BB29D824000E0BBC4720B70400040BAFC02818040A7B78BE1A0F97A406F2471C42E408140A6AA7552CCB08340010200008002000000A7B78BE1A0F97A406F2471C42E408140A6AA7552CCB083401C46455D9F7779407F5EE9137B9B824067B2F4843B2385400102000080030000001C46455D9F7779407F5EE9137B9B824067B2F4843B238540004012664E6C7740009012ED517284400000F241F2428F40D16E40E027587540373CDDECB2688440C9854DC60CD68340010200008002000000D16E40E027587540373CDDECB2688440C9854DC60CD6834025568CF850C27440F469D468FD658440858A5E34C64C834001020000800200000025568CF850C27440F469D468FD658440858A5E34C64C83403B1703CA0C69714053762AA57D5684407306249068E682400102000080030000003B1703CA0C69714053762AA57D5684407306249068E68240000080C5B60CF43F00606278450684400060986F916B8840DE9FEBE7864D7140F5064D46D9A485401409BA9924B17C40010200008002000000DE9FEBE7864D7140F5064D46D9A485401409BA9924B17C40D8B4FFBA934D7240DD995E26ECBC8540C438E175C0EE7B40010200008002000000D8B4FFBA934D7240DD995E26ECBC8540C438E175C0EE7B400020D80F7003754000B080B228FE854000202B1BBB0570400102000080020000000020A2F68F7F704000602653AEFE814000806163E1427240B9CD8534DF8D7140545D928B2A97824027EAAE1252D07C40010200008002000000B9CD8534DF8D7140545D928B2A97824027EAAE1252D07C4006EEB4AE774C7240DA153B09AF028340C2966289C795794001020000800200000006EEB4AE774C7240DA153B09AF028340C2966289C795794025568CF850C27440F469D468FD658440858A5E34C64C834001020000800200000025568CF850C27440F469D468FD658440858A5E34C64C834056C161806D0675400AC41B97698C8440B915BF136FFC814001020000800200000056C161806D0675400AC41B97698C8440B915BF136FFC81400000CBFF0AB1774000202F207C0D864000000450E0B06D40010200008002000000003053D6486D8C4000F094A5D4AD81400030579EFC7688409FD92C715F338C40DC7F41E1B75081403BB6AA0366FC7C400102000080020000009FD92C715F338C40DC7F41E1B75081403BB6AA0366FC7C409B50F7E32D018B40C6A6B0EDD1C87E4075D10D82E07A75400102000080030000009B50F7E32D018B40C6A6B0EDD1C87E4075D10D82E07A754000E00E4368E88A4000C0E35C29797E400020D60EFA0F784071A45FA7C5038A40DB6F1141139B8040A4CF3D8EEC8A754001020000800200000071A45FA7C5038A40DB6F1141139B8040A4CF3D8EEC8A75407B2A1E0B54128940DC1B607D340D824002033184CC6473400102000080020000007B2A1E0B54128940DC1B607D340D824002033184CC6473406A716CE577438640BF32EAF7345B86400D3693B7CF2278400102000080030000006A716CE577438640BF32EAF7345B86400D3693B7CF22784000000F84519382400020953593028C4000000780DAAF4D400492922926ED7C408746A828595083406A2D04B4FC5581400102000080020000000492922926ED7C408746A828595083406A2D04B4FC5581405BF4975129717B40F39FEFFB91BE8140D2610E2E624182400102000080020000005BF4975129717B40F39FEFFB91BE8140D2610E2E62418240A7B78BE1A0F97A406F2471C42E408140A6AA7552CCB08340010200008002000000A7B78BE1A0F97A406F2471C42E408140A6AA7552CCB083401163534019277640179793C0B74D7840C366E6E6F5AE8040
+112    01060000800400000001030000800100000005000000751A50903F1D8B40DD74105B7440634016CA665054DA834000E0DF4ED8C18240000043BF7B654F4000C04C9A27E37140C2D255EFCD55824076D1DBD4CDB36440E8AF3A0F41F57C40678138C5F05D8A4060110C6CAE0565402A3A90E4397F8340751A50903F1D8B40DD74105B7440634016CA665054DA834001030000800100000005000000678138C5F05D8A4060110C6CAE0565402A3A90E4397F834000A03549F8AA834000403C9E4E7272400080D7E7ECFD704000E02ACE00E9754000F0EF67D72B8A4000A02D0707F48C405937BFEDAE7E8B40F57EF4E92D1165402EC9A964BF6F8540678138C5F05D8A4060110C6CAE0565402A3A90E4397F8340010300008001000000040000005937BFEDAE7E8B40F57EF4E92D1165402EC9A964BF6F854000D01B0028798C4000C0BE46271B654000001D57602B8D4044C297CE5CB28B406B2A3163E90B64403EE8517CB24085405937BFEDAE7E8B40F57EF4E92D1165402EC9A964BF6F85400103000080010000000400000044C297CE5CB28B406B2A3163E90B64403EE8517CB24085400040B94C98818C400000001A78E85F4000601640148D7C40751A50903F1D8B40DD74105B7440634016CA665054DA834044C297CE5CB28B406B2A3163E90B64403EE8517CB2408540
+113    010100008000C0644CD01768400040DB1680B58B400040F22FE8556A40
+114    01050000800A000000010200008002000000514383A191416D4004711188C08B8B40846F57BB98017240940F637752986F401AB05D4AD6158C40BCB85960A4647140010200008003000000940F637752986F401AB05D4AD6158C40BCB85960A46471400040C7310C30754000F022604C928E400000DE3C9BD84A404D34140912B1804084CD9DBA20FC8840205CC379985081400102000080020000004D34140912B1804084CD9DBA20FC8840205CC37998508140004055586BFF82400000F4E745DF8640001078FB78F68B4001020000800300000000405913393C62400060C7B801E87D4000A06F097667734000703CACA45A8B4000A0EA2B759F804000E080FEDEEE8040514383A191416D4004711188C08B8B40846F57BB98017240010200008003000000514383A191416D4004711188C08B8B40846F57BB980172400000907437855B4000301C564FA88D4000C075AE36D46240940F637752986F401AB05D4AD6158C40BCB85960A4647140010200008002000000940F637752986F401AB05D4AD6158C40BCB85960A46471404D34140912B1804084CD9DBA20FC8840205CC379985081400102000080030000004D34140912B1804084CD9DBA20FC8840205CC379985081400060D429B8688B4000E0606FB4348540005069ED344C85400020973C20418D4000807B59B268894000902BE465B980400102000080020000000040654729B567400080EEAC6C065B4000005AE93D5F5C4000D056AF40FD8A4000605F164B9E744000006E2AF936644001020000800200000000C000AFAD507240000029A2314F794000C0EC69133C74401B2583C1C4CD7140BB9063C0BEFD7840F0BF19547FF4744001020000800500000000002C2C81864D4000806AA8F7CF60400040C2F630B58A4000805AD9BEFA564000803EF02F99774000B033B167EF81400080462B7D9B554000807D5DF60F8540008047D65FB96B40000004D7681D484000100D346E308640006085CE0D638C40514383A191416D4004711188C08B8B40846F57BB98017240
+115    01060000801300000001030000800200000013000000815CF175BA607240C5A6E33CDAC38940E04EA881C67E844000404053E3E975400000C6117EDF8E400000FC8E64E7824000A071C5181D864000603505DB848840004004788FDA6D4045049631BE19864062DC1C7EBB288640D99F37BB50A47040361310583A29844000D3EAFB174482400845242255047640005034B42F7483400090666C364288400000C011D48B24402F6E02FD45DC7E4006923F5241368540EAE53B3C2DEB7240E98971C4A23284407A041E5E5FF48140DDABEAF9B1D56B406D5829834B9084408D15901770B57D409A40EB0BA5BE6B40390614A61D6977404B7D4E3049587240CE3509D8505A7940DA49B30A86DA7640038F95CC4E13734027C7D8AF0E1E76409FE2A8090E407740F2C9F0CFF23D7240065D31DF335D7940DC9C9C19E92F764033A513A3638F7140B1F197B533C87C40434FBA9B58C16340D71976B87C707340AE7AB2C5D9237940004068539B36744000D0F59F870682400040DB64483C6740E6C1F51831E26E40F3DF0477018685405404EFEA7F418140C44D4D54E3926F407160274FA3058640AC6A25FF2EF6814072E8430077577540C661629CF56E8740E50DE026AD318540815CF175BA607240C5A6E33CDAC38940E04EA881C67E8440040000002F6E02FD45DC7E4006923F5241368540EAE53B3C2DEB724000E03BAE1D2C76400070A6C70F2E884000900BAA8436884000E057FAD70478400060561D299F824000803F4301225C402F6E02FD45DC7E4006923F5241368540EAE53B3C2DEB7240010300008001000000080000000D7CD51C1B4170400E7A94BD63826B40C8FFBE99F00A80400000FE3F556E41400000ED4ACDE7524000406BD2B3398740995FD021627B5C4056BE082013017340CA533A8AB91386404C88724E914A5F4014C34A8D6B6D72406C934CCC74367B400080DEAD71435C4000401D0732D76D4000C08A8C3FA36040D1B779EF34886140DD59E5B21FA7714074ED8E8FD05579400080CF67EDC46240004081B11225714000C027EB829184400D7CD51C1B4170400E7A94BD63826B40C8FFBE99F00A804001030000800100000004000000995FD021627B5C4056BE082013017340CA533A8AB91386400000D436175C574000608B4B4B0E744000F0B19B9DD3864008ED4F3A949B5D40404CF5EE3ED1734060BBE5EF61078640995FD021627B5C4056BE082013017340CA533A8AB91386400103000080010000000400000008ED4F3A949B5D40404CF5EE3ED1734060BBE5EF610786401A86A79067A262404187E57EE4597940AC0600D8C1407E40C8C257C41B336040C6342650F8B57340B04741BB60CA7B4008ED4F3A949B5D40404CF5EE3ED1734060BBE5EF61078640010300008001000000070000001A86A79067A262404187E57EE4597940AC0600D8C1407E4000C088AE01AA6F4000D05E758FC48B400000CC3BF2698540815CF175BA607240C5A6E33CDAC38940E04EA881C67E8440C44D4D54E3926F407160274FA3058640AC6A25FF2EF681400040788C170D6E4000B059C31DD485400020155BF0D77D40E6C1F51831E26E40F3DF0477018685405404EFEA7F4181401A86A79067A262404187E57EE4597940AC0600D8C1407E400103000080010000000B00000045049631BE19864062DC1C7EBB288640D99F37BB50A470400010B9483CD687400040B1B0F2A48940008007C1869059400000802A09BE8C40004053D6B28385400040EE6E3CE87D4000B042C40D298F4000C03E215103734000802075DA5E7240E2A37944D5238A403BABFA07DFC07A405FA13C1F2490804000905E64D14A8C4000604C5A084F81400070366F606B8E40D054D5FA8487864066D5D1E2528780406301346E0E088140F87E67E5039686404411D186D01D8040C7A6515999E27E4003EE32693E3B8440DEF638C57DEE8140734403DDD3997640FD59200FF3118640C311FE02E4AC80404CBC6CB0656B704045049631BE19864062DC1C7EBB288640D99F37BB50A4704001030000800100000004000000E2A37944D5238A403BABFA07DFC07A405FA13C1F2490804000202C0A9699874000801703FE78714000601D08BBB37340F87E67E5039686404411D186D01D8040C7A6515999E27E40E2A37944D5238A403BABFA07DFC07A405FA13C1F249080400103000080010000000400000003EE32693E3B8440DEF638C57DEE8140734403DDD3997640E98971C4A23284407A041E5E5FF48140DDABEAF9B1D56B40D549E1AF89328440080701E533F58140A053DFCC5398764003EE32693E3B8440DEF638C57DEE8140734403DDD399764001030000800100000005000000390614A61D6977404B7D4E3049587240CE3509D8505A79407C8A047FB93F78408E8339DECE3E71403ABD50B52CBB7740C2F88151F3AE77408C2D3E22E954714080F6632295F177409FE2A8090E407740F2C9F0CFF23D7240065D31DF335D7940390614A61D6977404B7D4E3049587240CE3509D8505A7940010300008001000000050000007C8A047FB93F78408E8339DECE3E71403ABD50B52CBB77405A0BE09EC2817C40FB02ED906498704014BCF55B5FF77440A2F02553231F8040485E3D75194160402516D20B4D98694000000913FA757F40008039E528255F4000400092578574407C8A047FB93F78408E8339DECE3E71403ABD50B52CBB774001030000800100000005000000A2F02553231F8040485E3D75194160402516D20B4D98694012D71FA3E0D78440812FB7A96F7B68408E20B6BB47947E404C97288F07818B40C0A90479599C6040E8CDF544DECD8040BC8C11F772B18040E81C138368255640608FB9E3D9406740A2F02553231F8040485E3D75194160402516D20B4D9869400103000080010000000500000012D71FA3E0D78440812FB7A96F7B68408E20B6BB47947E4000401EC31E66834000C0DCE566306A400010E52CF7C28940974109C7025883402B5B8E6A28A46A40596825E6F3B87F40D04910ACECF38440129429844FAC68407C3C3454630B764012D71FA3E0D78440812FB7A96F7B68408E20B6BB47947E4001030000800100000005000000D04910ACECF38440129429844FAC68407C3C3454630B764000700F7D37608C400040DFB4DECD724000806BEE989D594000C02BA387E68B4000C06E5E57D0604000808A926DC88640FDF8D0AC42888B40BC24C7AC0DA06040EA41AE8FE22C8040D04910ACECF38440129429844FAC68407C3C3454630B764001030000800100000004000000FDF8D0AC42888B40BC24C7AC0DA06040EA41AE8FE22C804000F06939F8AF8C4000001F1BB16C5E4000602A28CC3972404C97288F07818B40C0A90479599C6040E8CDF544DECD8040FDF8D0AC42888B40BC24C7AC0DA06040EA41AE8FE22C804001030000800100000004000000BC8C11F772B18040E81C138368255640608FB9E3D940674000409F2284C280400000CB5DF6EF5440000040E314920D40C2AB5C6CC4808040582C4B1189F35540B04DCF6A352E6740BC8C11F772B18040E81C138368255640608FB9E3D940674001030000800100000004000000C2AB5C6CC4808040582C4B1189F35540B04DCF6A352E674000E03CCD01887D4000807DE9E32B5440002079B0AA7F72403D1953B527307C403E6C248D31765F40FA1F8C02707E6C40C2AB5C6CC4808040582C4B1189F35540B04DCF6A352E6740010300008001000000050000003D1953B527307C403E6C248D31765F40FA1F8C02707E6C400D7CD51C1B4170400E7A94BD63826B40C8FFBE99F00A8040DC9C9C19E92F764033A513A3638F7140B1F197B533C87C40C2F88151F3AE77408C2D3E22E954714080F6632295F177403D1953B527307C403E6C248D31765F40FA1F8C02707E6C4001030000800100000005000000434FBA9B58C16340D71976B87C707340AE7AB2C5D9237940D1B779EF34886140DD59E5B21FA7714074ED8E8FD05579404C88724E914A5F4014C34A8D6B6D72406C934CCC74367B40C8C257C41B336040C6342650F8B57340B04741BB60CA7B40434FBA9B58C16340D71976B87C707340AE7AB2C5D92379400103000080010000000400000088A6B71D6A0F844032FD0B8047108240D2D2E8D3E9707F40361310583A29844000D3EAFB174482400845242255047640D549E1AF89328440080701E533F58140A053DFCC5398764088A6B71D6A0F844032FD0B8047108240D2D2E8D3E9707F40
+116    010400008001000000010100008000C04E4718CA6F4000002D7C4EB1504000D0E3A292C28E40
+118    0103000080010000000400000000800E0263535E4000702D89889D8C400060761C792989400000A502ED7D4840000078F1C3197A400000FEEE049B444000D020A6D886824000C0EB5128328F4000B04AB356AF824000800E0263535E4000702D89889D8C400060761C79298940
+119    01020000800300000000F048960B8A8D4000C0558EC9538D4000609D8D198A81400080A78639F78B4000A04B12341C8B4000006440095C844049247D817E4C8B4077821CE471CE8A40C602663210A57B40
+120    010600008012000000010300008001000000070000007EEBE0D18BC08840E316188123CC7C40F022084B90E68340A57ABD41EFAE8940997DCECE05957C40FA5B5F33B454804000C02CFC074C8C4000002A79100039400080A8A9DAB68640D6C64D7EAD628140CAC3472AF477714047907EF3589884400000C696744A8240000023A0816C724000C0F3E7E2038B40005062106977854000C0348DB77868400030016453888A407EEBE0D18BC08840E316188123CC7C40F022084B90E6834001030000800100000005000000D6C64D7EAD628140CAC3472AF477714047907EF35898844018ADC97429A17D40345AA16A2B836D40C24B06C18C347A40EC44345A51178040113A7BDFF8B373402C52D37897997B4000309D42DA4B804000E014AD670E734000309E825B648040D6C64D7EAD628140CAC3472AF477714047907EF3589884400103000080010000000900000018ADC97429A17D40345AA16A2B836D40C24B06C18C347A406D2FAB92B18E7C4006D12B2E5E5B6940D078CE4ECE907E406090CC7874767240B733FD3DCF1072402F0AFC4FDF3981400529A0A4E1137240CFD53AF0E2017140056E03761E337D40C23E4184CA8771409E389C9855FB7240B1923593047E6F409FEC826FAD6A73406A7AADE1337D784085D135C010B36C40A4B66AE972D679400997BE34E21A7C40515DE4C61C37734000C0AC74D2687B400040DC2F812B6B4000E097E8EEC1794018ADC97429A17D40345AA16A2B836D40C24B06C18C347A40010300008001000000040000006D2FAB92B18E7C4006D12B2E5E5B6940D078CE4ECE907E4000E0B2B01E4F7E4000802413BF7C6740008036C34C07864007D86F311B167B402858B530C4A76340375C4D4148857E406D2FAB92B18E7C4006D12B2E5E5B6940D078CE4ECE907E400103000080010000000400000007D86F311B167B402858B530C4A76340375C4D4148857E4000008E172A85764000007C49B7512F4000C0FBD63F2D664047F647537E0F7540653BD2F80DFB5840757D081928FE7D4007D86F311B167B402858B530C4A76340375C4D4148857E400103000080010000000400000047F647537E0F7540653BD2F80DFB5840757D081928FE7D4000801FD2F783684000000C41FD2F30400060885753DA86400529A0A4E1137240CFD53AF0E2017140056E03761E337D4047F647537E0F7540653BD2F80DFB5840757D081928FE7D4001030000800100000005000000C23E4184CA8771409E389C9855FB7240B1923593047E6F4000E0CEE76F0F714000C0E9D1F09B7140000054724BC0554075F45AE00EBA6E40B4CE4048DB347640778C8C31D9056840E31DC52CFB767040A7B5F3E8A2D37640A28E266A11B97540C23E4184CA8771409E389C9855FB7240B1923593047E6F400103000080010000000400000075F45AE00EBA6E40B4CE4048DB347640778C8C31D90568400000643B9DCC35400040725BD2A46C400000592E0E18664068E3CB3DCAC56040E0580023F68D84406976996AA396804075F45AE00EBA6E40B4CE4048DB347640778C8C31D90568400103000080010000000400000068E3CB3DCAC56040E0580023F68D84406976996AA39680400000067F7ACD4B4000F0A8F400358B4000E06AB69BA47E407DB40FB007AB63408B93918DAF50874053ED2DDF239A834068E3CB3DCAC56040E0580023F68D84406976996AA3968040010300008001000000080000007DB40FB007AB63408B93918DAF50874053ED2DDF239A83400000DE1E79A5654000109BE08B33894000908C6C32458C40F35F334ED4C48340FEAD6A9FF1768740748A410957E78340B4ED04106180804022D741212E4D85403D23CD25E4F27E4000201F735B00784000E03EADCC8886400040299CFC496940F114321338DA7840622180667E9A8240FDFC693E2A447A409DBEA4A6031A7440A2B901D0E7078140E044CC936FA07B407DB40FB007AB63408B93918DAF50874053ED2DDF239A834001030000800100000004000000F35F334ED4C48340FEAD6A9FF1768740748A410957E78340005035172CDA8840006033347CD48A4000E0A5EBDF37864050AD916844EB864034C1D09A64158740FA4A4C0D8F858240F35F334ED4C48340FEAD6A9FF1768740748A410957E783400103000080010000000500000050AD916844EB864034C1D09A64158740FA4A4C0D8F85824000A0C2DE65E38B4000001272827B86400060FBFE761B7C40CAE4D6684CC08640C323771DEB96834092DB20B2DECB7E408D1252DE8B518540BA62DBC261FB83404C9FD6E61251814050AD916844EB864034C1D09A64158740FA4A4C0D8F85824001030000800100000006000000CAE4D6684CC08640C323771DEB96834092DB20B2DECB7E40C2A76513E7698A40439DA53A15968240144DCE55C07386407EEBE0D18BC08840E316188123CC7C40F022084B90E68340A41F61A900CB82404F050723D92C7E409F1DEC409E827C402BCB95973D7284405334B569A14A82401598C5309B887C40CAE4D6684CC08640C323771DEB96834092DB20B2DECB7E40010300008001000000060000003E69CE61DEED7540D6E53F9C1BD37F40EAA5C634F2FA72409FEC826FAD6A73406A7AADE1337D784085D135C010B36C40E31DC52CFB767040A7B5F3E8A2D37640A28E266A11B97540EE4A314686CB6C40B25108C410497E40E77AE0FD4AA980409DBEA4A6031A7440A2B901D0E7078140E044CC936FA07B403E69CE61DEED7540D6E53F9C1BD37F40EAA5C634F2FA724001030000800100000005000000EC44345A51178040113A7BDFF8B373402C52D37897997B406C6A90B869957A4020E93C8C6C867C40EDF97E1C2C067640005CF3C47BE37E40AE81698E0CF37E40F5ABC8C4609C7640A41F61A900CB82404F050723D92C7E409F1DEC409E827C40EC44345A51178040113A7BDFF8B373402C52D37897997B40010300008001000000040000006C6A90B869957A4020E93C8C6C867C40EDF97E1C2C067640A4B66AE972D679400997BE34E21A7C40515DE4C61C377340E3EB1A0B24A17940CC521C3B58077E406ACB5AA8FF6375406C6A90B869957A4020E93C8C6C867C40EDF97E1C2C06764001030000800100000004000000E3EB1A0B24A17940CC521C3B58077E406ACB5AA8FF6375408283599E219578403E9EF390ABAD7F40E031DE515D8876408B3A1DE13D767940F625C2AAA5937F402EFA966A88907440E3EB1A0B24A17940CC521C3B58077E406ACB5AA8FF637540010300008001000000070000008B3A1DE13D767940F625C2AAA5937F402EFA966A88907440F114321338DA7840622180667E9A8240FDFC693E2A447A40B4ED04106180804022D741212E4D85403D23CD25E4F27E408D1252DE8B518540BA62DBC261FB83404C9FD6E6125181402BCB95973D7284405334B569A14A82401598C5309B887C40005CF3C47BE37E40AE81698E0CF37E40F5ABC8C4609C76408B3A1DE13D767940F625C2AAA5937F402EFA966A88907440
+121    01020000800300000000C06A175BDC8B400050344A078388400020A71B32F78540006047AC1D158A400060B565FF4173400020C8FC54417C4000A0D159619F8E4000E0424F88EC7A4000B04B2698308540
+122    0105000080120000000102000080020000000010F1A3617B8D400030969F7E2980400020818E37DC8E40E1B4F265AED283402BDE64D5FBB77040FA7A0DB65CE16C400102000080020000000080713EB23080400080865CD891524000D02D040DBC8940130CA79A639B7B4091AA2C641A496440362E5E9A7BBD804001020000800200000000C0F703F21E6F400080B3F583D86640008017295B6271403FD8A74E9A6469402C7FDF42B10264403172011784BB72400102000080030000003FD8A74E9A6469402C7FDF42B10264403172011784BB724000009084B81348400000C6C46BD7544000A0B7A1992F78403A12CC91E1696A40D43F0A3A97186F40854D681899FE76400102000080020000003A12CC91E1696A40D43F0A3A97186F40854D681899FE764057BD583EB9A17E40996FAC75449B8040471BBF3E33AF78400102000080020000000080F7BA3FB068400080EAD786B75840008006673C6570403FD8A74E9A6469402C7FDF42B10264403172011784BB72400102000080020000003FD8A74E9A6469402C7FDF42B10264403172011784BB72403A12CC91E1696A40D43F0A3A97186F40854D681899FE76400102000080020000003A12CC91E1696A40D43F0A3A97186F40854D681899FE7640CCAE961DAA896D40D6BB1F98E0418040E72BC04438147F400102000080050000000000FFE7FB13604000900855C8ED87400000C5840D505940000018AC1D45104000D06E51E8F386400060FAB10BC67940008080D3E43651400040588A6CA48C4000A06A16123F8B400000530F245F684000E03329A2198B4000A0BE28E9C975402BEAEB0C9A8D76400D479017DC6B86404712EA6454D27A400102000080020000002BEAEB0C9A8D76400D479017DC6B86404712EA6454D27A401347F5189C697C406053E79CE6C6834024FAB97CDE027A400102000080040000001347F5189C697C406053E79CE6C6834024FAB97CDE027A4000C0C1F47CF57F40001077102C2D824000902B73D11687400090845AC3C68D40008020E9BF8F88400000EB2994BA50400010F986B6E1804000008E5FE1BA5D400000D9C74019444001020000800200000000A0523E4BD6804000A0BA09CBA4804000C012FA74577E405B068E718CD681409C291E806DC880404C27B69203457740010200008002000000004018EDEAC57340003043E7895B8640008098BDB9637840C24AA46DA68C75407E6E1DE9D4BA8240F043CE1975C1834001020000800200000000A021DF2A46804000B0CB79EC92894000801B51848752401347F5189C697C406053E79CE6C6834024FAB97CDE027A400102000080020000001347F5189C697C406053E79CE6C6834024FAB97CDE027A404E51877B2FAA7B40EFC9717B94BA8240E8C867E00375664001020000800200000000201E36A076774000B03558E43E8A4000004F4C34376D402BEAEB0C9A8D76400D479017DC6B86404712EA6454D27A400102000080020000002BEAEB0C9A8D76400D479017DC6B86404712EA6454D27A4055D2EDEAFBD67540AF9898189B6C834005A3D0ADA38F764001020000800300000000104B077F01894000E02B7BCC2C8C4000008CE0F9345B4000B07470D284894000506936D3DE8940000030C86FA428402E0E4FAFD8FA8040D2D55E65F4ED85408C9EF0F5A8817040
+123    01010000800080370C78F05E40004004E90C81774000000C1E03D78D40
+124    0105000080520000000102000080020000000060D67947668C40000038D221921F4000207F4BD89989403CC92310477787403DA5C2B7E5D06340449254C1CCC080400102000080020000003CC92310477787403DA5C2B7E5D06340449254C1CCC0804095C607CAD39F84402BCE30A642A96E4022071366D445814001020000800200000095C607CAD39F84402BCE30A642A96E4022071366D4458140EF7AE2AEAC2684402AF7E9F1D23B70407630A269B4E68140010200008002000000EF7AE2AEAC2684402AF7E9F1D23B70407630A269B4E68140A3C48B1B3E387E407B6E2FD090DA794056870A737F6C8040010200008002000000A3C48B1B3E387E407B6E2FD090DA794056870A737F6C80402163252A26F87B401980BE983D007C401CBF36ECD20C80400102000080020000002163252A26F87B401980BE983D007C401CBF36ECD20C8040E67BBAF567F1794096FD60EB31EF7D40C60514DFB49D8340010200008002000000E67BBAF567F1794096FD60EB31EF7D40C60514DFB49D83401608094F24637940A382A66EEF767E404AE645E0C18983400102000080020000001608094F24637940A382A66EEF767E404AE645E0C1898340CB84493867B67440486E159765768140A88E3287EE047940010200008002000000CB84493867B67440486E159765768140A88E3287EE047940F3545708DDB26F4051D2F02656C88340343C20C0434F7E40010200008002000000F3545708DDB26F4051D2F02656C88340343C20C0434F7E40000063EE4CCC6C40004018D0767984400080C724B20E5D4001020000800400000000F02BB1F7238D4000805A90F3B457400080CE46DE4B83400090BAA56C688940004020D34E08604000E04A182E0B75400010C2912B6188400020AB4536DE834000D0BB50B4198E4000E0CCFCF2C8874000E0F6679F7D8140000040E645E83D4001020000800200000000F0089839C88640008084F118EB544000A08E1294C2884061BD9CDE3EE885403420B7B182A66240A4C9B9A89A05814001020000800200000061BD9CDE3EE885403420B7B182A66240A4C9B9A89A05814095C607CAD39F84402BCE30A642A96E4022071366D445814001020000800200000095C607CAD39F84402BCE30A642A96E4022071366D4458140070909F85F6184405ACC80B1FA787040887AF286EB028240010200008002000000070909F85F6184405ACC80B1FA787040887AF286EB0282402809444D1BD98340C7FC6D04DFF672404689C4CA52FD80400102000080020000002809444D1BD98340C7FC6D04DFF672404689C4CA52FD80404710BC5404D580409D0723B1918A8040ACA5DD125E7D81400102000080020000004710BC5404D580409D0723B1918A8040ACA5DD125E7D814059A850C6DF3A80400D7347105AF38140F686FAB5195D824001020000800200000059A850C6DF3A80400D7347105AF38140F686FAB5195D8240FB8E82419939804088AE1A4E56F68140368815A6E6598240010200008002000000FB8E82419939804088AE1A4E56F68140368815A6E6598240002006A62D5C7E400080B0897668844000E00D8A8D0183400102000080020000000040158444846C40000086CF26664E4000002793D4387A40240A221364A6714058C9849256BC51401F29C5D129DE7B40010200008002000000240A221364A6714058C9849256BC51401F29C5D129DE7B4061BD9CDE3EE885403420B7B182A66240A4C9B9A89A05814001020000800200000061BD9CDE3EE885403420B7B182A66240A4C9B9A89A0581403CC92310477787403DA5C2B7E5D06340449254C1CCC080400102000080030000003CC92310477787403DA5C2B7E5D06340449254C1CCC0804000B0EAE18BE9884000001695C6E5644000404990CA9A7240955ED4DE77F78440006BA089591571402119D05F252E8140010200008002000000955ED4DE77F78440006BA089591571402119D05F252E81402809444D1BD98340C7FC6D04DFF672404689C4CA52FD80400102000080020000002809444D1BD98340C7FC6D04DFF672404689C4CA52FD80408E26FBE651B57E4060F165675D857A4022CB24C7469180400102000080020000008E26FBE651B57E4060F165675D857A4022CB24C74691804089E9748AB0717C4099A81888B16C7C40D1039CABF224804001020000800200000089E9748AB0717C4099A81888B16C7C40D1039CABF2248040DD6FBB1CD9477A40D4A3A908573E7E406A0FB31CD98C8340010200008002000000DD6FBB1CD9477A40D4A3A908573E7E406A0FB31CD98C8340F297864B32F3794020826EF082857E40655F6ADEB2828340010200008002000000F297864B32F3794020826EF082857E40655F6ADEB2828340CB84493867B67440486E159765768140A88E3287EE047940010200008002000000CB84493867B67440486E159765768140A88E3287EE0479402ADF5DCE34F76F40EC34513C64738340666CAFC4DE9683400102000080030000002ADF5DCE34F76F40EC34513C64738340666CAFC4DE9683400000243DC1E8484000708E5155DC884000E0CA81F82883405CC80870B97C6A4022F6B9E791428A401EB2B595A75A7F400102000080020000005CC80870B97C6A4022F6B9E791428A401EB2B595A75A7F4000E0831E68927640001050F4748C8B400000CC2B54B740400102000080020000000080E0A2BE555B400060E8D555967C40002057E901D88E40946CB85E63D5714049B1CC9B44B37D40DA42576D5E428C40010200008002000000158F1DCC24D06A401CC505D1E2DA89404E4D70B71A2E844000802AB095F0654000103083B7948940000017A25347724001020000800200000000C0D04F4471684000B0F61630CD8C4000309F46E1B08E405CC80870B97C6A4022F6B9E791428A401EB2B595A75A7F400102000080020000005CC80870B97C6A4022F6B9E791428A401EB2B595A75A7F40158F1DCC24D06A401CC505D1E2DA89404E4D70B71A2E8440010200008002000000158F1DCC24D06A401CC505D1E2DA89404E4D70B71A2E8440F3545708DDB26F4051D2F02656C88340343C20C0434F7E40010200008002000000F3545708DDB26F4051D2F02656C88340343C20C0434F7E402ADF5DCE34F76F40EC34513C64738340666CAFC4DE9683400102000080020000002ADF5DCE34F76F40EC34513C64738340666CAFC4DE968340946CB85E63D5714049B1CC9B44B37D40DA42576D5E428C40010200008002000000946CB85E63D5714049B1CC9B44B37D40DA42576D5E428C401608094F24637940A382A66EEF767E404AE645E0C18983400102000080020000001608094F24637940A382A66EEF767E404AE645E0C1898340F297864B32F3794020826EF082857E40655F6ADEB2828340010200008002000000F297864B32F3794020826EF082857E40655F6ADEB28283407CAA4ECDC1A97A40DE3EA9E1FB977E40A639822A680389400102000080020000007CAA4ECDC1A97A40DE3EA9E1FB977E40A639822A68038940FF3BDE32E5697F40F81204040A137F40E4CF1437AD3F8240010200008003000000FF3BDE32E5697F40F81204040A137F40E4CF1437AD3F82400010C7386820814000E0BFB2975C7F400050BE9E403C83408E26FBE651B57E4060F165675D857A4022CB24C7469180400102000080020000008E26FBE651B57E4060F165675D857A4022CB24C746918040A3C48B1B3E387E407B6E2FD090DA794056870A737F6C8040010200008003000000A3C48B1B3E387E407B6E2FD090DA794056870A737F6C80400000BFC7563969400000A0C913F43C40008062E900A47A40240A221364A6714058C9849256BC51401F29C5D129DE7B40010200008002000000240A221364A6714058C9849256BC51401F29C5D129DE7B40EF7AE2AEAC2684402AF7E9F1D23B70407630A269B4E68140010200008002000000EF7AE2AEAC2684402AF7E9F1D23B70407630A269B4E68140070909F85F6184405ACC80B1FA787040887AF286EB028240010200008002000000070909F85F6184405ACC80B1FA787040887AF286EB028240955ED4DE77F78440006BA089591571402119D05F252E8140010200008003000000955ED4DE77F78440006BA089591571402119D05F252E81400080397811EC874000C084839729744000D0738C523A84401B452047CF3F8140B72AC3BDDCE98040683FDB1CAB1B80400102000080020000001B452047CF3F8140B72AC3BDDCE98040683FDB1CAB1B8040A89FC971BD3B8040BE41660525F481402663324EB72A8240010200008002000000A89FC971BD3B8040BE41660525F481402663324EB72A8240FB8E82419939804088AE1A4E56F68140368815A6E6598240010200008003000000FB8E82419939804088AE1A4E56F68140368815A6E659824000A033F2FB9F72400090538D370A89400080853F16765240AE7C3C8D24468640B67CFD0E264688403E7B84A969987740010200008002000000AE7C3C8D24468640B67CFD0E264688403E7B84A96998774050B3C55289158740913B63D3E4398840D46325907689824001020000800200000050B3C55289158740913B63D3E4398840D4632590768982407DD8D26C394C894019963A91681888408ED3A215B3EE7A400102000080030000007DD8D26C394C894019963A91681888408ED3A215B3EE7A4000A097D98C438E4000C0634949CD87400090BB3ADDAD874072A1E7B9FEAD8940F45C48ADA66F8840945083AEA5FA784001020000800200000072A1E7B9FEAD8940F45C48ADA66F8840945083AEA5FA7840725E3580C49F8740F7F324C974B8884030DB9D6D212E8040010200008002000000725E3580C49F8740F7F324C974B8884030DB9D6D212E8040393017FED27F8640FCBF21444BE08840ED71D627E0BD7240010200008004000000393017FED27F8640FCBF21444BE08840ED71D627E0BD72400060416B13CB814000407F77F9868940000038495F8D4C400040E4A206BB8E4000D0625ABD428F40005052BA65B18540158F1DCC24D06A401CC505D1E2DA89404E4D70B71A2E8440010200008003000000946CB85E63D5714049B1CC9B44B37D40DA42576D5E428C4000A01DD1110E734000C0D503B6A077400050F62FE3408E40E67BBAF567F1794096FD60EB31EF7D40C60514DFB49D8340010200008002000000E67BBAF567F1794096FD60EB31EF7D40C60514DFB49D8340DD6FBB1CD9477A40D4A3A908573E7E406A0FB31CD98C8340010200008002000000DD6FBB1CD9477A40D4A3A908573E7E406A0FB31CD98C83407CAA4ECDC1A97A40DE3EA9E1FB977E40A639822A680389400102000080020000007CAA4ECDC1A97A40DE3EA9E1FB977E40A639822A6803894059A850C6DF3A80400D7347105AF38140F686FAB5195D824001020000800200000059A850C6DF3A80400D7347105AF38140F686FAB5195D8240A89FC971BD3B8040BE41660525F481402663324EB72A8240010200008002000000A89FC971BD3B8040BE41660525F481402663324EB72A8240E65DB62B14D3854037E1A514A81287404B1AC4F4EAD37940010200008002000000E65DB62B14D3854037E1A514A81287404B1AC4F4EAD3794050B3C55289158740913B63D3E4398840D46325907689824001020000800200000050B3C55289158740913B63D3E4398840D463259076898240725E3580C49F8740F7F324C974B8884030DB9D6D212E8040010200008002000000725E3580C49F8740F7F324C974B8884030DB9D6D212E804000E0552171A78A4000D04ADBA67E8B4000A0B4CE23358240010200008003000000008007ECBE408E400020C62145B87F40006096441D94834000D00A6BC7AF8E4000300D2269E78C400080B1F36EEC504072A1E7B9FEAD8940F45C48ADA66F8840945083AEA5FA784001020000800200000072A1E7B9FEAD8940F45C48ADA66F8840945083AEA5FA78407DD8D26C394C894019963A91681888408ED3A215B3EE7A400102000080020000007DD8D26C394C894019963A91681888408ED3A215B3EE7A40A7C2EAF067A884404ABAF4047FF483405D750FC24DB47540010200008002000000A7C2EAF067A884404ABAF4047FF483405D750FC24DB475401B452047CF3F8140B72AC3BDDCE98040683FDB1CAB1B80400102000080020000001B452047CF3F8140B72AC3BDDCE98040683FDB1CAB1B80404710BC5404D580409D0723B1918A8040ACA5DD125E7D81400102000080020000004710BC5404D580409D0723B1918A8040ACA5DD125E7D8140FF3BDE32E5697F40F81204040A137F40E4CF1437AD3F8240010200008002000000FF3BDE32E5697F40F81204040A137F40E4CF1437AD3F824089E9748AB0717C4099A81888B16C7C40D1039CABF224804001020000800200000089E9748AB0717C4099A81888B16C7C40D1039CABF22480402163252A26F87B401980BE983D007C401CBF36ECD20C80400102000080020000002163252A26F87B401980BE983D007C401CBF36ECD20C8040E76875C1E27379401825D33D5AC17940A6C6EECD73A8814001020000800200000000F097431EE38640000009A5A4E989400040D7525FB56040393017FED27F8640FCBF21444BE08840ED71D627E0BD7240010200008002000000393017FED27F8640FCBF21444BE08840ED71D627E0BD7240AE7C3C8D24468640B67CFD0E264688403E7B84A969987740010200008002000000AE7C3C8D24468640B67CFD0E264688403E7B84A969987740E65DB62B14D3854037E1A514A81287404B1AC4F4EAD37940010200008002000000E65DB62B14D3854037E1A514A81287404B1AC4F4EAD37940A7C2EAF067A884404ABAF4047FF483405D750FC24DB47540010200008002000000A7C2EAF067A884404ABAF4047FF483405D750FC24DB4754003D0C8F8EB118440F72F63345962824052BE4C81F05E7940
+125    0106000080070000000103000080020000000F0000006AAFE1C9BBD3854092A87160D5467640F5501CA368CF7A40C3E2D9640E167E404B322D7DEDD581405448E5453999774000702C49551189400020833A296A8E4000609307C2B67740A6C0734493C88A40BBB2D7A686B380400A1BE1D77066664000C0C471D7B68E4000C01556209F874000C01C3FBB056C4000507BD785B38E400080FB9275765A4000601E312AFE7C4000A0B5C7BFD48A4000C08AA016CB68400000873BE06D6B40996145174A488740608D35793E6773401AA2B267781D754000E044CCB0D4874000E019A3E22087400010576083D78C403F7635F6A77B8540C13A6B9E994B7C404C0DB7E1C07E8640E07FE1DC28C0854000E7B6143F9D7740D225087166AB834083781FF12A818240A03ED20EF7D3804014AEB9CAAF2F81406266D092ED67824061FC3D81CFCF8040BA48640667378040E769819771C18540CBF75685C8867740BF29DC15624683406AAFE1C9BBD3854092A87160D5467640F5501CA368CF7A4004000000A6C0734493C88A40BBB2D7A686B380400A1BE1D77066664000B029EE56A48A4000B06E07BB7380400000D77D7ADA4A4000C0CFE493FB8B4000801BBD41776C4000C0C934CA4C6E40A6C0734493C88A40BBB2D7A686B380400A1BE1D770666640010300008001000000040000005307771CA1324B4010F34E3637918540F69C6CB4144981400000E040087E474000B0751B557082400000E632771177400000FC78CB6C3C400020D5CD23BF8540003002B2D0078A405307771CA1324B4010F34E3637918540F69C6CB4144981400103000080010000000400000092052585F646874017DAA4EA4B2673407825DABCD8CE814000A09FE50F2D8C400080E0137BB1504000C0056CE3778A40111EB343EE4587401D19B00CC1F37240AA41592E70E9804092052585F646874017DAA4EA4B2673407825DABCD8CE814001030000800100000005000000111EB343EE4587401D19B00CC1F37240AA41592E70E9804000007D704AF1864000006350ED1B46400000A772957D56406AAFE1C9BBD3854092A87160D5467640F5501CA368CF7A406060498B64D286401EC5C825065074400043595360637D40111EB343EE4587401D19B00CC1F37240AA41592E70E9804001030000800100000004000000996145174A488740608D35793E6773401AA2B267781D754092052585F646874017DAA4EA4B2673407825DABCD8CE81405949BA558E0887407F2A50F714E5734047419CA842467F40996145174A488740608D35793E6773401AA2B267781D7540010300008001000000040000000C9F7156ADE48440E7AC4234D7A07140EA53A9492FE96F4000B02D8B6D7585400040FB587D716F400000A21A15935C402942838FD4E084403FDF0C6EC99F714069810779C81F70400C9F7156ADE48440E7AC4234D7A07140EA53A9492FE96F40010300008001000000070000005949BA558E0887407F2A50F714E5734047419CA842467F406060498B64D286401EC5C825065074400043595360637D40E769819771C18540CBF75685C8867740BF29DC1562468340E07FE1DC28C0854000E7B6143F9D7740D225087166AB83400090AA22A518864000A04FFE838B76400040DC2FF8CC844029CB1A2FA32D86405235535F5782764050DE68601E3886405949BA558E0887407F2A50F714E5734047419CA842467F40
+126    01040000800A00000001010000800020D9792EB5784000000C9EE504754000709902510B8240010100008000A03269FA5D7B400010DE5D5BD181400000D866F4624740010100008000501AE5B451864000E01AE72B7A8D4000F0623448298940010100008000002021E4358A400040BB3391F1754000D0DE1A0B3B8440010100008000005AFCA6B17B4000007653CBB08D40006064E998AA7B40010100008000006A09D2575240000036C330B63E400000741ABAA465400101000080000012FEDBBA77400060463F3463764000A096C29173774001010000800000A8D0B8EB254000E0FBECF3DF7C4000B018A3EBD0824001010000800000E5E4560C714000A0B284E9967B400040A31D4B766640010100008000F0A0CBFC0D884000807A55CCF178400030DB80B68D8840
+127    0104000080010000000101000080000039F4A830764000C0C6E4037C7C4000005ED47ECF6A40
+128    010300008001000000040000009C7F2376911F7C401EA72C0B8D777440B27DC0FB38A4844000E0D065913F804000C0CF919889614000B041B26ECC8040FFD6E79E29D07A4084D7AE1B56347340E2BBA8558B1483409C7F2376911F7C401EA72C0B8D777440B27DC0FB38A48440
+129    01020000800400000000A0D3825107784000005FD684A18B4000A0D28C33927A4000202D25F0DF8A40000024CBA9156D4000A095B3630B8A40000057158E98794000200D5A58AA77400020789E4F1A7E400080425B7ED6644000703E6EB0858C4000E0D849CCEE7E40
+130    0104000080050000000101000080004015E2BEBC74400080656C56BA8E400040898DF66C6A4001010000800000F044822E57400060CBF5ADED82400080E58C2CC25440010100008000C04345B9C5674000604B9EBAD58C400090DB3B54E5804001010000800000FF7A2FF740400000BA335DF94E400000E992CA056A40010100008000A0212D840B7D400020D4B261C57540008000EC9FA96C40
+131    01050000800C00000001020000800300000000C0C432A2F464400020E4D6155174400000CA91D3617740000017A4D34668400000ABBF73FB51400040B92D1C058A408C0F9889A8D375403B629406DCA25A40422244229BF583400102000080020000000000E507FD26864000707527FF6889400000A76E97088540654970A58E028640315AC572CEF98840DECFBB30F7BF8340010200008002000000654970A58E028640315AC572CEF98840DECFBB30F7BF834070472C11F49785407B2F48E771B48740FC1F6890D7C4854001020000800200000070472C11F49785407B2F48E771B48740FC1F6890D7C485401108FD6721717D4037FD2B9976D55540260459B05E807F400102000080030000001108FD6721717D4037FD2B9976D55540260459B05E807F40002017AF91327C400000928A8B913A400050838CE35E8740B82AA5DF224F7C40D752EC7903AA5640F0B01C3E12987A40010200008002000000B82AA5DF224F7C40D752EC7903AA5640F0B01C3E12987A400080A8C964A87C40006054CD5D2E724000001FEB603D504001020000800200000000304B4B8EB281400000A65E0C4386400000AD7037B8894070472C11F49785407B2F48E771B48740FC1F6890D7C4854001020000800300000070472C11F49785407B2F48E771B48740FC1F6890D7C4854000F0503443C4874000F0D9D67A8288400040669E53758440654970A58E028640315AC572CEF98840DECFBB30F7BF8340010200008005000000654970A58E028640315AC572CEF98840DECFBB30F7BF8340008003109C946E4000C0716C95C98C400000239A6FBF4C4000F0C41D411C89400010F2EAF6DB8D400000418BAFA25740004013AE54FB88400000FE6C9F2B3B40008039121E006B401108FD6721717D4037FD2B9976D55540260459B05E807F400102000080020000001108FD6721717D4037FD2B9976D55540260459B05E807F40B82AA5DF224F7C40D752EC7903AA5640F0B01C3E12987A40010200008002000000B82AA5DF224F7C40D752EC7903AA5640F0B01C3E12987A4000E00642650A70400080F93902A85F4000C0B3AE68A972400102000080020000000080AC4EB27152400080E8E846138C4000704B9CBBD183401B0DEE36568971403E26E6473AA17940349F7CE6CE2A7B40
+132    01010000800040C5F43A7E8D400000899A92124E4000C0D68C803B7640
+133    01060000800A00000001030000800100000004000000003053BE495F844000402AB06CB98A400060B2B19DE27A4000D08C09D5598A4000B0876737398840007082EFC66D8840261A5ECEDA928440D4343DE7E4398940405C447489FA8240003053BE495F844000402AB06CB98A400060B2B19DE27A40010300008001000000040000001ADBC31CC34B814018514A7958F07A4080E73A718375834000F0F19920DB874000C0A165026A6140009001CBA31B8240BFBD23132BA97F407F7599E5E7B67940718E3A197CCA81401ADBC31CC34B814018514A7958F07A4080E73A718375834001030000800100000009000000BFBD23132BA97F407F7599E5E7B67940718E3A197CCA81400040051F1BEC7A400080AC0D2FBC774000A0BC10A489834000E01E32C50F7140000072BA3B3D634000207E00D65E794000005DD5CF5463400050573E2EA7824000F02E739AC788404C073749CC0C784016FBE5CCADE380407DA85EE52DCC82407C6EAC8A60507B4057D2CDEEFE517E40DE829E16FFE985400020026988647B4000A07A1B487F78400030E3F4BFD78740D9D4045D4DC17C40A141043217CB7C40160DC1715A378440BFBD23132BA97F407F7599E5E7B67940718E3A197CCA8140010300008001000000080000004C073749CC0C784016FBE5CCADE380407DA85EE52DCC824000C0D4DCE6BB6840001086B6321487400030F6F6F4AD8040CB90F935429974401B6B0BEA33338840038532083D758340BEF2D441055F7540D3D72C28A18F8740EDCDEF5BA7F0864000C0E1CAB85174400020AB8BDC62874000601ED6E38B8940C095F904A1387B405192FB94339782404C98F2A832B38A40BF33856725477B40C65E590B5C7E8040BAE3A0A849A087404C073749CC0C784016FBE5CCADE380407DA85EE52DCC824001030000800100000004000000CB90F935429974401B6B0BEA33338840038532083D758340008066F09A9E6E400020CD0717938C4000206872EF16744056438A876E7E7740275FDF96259888402A857D29FC478240CB90F935429974401B6B0BEA33338840038532083D7583400103000080010000000400000056438A876E7E7740275FDF96259888402A857D29FC47824000B02811F411874000E087D4BBAD8B4000F0F853919A8E4018ED170658897840FFA39B4956168840790C5ED01A2B854056438A876E7E7740275FDF96259888402A857D29FC4782400103000080010000000700000018ED170658897840FFA39B4956168840790C5ED01A2B854078D224999A3A8040FBFFD58C1B3C8440F20CEB35DD0B854044E891A3DA217E40793E2DE569918040DAFD9D67239B8640C095F904A1387B405192FB94339782404C98F2A832B38A400060093AB2377B400010DF1CB2B982400010B62B51DA8D40BEF2D441055F7540D3D72C28A18F8740EDCDEF5BA7F0864018ED170658897840FFA39B4956168840790C5ED01A2B85400103000080010000000400000044E891A3DA217E40793E2DE569918040DAFD9D67239B8640C76A4927BBDF7E400457ED577C0D804026560B9288888440D917280DEBE17D4029DCA7209B2C80405DC526F5A293844044E891A3DA217E40793E2DE569918040DAFD9D67239B864001030000800100000004000000C76A4927BBDF7E400457ED577C0D804026560B92888884404D9CA9E8448184408B87EAEBAA9E7D4030F91DB360A97E401ADBC31CC34B814018514A7958F07A4080E73A7183758340C76A4927BBDF7E400457ED577C0D804026560B928888844001030000800100000005000000D917280DEBE17D4029DCA7209B2C80405DC526F5A2938440D9D4045D4DC17C40A141043217CB7C40160DC1715A3784407C6EAC8A60507B4057D2CDEEFE517E40DE829E16FFE98540BF33856725477B40C65E590B5C7E8040BAE3A0A849A08740D917280DEBE17D4029DCA7209B2C80405DC526F5A2938440
+134    0103000080010000000700000000509255E2B883400000AEC6DC8F31400080B0D960186B400040B26F83317B400000705A3E2614400050FC50CE778D40E87BF7CA1F55824079E21077B5A9614028C2D80DB17788400090C45AF8BF82400040488F9BDB6040000012150B968A4002BDD1CC96C48240EC8BE4209D3A634050CD5AFD484A8840BF657E9CD9988340C279C9270D36664048E226117AA3804000509255E2B883400000AEC6DC8F31400080B0D960186B40
+135    0104000080060000000101000080004085DD2B2D884000C0623455D172400000705BEF370A4001010000800020836CF8DD754000F07988C68282400080EA21A74C76400101000080000084D9491B3B4000005AF4E326344000C09BAA43506240010100008000D0D8F7C6058940002009447CE782400020B09511A78340010100008000709D814EE583400060E63D4F2F7D400000EFD2253B8340010100008000A0E22EE40B8C400080264E6FEE884000A0829548C58340
+136    01040000800200000001010000800000C15F4CE36C4000A03CFDA007744000006BC5B520734001010000800040A042EF1A60400020D0C131678E40002086826FD58940
+137    01020000800400000000E0B85EDF8873400000E40B7CC052400090D31DDCEB88400040EEB8E81D6E4000009B9A06F4694000A0F40D8541784000C09673F4D07640004047844B3D6C400040067F4EC6684098A1932B56127940B91D3BD335126C40B9D3B005D12C8040
+138    0105000080050000000102000080020000000030463633C987400000B76A01B96D4000B0E4DD65888D400062B0039F1B83409CB4C57763067840E61F71C654E28940010200008002000000008026FC9DE7504000002C424BF67B4000602ECC3A8F8B40398B601FD9A15240F16D4B3C1C847C4032C8C1999C127F40010200008002000000398B601FD9A15240F16D4B3C1C847C4032C8C1999C127F40648D15759A095440508CB25B7AF77C40B4B426EB322084400102000080020000000000B6DE714741400050FD061BEA8B4000C0D55050F07A40398B601FD9A15240F16D4B3C1C847C4032C8C1999C127F40010200008003000000398B601FD9A15240F16D4B3C1C847C4032C8C1999C127F400000EDA24DCB564000C0FF6FE92371400000B18C00B16440000015AA92B9514000C0CC707A85704000101E0F078C8640
+139    01050000800400000001020000800200000000800F83554D70400080C893DDF0744000C0904420918A40DFC51B73F02D744028926C3EAB736E409C5273F681C18640010200008003000000DFC51B73F02D744028926C3EAB736E409C5273F681C186400020C0871AF1744000009CFA59346C400030E7E055AE80403F780034885C7A402A8B1D1E161E7640319F9707AE077D4001020000800200000000C0F990692D7340000054F8425366400080D5AD96798C40DFC51B73F02D744028926C3EAB736E409C5273F681C18640010200008002000000DFC51B73F02D744028926C3EAB736E409C5273F681C186406F56AF07C19B78401AA2F5BEB29780407E3448A680998540
+140    0103000080010000000400000000C05846AEE87F4000E0EEECC53E7C4000003FA85813804000808BB91D758A40008099562E7488400000D853F6C04C4000E0700DDF0878400000859AB39A5A40007017714355834000C05846AEE87F4000E0EEECC53E7C4000003FA858138040
+141    010100008000407F5BEDE76A4000A0FC48BAD4784000E0382CFDD08340
+142    01040000800100000001010000800000005119D0734000C07D541D9A7C4000005FA604668A40
+143    0102000080020000000000C4D617738840000035EBE2EA404000F0549E468F88407999DC141E217A40FBC960FD10FA654042DE622649BB8640
+144    010600008004000000010300008001000000040000005F4789BAB21B59402D0545DB5FFB7B40EB41D726400B89400000A81ACC7841400020A43B46C37A4000404A616CE888407F5ED0D2AFC14E40A47D960227988240E3AE63262E6886405F4789BAB21B59402D0545DB5FFB7B40EB41D726400B89400103000080010000000400000036CFECBA16258240E96A7E1D08E28540D46FC46F72C87A4000A0778A6C19754000A0A4AC3CD98440002020F016F8744000C0F03C28BD774000007A318F7A894000F0BFBCC295854036CFECBA16258240E96A7E1D08E28540D46FC46F72C87A4001030000800100000007000000B39E2774BB7D7640ACCF498394057440F375E1B877AA8340000062672860454000007BBDC87F4E400000DEE1441C79404F3B1A5BF689584083B605783E1A6A40E2ABB5D13B587940B2ED4B9211FF7F407BC9B2BDFC8C84408224D3C725C47F4053CD51EBD4E5804044343260FD1B83400836DFFC645B7E40DEFDFDE8988880404BF9061147E382401AFFDD157A5D7B40B39E2774BB7D7640ACCF498394057440F375E1B877AA83400103000080010000000800000053CD51EBD4E5804044343260FD1B83400836DFFC645B7E40006010F82DD0854000E06D3C691986400040FFCBF61A7940009042CE374A8B4000A0F1E6863D8B4000202CC60139754000E0088978BC8B4000F0E593D323844000006DAE53C28D4000A00D970F9772400040098840F26A40008055C1B5F18A40B39E2774BB7D7640ACCF498394057440F375E1B877AA834036890BC444BF8240F06514126B2580409491C609178A824053CD51EBD4E5804044343260FD1B83400836DFFC645B7E40
+145    01060000800F0000000103000080010000000500000003CF37A122F68A408E36C99204668440B9F8F3A0380B80400000920005C18E400060989F797182400040429E87A87B4000F01FD034CA8B4000C0DF1CC8CF6D4000709C6189268F409F266C72D69584400EE1F5BFC9837D40000F5A9F8C0D814003CF37A122F68A408E36C99204668440B9F8F3A0380B8040010300008001000000060000009F266C72D69584400EE1F5BFC9837D40000F5A9F8C0D81407DA85B68EE4284400801982617F17C4047AB5925342F764000C09AC05243844000A0FAA0BFF27C40006051955EAD72405077EF391D378340D59E360584287D40FC6E1D4D3CAA7E40A21D81D875528340CEAEDDA2C1098040D2448D967CF984409F266C72D69584400EE1F5BFC9837D40000F5A9F8C0D8140010300008001000000040000007DA85B68EE4284400801982617F17C4047AB5925342F764060B2D0C7A3038340F31779856CAA7740C4891DB3EBB47A40FE82B01D6522834034DCE62C8BF27A4076EEFC2114387F407DA85B68EE4284400801982617F17C4047AB5925342F76400103000080010000000400000060B2D0C7A3038340F31779856CAA7740C4891DB3EBB47A400090EB91026D82400000AD97165F5E40000058AE8D1B63401F28070B3767814074EB7E07C9D97040FED3A37B6D45774060B2D0C7A3038340F31779856CAA7740C4891DB3EBB47A40010300008001000000080000001F28070B3767814074EB7E07C9D97040FED3A37B6D4577400000B982CDCD7B40000017D29A51404000A0E37E4DDC7B400C9BAA13B8006A40E41EB512375F524001DCF5809A157A409A96FB222CA27A40E36DB3414EA77040D32C6AAA07C96A400040D8B4A97F76400000C435B39562400000C4089DCA5840B7AA953EA2837D409C8C015AC0337340C93F8C3384536B409DB895DED6C0804060CAE22EF9BB76405858AF9976BA7B401F28070B3767814074EB7E07C9D97040FED3A37B6D4577400103000080010000000D0000000C9BAA13B8006A40E41EB512375F524001DCF5809A157A40000060904E6660400000608C5B131640000018CD21E667400040DBAB9A066A4000B09237F220814000403620832F6D4000002E144C2673400000EF99D48C8A400020BE7786228D409E3C097ECD587D40A3C5BEB76FDD8840C449A2607E6B85400080A4A497BD774000A0A2DFE097874000E0C56E19FD714099D4440B12388040C1C3C8F0292F8340DACAC126C7E483400ECE16763E847C404E2D694B43298140469EB3F4C8F6864000609BFBD1D67F4000A02A4F22487E40008039AAFC278640D64921B296F17F40060F8BBAF7CE7D40B3DD664863568140A6BFDD78320C6B408329FD559EA77F40A4EFBFC9167C844000003531672365400000EFA0CC0C5440005060ABD1EF83400C9BAA13B8006A40E41EB512375F524001DCF5809A157A40010300008001000000040000009E3C097ECD587D40A3C5BEB76FDD8840C449A2607E6B854000406338F799804000F0A5675ABD8940002038D969678740722DB1C88DC58840F7574F0F07878540640107DC68CD81409E3C097ECD587D40A3C5BEB76FDD8840C449A2607E6B854001030000800100000004000000722DB1C88DC58840F7574F0F07878540640107DC68CD8140003046527F4B8B4000F0A00D8AB1844000C011F43CAB7F4003CF37A122F68A408E36C99204668440B9F8F3A0380B8040722DB1C88DC58840F7574F0F07878540640107DC68CD814001030000800100000005000000B7AA953EA2837D409C8C015AC0337340C93F8C3384536B409A96FB222CA27A40E36DB3414EA77040D32C6AAA07C96A40C456449AE9438040FD948B7EED267B40EE92E557B8D4774055419E066C938040129A5C3C2257784057DB6E9E4ECB7440B7AA953EA2837D409C8C015AC0337340C93F8C3384536B4001030000800100000004000000C456449AE9438040FD948B7EED267B40EE92E557B8D47740D64921B296F17F40060F8BBAF7CE7D40B3DD66486356814058D1BB45B8F4804073F96701779C7D40549E345A5C467040C456449AE9438040FD948B7EED267B40EE92E557B8D477400103000080010000000500000058D1BB45B8F4804073F96701779C7D40549E345A5C4670407BB5AFE56F418240CC420AF6901E814056C8A7F3DD567640ACE6611B455183404499F899F60A80408E8F04E924987640657C0531D85782402FA6312346557D40920804EAEC486C4058D1BB45B8F4804073F96701779C7D40549E345A5C467040010300008001000000070000007BB5AFE56F418240CC420AF6901E814056C8A7F3DD56764099D4440B12388040C1C3C8F0292F8340DACAC126C7E48340CB6AFBD4266E8040ABDC21BBF666834027D6648999EE884000000D3F1C7283400000A69209BA814000C0302C360A8940EFAF79386B7183405209FFB997B08140F11E6DCA70EE7C406046C1B316B782408C1D403805F08140946B4B63773062407BB5AFE56F418240CC420AF6901E814056C8A7F3DD56764001030000800100000004000000EFAF79386B7183405209FFB997B08140F11E6DCA70EE7C40E2132CA309488440D9D0230E89678140B91006D051035A4073E47F3AB2528340CA53BD5AFA0C8040B92E71845ED67940EFAF79386B7183405209FFB997B08140F11E6DCA70EE7C400103000080010000000400000073E47F3AB2528340CA53BD5AFA0C8040B92E71845ED67940A21D81D875528340CEAEDDA2C1098040D2448D967CF98440ACE6611B455183404499F899F60A80408E8F04E92498764073E47F3AB2528340CA53BD5AFA0C8040B92E71845ED6794001030000800100000006000000657C0531D85782402FA6312346557D40920804EAEC486C405077EF391D378340D59E360584287D40FC6E1D4D3CAA7E40FE82B01D6522834034DCE62C8BF27A4076EEFC2114387F409DB895DED6C0804060CAE22EF9BB76405858AF9976BA7B4055419E066C938040129A5C3C2257784057DB6E9E4ECB7440657C0531D85782402FA6312346557D40920804EAEC486C40
+146    01030000800100000004000000569E0AE8319785402985A900AB9D7840C0EC39E9A54F7F400040A1FBBA2A874000E0C7E91410744000A0D7DC3276884000C0A235CA79784000006074F934044000F05E4688ED8940569E0AE8319785402985A900AB9D7840C0EC39E9A54F7F40
+147    010600008008000000010300008001000000070000005006244FC37685405EA051042BD2704080B2F66D518884400090A86BBA81874000000D95717D63400060ACDDAD2A824000401F75A53872400000A47F81924240000025CA41F074409A99B9F449BF70402FCE1558AFEB6B4072B54B1A65E27F4000E03162CFCA7C400000486AA2B15D4000406DE133CA6E409A98D14EE9938140007E1CF153A96F407C59665DCEDB80405006244FC37685405EA051042BD2704080B2F66D51888440010300008001000000050000009A99B9F449BF70402FCE1558AFEB6B4072B54B1A65E27F400000B7F5B27E554000C0A362FB21744000D0786F2EDD894026D4B197545F72403736137AA94A7B4037E549EE25558640D849D53BCFC76E406C843C98B5AC7840565F02DAA2DE82409A99B9F449BF70402FCE1558AFEB6B4072B54B1A65E27F400103000080010000000400000026D4B197545F72403736137AA94A7B4037E549EE25558640F43578707A3377403283E80D75877F40962F30A2FCEF7640BB8DE15409047840A4DFB78A52667E407142465A62347E4026D4B197545F72403736137AA94A7B4037E549EE2555864001030000800100000004000000F43578707A3377403283E80D75877F40962F30A2FCEF76400040AFE6EDBA75400040E63DBEC880400000031A67674D406BB1C2CB286678409678F4574B4A80408416150C6F757740F43578707A3377403283E80D75877F40962F30A2FCEF7640010300008001000000050000006BB1C2CB286678409678F4574B4A80408416150C6F757740CFDACAF241A87E40E473208B43098340F4C2246065AC8340EDA6777D4435804056A12BA558838140C8B00B400474864036AE3B2CB3897A40DA445C9DEAC97F40816F6DA0BF6F7F406BB1C2CB286678409678F4574B4A80408416150C6F75774001030000800100000007000000EDA6777D4435804056A12BA558838140C8B00B400474864039DF4EA839248140A3208748F30682408C0CEFC7D35C894044D2D08E2836864028A7BE7535137C40347081A851428B4064CAD21A3BFE8440878A2F51F8DA78408DB276A736A4854000B0E57500A0824000601544DAD27B4000A06E546F287E40E11EA758183282400F822F6F37247C4015ED90BBECBE8040EDA6777D4435804056A12BA558838140C8B00B40047486400103000080010000000500000064CAD21A3BFE8440878A2F51F8DA78408DB276A736A485400090FE0946668A4000C011792114724000F08ACC89318C405006244FC37685405EA051042BD2704080B2F66D5188844058B29B00C4F1834098F3007F93157640806435AC2934844064CAD21A3BFE8440878A2F51F8DA78408DB276A736A485400103000080010000000700000058B29B00C4F1834098F3007F93157640806435AC293484409A98D14EE9938140007E1CF153A96F407C59665DCEDB804000F06E4FF349814000803A92A2836F4000E039E768B98140BB8DE15409047840A4DFB78A52667E407142465A62347E4036AE3B2CB3897A40DA445C9DEAC97F40816F6DA0BF6F7F40E11EA758183282400F822F6F37247C4015ED90BBECBE804058B29B00C4F1834098F3007F93157640806435AC29348440
+148    01060000800400000001030000800100000004000000000034EA1375584000609162D937754000C0E872EA298E401AA5DFFA48026340712E426696287A408CB68852021582401CE76B757BB6684009ED12574D74764084E15ED7CF927E40000034EA1375584000609162D937754000C0E872EA298E40010300008001000000100000001AA5DFFA48026340712E426696287A408CB68852021582400000B1EE3B4A49400040451DDE32814000C023C669BB79406A7BF350AB967A407187162B649779408863E81F83A17B4000802FF7D435744000C0DB1B9F586B40005045891DA881408CAA2E3B30E87E40FD97D025D7F77740C7F97191FBC68240ED3A7D0A099282402CBB38DDF79F7540D83C6B1225CD78400010B3ED386D834000C05FE734CD6B400060A614BF5B734075611205AA4F8440EC1629A2F45074403A90C1C0563D784055361D4096858C401547ADAA90496C4090041AD1D74F81400020274670E98C4000C0BCDFBB83684000A0A045A239864000008B322065754000C02E9ED86D65400080EE061C776C401CE76B757BB6684009ED12574D74764084E15ED7CF927E4000E0373E4286784000205A942EDD7840000090A4BCA34F4000402C5228806A400060C4F14BA87B400000F56F6D9E7A407079C545E7ED68408AEE4C6CEE787E402DC0110AC90C85401AA5DFFA48026340712E426696287A408CB68852021582400103000080010000000A0000006A7BF350AB967A407187162B649779408863E81F83A17B4000200F94F1F77C40002065ECDD097E400060F7E826107640000086A1A2F343400000A73CF38F8540004085931B106140004096FB9E56644000703A499A1F864000E0BDB252CB7A4000F0797410EF87400070F17E5E258440004061A83EEB8D4020A35A896E568240D1909FCA10857D40F9EDC44C23938040485F0601179F8140809DB985AA2F7E40980D4100AA0C71404C85C872EACE8140B487CC0736807C40D6816827D39080408CAA2E3B30E87E40FD97D025D7F77740C7F97191FBC682406A7BF350AB967A407187162B649779408863E81F83A17B400103000080010000000600000020A35A896E568240D1909FCA10857D40F9EDC44C2393804010DDA24E213685409B2FF8B07ED87A404A2E1B72F0716B4075611205AA4F8440EC1629A2F45074403A90C1C0563D7840ED3A7D0A099282402CBB38DDF79F7540D83C6B1225CD78404C85C872EACE8140B487CC0736807C40D6816827D390804020A35A896E568240D1909FCA10857D40F9EDC44C23938040
+149    01050000800F000000010200008002000000000000DD52A9E03F000047D308634A4000702AC9DF2181402220697CDD1B7D402EC2A6B8EC3C7F401AB4E4DF4E1C7D400102000080020000002220697CDD1B7D402EC2A6B8EC3C7F401AB4E4DF4E1C7D402E6C3B7A56337F400A1A7D69BB9F80407C36E03EB78E7E400102000080020000002E6C3B7A56337F400A1A7D69BB9F80407C36E03EB78E7E4064133E6F4FD980401D9B93B5E0D28140B10468DA06867E4001020000800200000064133E6F4FD980401D9B93B5E0D28140B10468DA06867E40947AF044957B88403090F59FC028894038F703CB7AD97B40010200008002000000947AF044957B88403090F59FC028894038F703CB7AD97B4000E04B87BE028D4000D0034399828D400060A01A0CBF804001020000800200000000302B28CF028A4000C007FAC716724000E00B4E3C558D4049D6673077AF80401EA572A1F7AA7F40905E7125664E7B4001020000800200000049D6673077AF80401EA572A1F7AA7F40905E7125664E7B402E6C3B7A56337F400A1A7D69BB9F80407C36E03EB78E7E400102000080020000002E6C3B7A56337F400A1A7D69BB9F80407C36E03EB78E7E40C8310F7DDF1677408E98759C9C938340C5BAF5E0BF1C7B40010200008003000000C8310F7DDF1677408E98759C9C938340C5BAF5E0BF1C7B4000004216FBDD71400010A83C457A85400000299534B46440947AF044957B88403090F59FC028894038F703CB7AD97B40010200008002000000947AF044957B88403090F59FC028894038F703CB7AD97B40005074AF97808E4000B015B99D958A4000E0D8CBE5A07A40010200008002000000000020FF7B403B40009079033E1C87400030433D33328740C8310F7DDF1677408E98759C9C938340C5BAF5E0BF1C7B40010200008002000000C8310F7DDF1677408E98759C9C938340C5BAF5E0BF1C7B4064133E6F4FD980401D9B93B5E0D28140B10468DA06867E4001020000800300000064133E6F4FD980401D9B93B5E0D28140B10468DA06867E4000300271856C85400040BD73D44F80400020AD7530557B4049D6673077AF80401EA572A1F7AA7F40905E7125664E7B4001020000800200000049D6673077AF80401EA572A1F7AA7F40905E7125664E7B402220697CDD1B7D402EC2A6B8EC3C7F401AB4E4DF4E1C7D400102000080020000002220697CDD1B7D402EC2A6B8EC3C7F401AB4E4DF4E1C7D40000099947CDA4C4000806EED77AA7C4000005D3A4C775A40
+150    010400008006000000010100008000F07EF359E0874000401574517C6D40001076C88B268E4001010000800060880C8EC877400080B269B73B694000A01AE9D7AE7E4001010000800000B97500E3594000E0C2C9E5947A40000019AC8AF08B4001010000800080C08C7D1B54400040C162877D7140003097A70E058D40010100008000C017055BC46C400020A02BCFD776400080E443C6AA714001010000800050A9B3186F85400090E74AC71F824000701D5EE90C8340
+151    010100008000C02F7BD37A644000C0A02B05057D4000A0513CCAC47840
+152    01040000800A000000010100008000F0251530DD83400000A8085DB3894000A0EEAC5F268440010100008000C0439312B98C4000807DFC6D40594000807BA452316140010100008000E0AC7043537B400080058674D857400080FB33527F6340010100008000F0185143A5854000009607AEA94F4000608A6CCC637140010100008000606B2427927F4000407E471C8E7A4000A00FA9384D7D400101000080000098AAD0C13E400050E90020318F4000B0387D9D2C87400101000080002097EC0B098C4000F078E62D908B40000073CC893E4540010100008000804084BED5674000A07DCD7BAD744000E071054F857B40010100008000B02046CC0D8C400040D8D968B5724000600F8286097D40010100008000E07BC2836E84400000B3F8D805894000501450739E8740
+153    01050000804B00000001020000800200000000607BC7884B7F400060C543FB2F814000E0051B7A2F7240902B46D868D77E40A2E2B2A43B0881405A218146FFFA7840010200008002000000902B46D868D77E40A2E2B2A43B0881405A218146FFFA7840CAF6A17BC6557640976B7BBCB13D7C40FACBA71492287640010200008002000000CAF6A17BC6557640976B7BBCB13D7C40FACBA71492287640200DC29D732F76408EB9DE6175237C40533712B322167740010200008002000000200DC29D732F76408EB9DE6175237C40533712B3221677402F366759C584744073ACD02E5CFF7A40742220134BE26F400102000080020000002F366759C584744073ACD02E5CFF7A40742220134BE26F40B79B0CCBE2357440AF2F89545BC97A4034437858372C7C40010200008003000000B79B0CCBE2357440AF2F89545BC97A4034437858372C7C40008097E07DE95A4000E0EF57828E71400040E624D818674030EEDB14D4B173404097310938DA75408FED658E5BED7A4001020000800200000030EEDB14D4B173404097310938DA75408FED658E5BED7A4030F8631F2A20774053FD496D34FD76404A4E4C63BE6E7E4001020000800200000030F8631F2A20774053FD496D34FD76404A4E4C63BE6E7E409F0C4EC3A4C577406F2CE3D6063477407D6120E55CDC7D400102000080020000009F0C4EC3A4C577406F2CE3D6063477407D6120E55CDC7D40ACE9E774E7E47D4012AD08773F3B79406A160B2251847440010200008002000000ACE9E774E7E47D4012AD08773F3B79406A160B2251847440AEEE546ABE148040B5FACC3797FB7940AE6E46C350F87B40010200008003000000AEEE546ABE148040B5FACC3797FB7940AE6E46C350F87B4000205DBDEC1F814000809CE19EAC7A4000409DE536BA84409A42E293AA788440E3EA13D10AF777409BDBBA68041A76400102000080020000009A42E293AA788440E3EA13D10AF777409BDBBA68041A76404350607C975A8640C4AF85CFE57076408A27376B46E26D400102000080020000004350607C975A8640C4AF85CFE57076408A27376B46E26D4000F014C2A7D38A400080923AE8D1724000C01947B04668400102000080020000000080B61736B3794000808A9FEDC7614000D0716C942F814030F8631F2A20774053FD496D34FD76404A4E4C63BE6E7E4001020000800200000030F8631F2A20774053FD496D34FD76404A4E4C63BE6E7E4047956963A8EE7640DAE1C893530C78405863692E05187D4001020000800200000047956963A8EE7640DAE1C893530C78405863692E05187D4066FD94CE05BA7640DB411688942C79406B3DE3B5A6927C4001020000800200000066FD94CE05BA7640DB411688942C79406B3DE3B5A6927C40007E1D41E3757640B7C70DE8B7A17A40D8307FF6A65B6E40010200008002000000007E1D41E3757640B7C70DE8B7A17A40D8307FF6A65B6E40200DC29D732F76408EB9DE6175237C40533712B322167740010200008002000000200DC29D732F76408EB9DE6175237C40533712B32216774093C3D0CAC5287640F895912809487C40B2890DD19631764001020000800200000093C3D0CAC5287640F895912809487C40B2890DD196317640D7B9893CBEC07540D4FFD9B4BF817E40789DD88FAA8A7740010200008002000000D7B9893CBEC07540D4FFD9B4BF817E40789DD88FAA8A7740A0B4421E00C674403885B50977EF81404D4AA5D0D8A68140010200008002000000A0B4421E00C674403885B50977EF81404D4AA5D0D8A681407A3598FC060D744098026CB6F6E98340B04E80E01B7D7B400102000080020000007A3598FC060D744098026CB6F6E98340B04E80E01B7D7B40C1AD1786A89972406A470253DBE28740C8932FEF59727A4001020000800200000000808F925D57664000C0F50CDAF081400090CE24D1398C4084A8934177AB6A40A0BC693322DA8040F234E5A6F71C894001020000800200000084A8934177AB6A40A0BC693322DA8040F234E5A6F71C89406EBE915644B571401BDF4B16E44D7D4034EEEA1F07FE7E400102000080020000006EBE915644B571401BDF4B16E44D7D4034EEEA1F07FE7E406F8F5A40915172409699F7A0A2B07C40BD63CF2CCE0B7A400102000080020000006F8F5A40915172409699F7A0A2B07C40BD63CF2CCE0B7A401096B8C7ACE173407A102D19151E7B400AFA1FA75FDB70400102000080020000001096B8C7ACE173407A102D19151E7B400AFA1FA75FDB7040B79B0CCBE2357440AF2F89545BC97A4034437858372C7C40010200008002000000B79B0CCBE2357440AF2F89545BC97A4034437858372C7C40BCD630B2104A764056F4D0C9ECB1784042E00EAF16BD7D40010200008002000000BCD630B2104A764056F4D0C9ECB1784042E00EAF16BD7D4047956963A8EE7640DAE1C893530C78405863692E05187D4001020000800200000047956963A8EE7640DAE1C893530C78405863692E05187D409F0C4EC3A4C577406F2CE3D6063477407D6120E55CDC7D400102000080020000009F0C4EC3A4C577406F2CE3D6063477407D6120E55CDC7D40A5A96094F370794022CBBE761B8675402F4767E3D86B7B400102000080020000000090C178FE05844000B06B411C13864000F014D906BB804088051C20001E8340065EDE07F3148540CB2C99537CB2834001020000800200000088051C20001E8340065EDE07F3148540CB2C99537CB283404DFDC900EB5D82409C8EE14E83428440EDF0745EACB280400102000080020000004DFDC900EB5D82409C8EE14E83428440EDF0745EACB280406257039A4786804099069AFDCE3D8240503166AC690F7B400102000080020000006257039A4786804099069AFDCE3D8240503166AC690F7B40902B46D868D77E40A2E2B2A43B0881405A218146FFFA7840010200008002000000902B46D868D77E40A2E2B2A43B0881405A218146FFFA7840C713F01E06F97840B800F82886A27B40AA1AAE6518CC7740010200008002000000C713F01E06F97840B800F82886A27B40AA1AAE6518CC77406DF9EF6AA6D27740E10FCEAB05607A40186457CA064770400102000080020000006DF9EF6AA6D27740E10FCEAB05607A40186457CA0647704066FD94CE05BA7640DB411688942C79406B3DE3B5A6927C4001020000800200000066FD94CE05BA7640DB411688942C79406B3DE3B5A6927C40BCD630B2104A764056F4D0C9ECB1784042E00EAF16BD7D40010200008002000000BCD630B2104A764056F4D0C9ECB1784042E00EAF16BD7D4030EEDB14D4B173404097310938DA75408FED658E5BED7A4001020000800200000030EEDB14D4B173404097310938DA75408FED658E5BED7A4000C086B8F8356B400080F3CAD95C6E4000E0F0D945D2754001020000800200000000808462727650400060151FF2E3824000807BCA06CC6D407A3598FC060D744098026CB6F6E98340B04E80E01B7D7B400102000080020000007A3598FC060D744098026CB6F6E98340B04E80E01B7D7B4088051C20001E8340065EDE07F3148540CB2C99537CB2834001020000800200000088051C20001E8340065EDE07F3148540CB2C99537CB2834057AFD2E05D5C8540AAB6104ABB5E8540816AFD1E0A9C894001020000800200000057AFD2E05D5C8540AAB6104ABB5E8540816AFD1E0A9C894070EEAF15ADC88640CFE934BF878D8540DA8E5C0C84F37E4001020000800300000070EEAF15ADC88640CFE934BF878D8540DA8E5C0C84F37E4000404D0FDBD286400010B881D68E8540004037DEA9568B404D93258CB4C18640A003A3AAD789854038E5C01FF2FB7E400102000080020000004D93258CB4C18640A003A3AAD789854038E5C01FF2FB7E404DFDC900EB5D82409C8EE14E83428440EDF0745EACB280400102000080020000004DFDC900EB5D82409C8EE14E83428440EDF0745EACB28040A0B4421E00C674403885B50977EF81404D4AA5D0D8A68140010200008002000000A0B4421E00C674403885B50977EF81404D4AA5D0D8A6814084A8934177AB6A40A0BC693322DA8040F234E5A6F71C894001020000800300000084A8934177AB6A40A0BC693322DA8040F234E5A6F71C89400000EF5334475B4000C01F5871CE7F40007058418B638B406EBE915644B571401BDF4B16E44D7D4034EEEA1F07FE7E400102000080020000006EBE915644B571401BDF4B16E44D7D4034EEEA1F07FE7E408FB1BB1178F172408EA6E2863A057D409E020504A5B776400102000080020000008FB1BB1178F172408EA6E2863A057D409E020504A5B7764093C3D0CAC5287640F895912809487C40B2890DD19631764001020000800200000093C3D0CAC5287640F895912809487C40B2890DD196317640CAF6A17BC6557640976B7BBCB13D7C40FACBA71492287640010200008002000000CAF6A17BC6557640976B7BBCB13D7C40FACBA71492287640C713F01E06F97840B800F82886A27B40AA1AAE6518CC7740010200008002000000C713F01E06F97840B800F82886A27B40AA1AAE6518CC7740AEEE546ABE148040B5FACC3797FB7940AE6E46C350F87B40010200008002000000AEEE546ABE148040B5FACC3797FB7940AE6E46C350F87B409A42E293AA788440E3EA13D10AF777409BDBBA68041A76400102000080030000009A42E293AA788440E3EA13D10AF777409BDBBA68041A7640004066FC1F4E8E4000004C50087273400080CAF6923250404350607C975A8640C4AF85CFE57076408A27376B46E26D400102000080020000004350607C975A8640C4AF85CFE57076408A27376B46E26D40ACE9E774E7E47D4012AD08773F3B79406A160B2251847440010200008002000000ACE9E774E7E47D4012AD08773F3B79406A160B22518474406DF9EF6AA6D27740E10FCEAB05607A40186457CA064770400102000080020000006DF9EF6AA6D27740E10FCEAB05607A40186457CA06477040007E1D41E3757640B7C70DE8B7A17A40D8307FF6A65B6E40010200008002000000007E1D41E3757640B7C70DE8B7A17A40D8307FF6A65B6E402F366759C584744073ACD02E5CFF7A40742220134BE26F400102000080020000002F366759C584744073ACD02E5CFF7A40742220134BE26F401096B8C7ACE173407A102D19151E7B400AFA1FA75FDB70400102000080020000001096B8C7ACE173407A102D19151E7B400AFA1FA75FDB704056EAF2D27F897040A5A999215CBF7B40BC0FE5424C33524001020000800200000056EAF2D27F897040A5A999215CBF7B40BC0FE5424C33524000C0A5E310C2664000E0DA7A18B87C400080254B63875F400102000080020000000040A02B380F704000A08F71AB7E7B400000B4B1BE6A384056EAF2D27F897040A5A999215CBF7B40BC0FE5424C33524001020000800200000056EAF2D27F897040A5A999215CBF7B40BC0FE5424C3352406F8F5A40915172409699F7A0A2B07C40BD63CF2CCE0B7A400102000080020000006F8F5A40915172409699F7A0A2B07C40BD63CF2CCE0B7A408FB1BB1178F172408EA6E2863A057D409E020504A5B776400102000080020000008FB1BB1178F172408EA6E2863A057D409E020504A5B77640D7B9893CBEC07540D4FFD9B4BF817E40789DD88FAA8A7740010200008002000000D7B9893CBEC07540D4FFD9B4BF817E40789DD88FAA8A77406257039A4786804099069AFDCE3D8240503166AC690F7B400102000080020000006257039A4786804099069AFDCE3D8240503166AC690F7B404D93258CB4C18640A003A3AAD789854038E5C01FF2FB7E400102000080020000004D93258CB4C18640A003A3AAD789854038E5C01FF2FB7E4070EEAF15ADC88640CFE934BF878D8540DA8E5C0C84F37E4001020000800300000070EEAF15ADC88640CFE934BF878D8540DA8E5C0C84F37E400010D45997378940005089C612D78640004082C61682604030902BA22CF68740CA353C938C2987406DA3921E4E2F804001020000800200000000408B06D7F1864000F033B8FE6186400020B5C77DF5864057AFD2E05D5C8540AAB6104ABB5E8540816AFD1E0A9C894001020000800200000057AFD2E05D5C8540AAB6104ABB5E8540816AFD1E0A9C89404C3EB01E44F784405314E13F161E85409C2A0F275BDC8940
+154    01020000800300000000904ACD581088400080EA6883E87C400000805B5DF8E83F00002A77011E544000102A053D65814000806FF94A4B7B4090012089E0F96D40BDF2B57EFCD07840182423FD7F8E7040
+165    010500008026000000010200008002000000D3788F06A6178B40B6ADE9C05D29844020B29424AEDB894092A9B9999E788A4014334F16856B87403C59DA80A672874001020000800200000092A9B9999E788A4014334F16856B87403C59DA80A672874000B0D85D49AC89400000FB514E9B8B4000003F5939408F40010200008003000000D3788F06A6178B40B6ADE9C05D29844020B29424AEDB89400090F7CD9D188E4000205CBB0BAE834000D06004AA7A864092A9B9999E788A4014334F16856B87403C59DA80A67287400102000080020000000050F9C5D3568B400040A7BC96E58A400090C307A68A8A40F9D6BB6EBFDD8A4054DCBCBFA2BA894011B840F761EA874001020000800200000000B070E44AFC82400080A3074A816D4000609F98A2578940FAD4AB17906E8140D7BE546F00BC7340EA78BF716FE38140010200008002000000FAD4AB17906E8140D7BE546F00BC7340EA78BF716FE3814071FFDFB903827C40049B353BBEEC7D40FE115C871F9F824001020000800300000071FFDFB903827C40049B353BBEEC7D40FE115C871F9F824000A0BECF04927A400060F452FC83804000D0DBCAD95D8D406F9655C5C0A77D40416226A97DC77F40338FCB5F20B583400102000080030000006F9655C5C0A77D40416226A97DC77F40338FCB5F20B583400080D37B536583400020D6D358127C400090B911BBC68C40DC619599CF328540538488D96745804030804113B4AB8240010200008002000000DC619599CF328540538488D96745804030804113B4AB8240D7BC0DBFED1986402C161DB7FC638140AF4DC3B7A72A8140010200008002000000D7BC0DBFED1986402C161DB7FC638140AF4DC3B7A72A814049C979F6D3A688400CA858CC918D84402C923E36CD46864001020000800200000049C979F6D3A688400CA858CC918D84402C923E36CD4686404895283D08C68840E75AC21A43B484406C9DEFF1806A844001020000800200000000C0CDA729E6834000001C32CB3A674000004CAD0A852440BD1476B3AB7084405C6157AA1D54744074BE959F63EC6D40010200008002000000BD1476B3AB7084405C6157AA1D54744074BE959F63EC6D40DC619599CF328540538488D96745804030804113B4AB8240010200008002000000DC619599CF328540538488D96745804030804113B4AB8240FA1404F189C98540FDE7F1062B03854038F51DD161E18540010200008002000000FA1404F189C98540FDE7F1062B03854038F51DD161E18540A2BD4F43929586403AE362D02C6E8B40DD56F1C455B98340010200008002000000A2BD4F43929586403AE362D02C6E8B40DD56F1C455B983403FFE0FEFDFCC8640DF2443E7832B8D40DD5C832D5B6D81400102000080020000003FFE0FEFDFCC8640DF2443E7832B8D40DD5C832D5B6D81400010543E3F0687400020030084F98E4000F04DBA06E48A4001020000800200000000202F75F353854000E0BA9F8D637E4000C0D7144F637240D7BC0DBFED1986402C161DB7FC638140AF4DC3B7A72A8140010200008002000000D7BC0DBFED1986402C161DB7FC638140AF4DC3B7A72A81403D156C71AD4A8740FACFD72267C58440E643C7AEE6C781400102000080020000003D156C71AD4A8740FACFD72267C58440E643C7AEE6C7814058851D1E0699874062C87C6CE3A385403A83FFD941BA754001020000800300000000C0A5E74D03804000907C6B0AC48E4000E05E406900754000C02CB400D2854000C031961E168F4000001CF49EF351408809ACC2B8B785407A96F8CBBF9D8D40480E5FF06E1571400102000080020000008809ACC2B8B785407A96F8CBBF9D8D40480E5FF06E157140E20C46DD2EA285408F93BC5C4B698C40034644FB09B87840010200008003000000E20C46DD2EA285408F93BC5C4B698C40034644FB09B8784000E02FB4848385400040BE5025B28A4000D0331F50F686403EDC69CFDE568240E1298E08B9908540F9447544B63784400102000080020000003EDC69CFDE568240E1298E08B9908540F9447544B63784406F9655C5C0A77D40416226A97DC77F40338FCB5F20B583400102000080020000006F9655C5C0A77D40416226A97DC77F40338FCB5F20B5834071FFDFB903827C40049B353BBEEC7D40FE115C871F9F824001020000800400000071FFDFB903827C40049B353BBEEC7D40FE115C871F9F82400000BE52F01E774000603741D83775400000F633F5FE3B4000006F92748A6A4000E00CBE0E9A714000D0FC3EE0B98140FAD4AB17906E8140D7BE546F00BC7340EA78BF716FE38140010200008002000000FAD4AB17906E8140D7BE546F00BC7340EA78BF716FE38140BD1476B3AB7084405C6157AA1D54744074BE959F63EC6D40010200008004000000BD1476B3AB7084405C6157AA1D54744074BE959F63EC6D4000A02DFAD9A8854000007461C791744000C060714B36684000D035CE8B778D4000402BFC0FD36E4000906C47E3798840D3788F06A6178B40B6ADE9C05D29844020B29424AEDB89400102000080030000000000C52B04A16E40009016DA17F383400080469A08565A400080FD3D500E564000E0B4FE7410884000409DFC03388B403EDC69CFDE568240E1298E08B9908540F9447544B63784400102000080020000003EDC69CFDE568240E1298E08B9908540F9447544B6378440FA1404F189C98540FDE7F1062B03854038F51DD161E18540010200008002000000FA1404F189C98540FDE7F1062B03854038F51DD161E185403D156C71AD4A8740FACFD72267C58440E643C7AEE6C781400102000080020000003D156C71AD4A8740FACFD72267C58440E643C7AEE6C7814049C979F6D3A688400CA858CC918D84402C923E36CD46864001020000800200000049C979F6D3A688400CA858CC918D84402C923E36CD468640D3788F06A6178B40B6ADE9C05D29844020B29424AEDB894001020000800200000092A9B9999E788A4014334F16856B87403C59DA80A6728740A2BD4F43929586403AE362D02C6E8B40DD56F1C455B98340010200008002000000A2BD4F43929586403AE362D02C6E8B40DD56F1C455B98340E20C46DD2EA285408F93BC5C4B698C40034644FB09B87840010200008003000000E20C46DD2EA285408F93BC5C4B698C40034644FB09B8784000807FA605A283400070064BB9798E40008053571A776B408809ACC2B8B785407A96F8CBBF9D8D40480E5FF06E1571400102000080020000008809ACC2B8B785407A96F8CBBF9D8D40480E5FF06E1571403FFE0FEFDFCC8640DF2443E7832B8D40DD5C832D5B6D81400102000080030000003FFE0FEFDFCC8640DF2443E7832B8D40DD5C832D5B6D814000E05309FB2C8C40005047A253F48A400060BBA7C038764000F098503B6C88400010717B40CF8E4000E0885539D57240
+166    010600008003000000010300008001000000040000007DA24330736D7A409FB35A321C8C7140380C57533FEC6F4000003A98C3C3794000C0D7D7862B60400000CD3152A842400000327FBE226E4000C060CF2FC3634000E0D84FD5EC7B407DA24330736D7A409FB35A321C8C7140380C57533FEC6F40010300008001000000050000000000F0E6E3F16C400040DD1AC2768C400000F6E249DC844000A063001905894000200F263EAC884000305A6D76E2874000008520BF15874000500265D77F8D4000E023BC1F4B754000E0F3C421497B4000D0DC86FB688C40004037B1FD0D7D400000F0E6E3F16C400040DD1AC2768C400000F6E249DC8440010300008001000000040000000030185EFC9D814000406AB0A028864000707F5BD34E8B400040E5658786864000C0D6B7C70770400020130859827D4000807DC3BEE95D4000E05C7CB17E74400010D623DC4986400030185EFC9D814000406AB0A028864000707F5BD34E8B40
+167    010600008006000000010300008001000000050000009B1EAC06DA7C7540F0958558720080408511239CD1E2814035BBAA7FDF198240847AAC32334E6E409EBBADBAF398844000906F36255E80400000F3407B2F5A4000908AB354D983405BB3FB1FB0A27140C12CD8122CFC7B40EA49BA13FE4284409B1EAC06DA7C7540F0958558720080408511239CD1E28140010300008001000000040000005BB3FB1FB0A27140C12CD8122CFC7B40EA49BA13FE428440000045E0F18F4A400040BE62A81A6A400080709096527640093E62C9F7794740A03B0CD2B66D8840DA773569629688405BB3FB1FB0A27140C12CD8122CFC7B40EA49BA13FE42844001030000800100000004000000093E62C9F7794740A03B0CD2B66D8840DA773569629688400000965048FA464000B0DA610B7988400040253B6D608A400EA60DFC5278474089475E1A4077884029CBD19870988840093E62C9F7794740A03B0CD2B66D8840DA77356962968840010300008001000000040000000EA60DFC5278474089475E1A4077884029CBD1987098884000009C7A3C4B4740002004EED37C894000B04BDF4380874095EE432F47E15E400CD53E10BAEB874070D93E860CCB87400EA60DFC5278474089475E1A4077884029CBD198709888400103000080010000000400000095EE432F47E15E400CD53E10BAEB874070D93E860CCB8740137E46BB48418040F2301EEC12198540E82E884DB7BE7F40F873D84FDA747940E2D4FAB12A2482407D64998EE690824095EE432F47E15E400CD53E10BAEB874070D93E860CCB874001030000800100000005000000F873D84FDA747940E2D4FAB12A2482407D64998EE6908240741DA295DA897940A4D9F4CD521D8240269C72FAB0CD84409B1EAC06DA7C7540F0958558720080408511239CD1E2814000208A0C0002754000806760CA4680400020A765A9998040F873D84FDA747940E2D4FAB12A2482407D64998EE6908240
+168    01040000800A000000010100008000503812E99B8040003030E761F48340000088ECDF712A40010100008000C0E377370484400040F2A99870674000F08683DDD2824001010000800040B5523184704000A015584CD979400000FBD25BA7624001010000800030CFBC036B87400020E1CDCD5C8A400040D99AB2726D4001010000800050491A505E864000C0AFE78A6D804000D0AF73120B8740010100008000B0877E8B748E4000003E298EF4594000405AA82E708140010100008000201AE7CD9978400000EEA52315514000C0C3B12A518640010100008000C091677A766A4000806655588A544000A046E8043C7540010100008000E0CA10F87973400000E2D33E293D4000406D9ACCD27A40010100008000B0771A82AF8140008025319EFB57400000B2E0F1C77940
+169    010100008000A000F628DA8E40008000D85608624000C0F69A785B7F40
+170    0102000080040000000000804ECA9AFB3F00C00D21B7F56E4000504ECEEE2984400080E856B2566C400000BEA82468514000004F2005F75840008009566539854000003DFDA506684000A074BB3BFB8E4000A07B40D9E87C400060F69ADBF88B400090FA6759C88940
+171    0103000080010000000A00000000A01862BE38764000F0B4E508D881400080C339723F84400060D48F0448704000E0C4D9E6B47D4000E002232554874000C0195A21D5624000202EA3C043714000A0E8F5015280400060D60B768372400080D553D9A4674000204573C696824000003E5D4E6E3C4000002AD8346A4D4000B040C30D7B8A400080040119D05B400040162C160E774000801F1618B36540000030BD93D65D4000308B760D30844000C0B06FF19C6B400000CB78B4DA8A4000E0124439F68E4000C0543A1CEC72400060B8ABE45B7B40005020DBB20B85400000314807CB634000A01862BE38764000F0B4E508D881400080C339723F8440
+155    01050000808700000001020000800300000050F138854D45824066C1783D65A88C407FAFE1BEF630774000B0340332B5844000D09C1CBFB38E400060E344A9B97D40B383750B01C6844031B004B30AB48D40ACF25525B4668340010200008002000000B383750B01C6844031B004B30AB48D40ACF25525B46683405E92E4DE36CB844079C7F6B4C7648D40685ECCFB59017C400102000080020000005E92E4DE36CB844079C7F6B4C7648D40685ECCFB59017C400A911D171DD084400CFB30BC3F1A8D402CE28D47C8A37C40010200008002000000005026FE4D20854000B0FFEB86128E4000B0C95458768C40B383750B01C6844031B004B30AB48D40ACF25525B4668340010200008002000000B383750B01C6844031B004B30AB48D40ACF25525B4668340D7BADA9B30298440FD49B7E8F50F8D4073C93151CC068140010200008002000000D7BADA9B30298440FD49B7E8F50F8D4073C93151CC068140B2B23B397C138440AFFC4E0840F98C4010E9A81522EF80400102000080020000000A911D171DD084400CFB30BC3F1A8D402CE28D47C8A37C40B2B23B397C138440AFFC4E0840F98C4010E9A81522EF8040010200008002000000B2B23B397C138440AFFC4E0840F98C4010E9A81522EF8040BB333187EDF28340B74FD6F38DF38C40780EAD9CEF656C40010200008002000000BB333187EDF28340B74FD6F38DF38C40780EAD9CEF656C4050F138854D45824066C1783D65A88C407FAFE1BEF63077400102000080020000000080F1461F35864000E07DFC3C228E400040520365B167405E92E4DE36CB844079C7F6B4C7648D40685ECCFB59017C400102000080020000005E92E4DE36CB844079C7F6B4C7648D40685ECCFB59017C40D7BADA9B30298440FD49B7E8F50F8D4073C93151CC068140010200008002000000D7BADA9B30298440FD49B7E8F50F8D4073C93151CC068140BB333187EDF28340B74FD6F38DF38C40780EAD9CEF656C4001020000800200000000E0281871E08940000029245FBB484000E06100027786406FD3AA53C39C8640F2D90D6703A94B403CCFF0850BEB72400102000080030000006FD3AA53C39C8640F2D90D6703A94B403CCFF0850BEB724000108A1D7F55814000009587943250400000A876E1AA3C409E660DB3639E6740EF2FF02A97606240D1A77338B6E180400102000080020000009E660DB3639E6740EF2FF02A97606240D1A77338B6E180401D070FE9427462408A2A48A6D7896340C9F14701C39482400102000080030000001D070FE9427462408A2A48A6D7896340C9F14701C39482400000C317EBCD4D4000400C822203664000A0A1899851854054F46B56BD296B40E9FCF4D64DC36F40636A71B20BD6814001020000800200000054F46B56BD296B40E9FCF4D64DC36F40636A71B20BD68140615C37CD313F77409DC9824398A974409CB4CFF59E197B40010200008002000000615C37CD313F77409DC9824398A974409CB4CFF59E197B4081D8A97D232B7940975E3F42F09C7540406E51FA97E07D4001020000800200000081D8A97D232B7940975E3F42F09C7540406E51FA97E07D4030444509EE377A401E8567E5E52176400CE06C034E417D4001020000800200000030444509EE377A401E8567E5E52176400CE06C034E417D40B862EF27A8617B40A0307CBE2BB57640DA527A7CE4CF7C40010200008002000000B862EF27A8617B40A0307CBE2BB57640DA527A7CE4CF7C4000E0B7812A9E7D400040CDE05DD077400020A57501488340010200008002000000008003EC683E8D400000F1D9DD5D404000C0FA56D474604022607BC5917E8640C25AC346182F5C40A691645ED62A714001020000800200000022607BC5917E8640C25AC346182F5C40A691645ED62A7140A24A14B5A78283404E5F9E9C6983624008EE05627A777F40010200008002000000A24A14B5A78283404E5F9E9C6983624008EE05627A777F40F4F40A19960074403C012F28294D7040ABBDDC3842457540010200008003000000F4F40A19960074403C012F28294D7040ABBDDC384245754000E0AFE522A9724000C0115761CC704000005E238A756B40615C37CD313F77409DC9824398A974409CB4CFF59E197B40010200008002000000615C37CD313F77409DC9824398A974409CB4CFF59E197B409B464012A0EA784008639418BB1176405B78576868D07C400102000080020000009B464012A0EA784008639418BB1176405B78576868D07C40CA4B33F8A68C7B404B709E96A3497840A89DB85177577940010200008002000000CA4B33F8A68C7B404B709E96A3497840A89DB8517757794000974CE37C2E7D40F25F14CCB0A979402CBA5ED8F297764001020000800200000000974CE37C2E7D40F25F14CCB0A979402CBA5ED8F29776408C880861446E7F40700708B8D18E7B40B35A43AAE93376400102000080020000008C880861446E7F40700708B8D18E7B40B35A43AAE93376400C2E4DCFBA8683404F80237068FD80403CDE3672289A7C400102000080020000000C2E4DCFBA8683404F80237068FD80403CDE3672289A7C401F6926DEF67F85409877F43319A782406549BA26E15E72400102000080020000001F6926DEF67F85409877F43319A782406549BA26E15E724000404474C14D86400000FB717D548340004015F215DA724001020000800200000000900193892582400080D5D8CC717E400060F69A65F877405B888F35111B80401EA498B3A0E67A40003BC07F3E3773400102000080020000005B888F35111B80401EA498B3A0E67A40003BC07F3E37734046AA03F8C7BB7D40915C51CCE8BF7840724A2CEC4559764001020000800200000046AA03F8C7BB7D40915C51CCE8BF7840724A2CEC45597640B862EF27A8617B40A0307CBE2BB57640DA527A7CE4CF7C40010200008002000000B862EF27A8617B40A0307CBE2BB57640DA527A7CE4CF7C40915A0A8AE4A37940F2EE70742D327540FEF353F7D17A7D40010200008002000000915A0A8AE4A37940F2EE70742D327540FEF353F7D17A7D40FED3EEB2227A79406D4458FEEC0D75408E3C1B5BBC907D40010200008002000000FED3EEB2227A79406D4458FEEC0D75408E3C1B5BBC907D40F4F40A19960074403C012F28294D7040ABBDDC3842457540010200008002000000F4F40A19960074403C012F28294D7040ABBDDC38424575409E660DB3639E6740EF2FF02A97606240D1A77338B6E180400102000080030000009E660DB3639E6740EF2FF02A97606240D1A77338B6E180400000BD963EA74F40000054F962F8424000F0E897F8EC84401D070FE9427462408A2A48A6D7896340C9F14701C39482400102000080020000001D070FE9427462408A2A48A6D7896340C9F14701C394824054F46B56BD296B40E9FCF4D64DC36F40636A71B20BD6814001020000800200000054F46B56BD296B40E9FCF4D64DC36F40636A71B20BD681408441EB3232E47540867367C3B98B7B40D4253E21F1A07D400102000080020000008441EB3232E47540867367C3B98B7B40D4253E21F1A07D40F86FF42E483879405EB4396FE31B8040F81F463405587B40010200008002000000F86FF42E483879405EB4396FE31B8040F81F463405587B402E40A9D1E1787940C7FDB4293A498040842B81BC0F017E400102000080030000002E40A9D1E1787940C7FDB4293A498040842B81BC0F017E400080C3DA1F817F400040F4B108858440008066B1B9908940F2B1C56405C781408F957AC022A0824070858564A9567D40010200008002000000F2B1C56405C781408F957AC022A0824070858564A9567D400C2E4DCFBA8683404F80237068FD80403CDE3672289A7C400102000080030000000C2E4DCFBA8683404F80237068FD80403CDE3672289A7C4000E0887A224E8540008061D1F6A67E400040CC08662C7D40B5679F1041A885401E0589322F428040B0FCAADB1AC17540010200008002000000B5679F1041A885401E0589322F428040B0FCAADB1AC17540F497160CA8C386405DD3E144D7308340861B479EAE777D40010200008002000000005025066405804000107DE8929C8C4000E003CA233B88409F1224485E4180409FF47B2A234E8C40D50AB349BC3983400102000080020000009F1224485E4180409FF47B2A234E8C40D50AB349BC398340BBCA45EEEFE0804063768279757D8B409936E85E6C798040010200008002000000BBCA45EEEFE0804063768279757D8B409936E85E6C7980400E550FEB57F58040BEC7AABBC5628B40047EC90237F17F400102000080020000000E550FEB57F58040BEC7AABBC5628B40047EC90237F17F40BD33001B6EAB8140726A2963A5748A400044596DB0B18240010200008002000000BD33001B6EAB8140726A2963A5748A400044596DB0B1824099FE81D48167844067DBA8521CE1864084A1F2775358794001020000800200000099FE81D48167844067DBA8521CE1864084A1F2775358794089BED7B2864C8540B25ABB9C9BB58540A4F744EFBE16774001020000800300000089BED7B2864C8540B25ABB9C9BB58540A4F744EFBE16774000D0FC8EC6E286400050C15C54A2834000C0FD77428F7840E85DE6EC0A688540D824EC6F02138440ADBBA4E90A707340010200008002000000E85DE6EC0A688540D824EC6F02138440ADBBA4E90A707340E86DAEB8B21883407090FD01F2C28440649EB52454FC7340010200008002000000E86DAEB8B21883407090FD01F2C28440649EB52454FC7340D4C6E6A32B7F7B40D15B150F485A864066ABF2042B097740010200008002000000D4C6E6A32B7F7B40D15B150F485A864066ABF2042B0977401EAD9C1A8E13774058A16A9F9E0287407437D070B5CC70400102000080020000001EAD9C1A8E13774058A16A9F9E0287407437D070B5CC70405A154ED7575473403E6D2CA94F91874060805F06C2A16E400102000080020000005A154ED7575473403E6D2CA94F91874060805F06C2A16E409AEF0013A7096F40970630A06D22884032A3941B142A71400102000080020000009AEF0013A7096F40970630A06D22884032A3941B142A71403381D1C502E86D408F54ADBEF8378840722D4645A55A71400102000080030000003381D1C502E86D408F54ADBEF8378840722D4645A55A714000006084187D404000A03781EE228A400000831704A65940AF956585032268403C70612237ED854058BF82903CFC6E40010200008002000000AF956585032268403C70612237ED854058BF82903CFC6E4087AEE31621E56840DB7EBFCC2AC48540788EE8BB9F836E4001020000800200000087AEE31621E56840DB7EBFCC2AC48540788EE8BB9F836E40843DD045DF457040D4D1CDAD1D2884402948C628AA607040010200008002000000843DD045DF457040D4D1CDAD1D2884402948C628AA6070407802BF56D52A74402F8FEB02A384824021341856F3E978400102000080020000007802BF56D52A74402F8FEB02A384824021341856F3E97840E61AF35CE5857840CAE2CC2B77AF804057D0110444047B40010200008002000000E61AF35CE5857840CAE2CC2B77AF804057D0110444047B402E40A9D1E1787940C7FDB4293A498040842B81BC0F017E400102000080020000002E40A9D1E1787940C7FDB4293A498040842B81BC0F017E406DED4FBAA1347E40BF67B88CBF967C40D40ECA6437D076400102000080020000006DED4FBAA1347E40BF67B88CBF967C40D40ECA6437D076408C880861446E7F40700708B8D18E7B40B35A43AAE93376400102000080020000008C880861446E7F40700708B8D18E7B40B35A43AAE93376405B888F35111B80401EA498B3A0E67A40003BC07F3E3773400102000080020000005B888F35111B80401EA498B3A0E67A40003BC07F3E3773404D8F0FC57E2D8640E17593267AAE70409E1167DB71546E400102000080030000004D8F0FC57E2D8640E17593267AAE70409E1167DB71546E4000E0C3840E2A8F4000008641F8E838400020A7D868FD7140A8DA68BA97488640FD0AA9EF0EEC6A408594B10A04EA7740010200008003000000A8DA68BA97488640FD0AA9EF0EEC6A408594B10A04EA77400040E26DF16B85400080453D993B6D4000F04F90754A8340A24A14B5A78283404E5F9E9C6983624008EE05627A777F40010200008002000000A24A14B5A78283404E5F9E9C6983624008EE05627A777F40007041310AD682400080F2D396765D4000700DA0BD608C400102000080030000000080C6986B01564000805B0260F279400040E48C99DC754000009981437D54400000E75FB1F57E400080BFA50E05574008F3B6CCFD956E4002C2E66EE4BE83401A68B1BD50AB634001020000800200000008F3B6CCFD956E4002C2E66EE4BE83401A68B1BD50AB6340843DD045DF457040D4D1CDAD1D2884402948C628AA607040010200008002000000843DD045DF457040D4D1CDAD1D2884402948C628AA6070402C53046891F67240DE288AB5F848854061267A34440672400102000080020000002C53046891F67240DE288AB5F848854061267A34440672401EAD9C1A8E13774058A16A9F9E0287407437D070B5CC70400102000080020000001EAD9C1A8E13774058A16A9F9E0287407437D070B5CC7040EC8C7CCF6F6A804081D420140E1A8B4080C7606A0D807340010200008002000000EC8C7CCF6F6A804081D420140E1A8B4080C7606A0D807340BBCA45EEEFE0804063768279757D8B409936E85E6C798040010200008002000000BBCA45EEEFE0804063768279757D8B409936E85E6C79804050F138854D45824066C1783D65A88C407FAFE1BEF63077400102000080020000000A911D171DD084400CFB30BC3F1A8D402CE28D47C8A37C408D738116B3248540A9463E9B791388404DAFE672F1E270400102000080020000008D738116B3248540A9463E9B791388404DAFE672F1E2704089BED7B2864C8540B25ABB9C9BB58540A4F744EFBE16774001020000800200000089BED7B2864C8540B25ABB9C9BB58540A4F744EFBE167740E85DE6EC0A688540D824EC6F02138440ADBBA4E90A707340010200008002000000E85DE6EC0A688540D824EC6F02138440ADBBA4E90A7073401F6926DEF67F85409877F43319A782406549BA26E15E72400102000080020000001F6926DEF67F85409877F43319A782406549BA26E15E7240B5679F1041A885401E0589322F428040B0FCAADB1AC17540010200008002000000B5679F1041A885401E0589322F428040B0FCAADB1AC175404D8F0FC57E2D8640E17593267AAE70409E1167DB71546E400102000080020000004D8F0FC57E2D8640E17593267AAE70409E1167DB71546E40A8DA68BA97488640FD0AA9EF0EEC6A408594B10A04EA7740010200008002000000A8DA68BA97488640FD0AA9EF0EEC6A408594B10A04EA774022607BC5917E8640C25AC346182F5C40A691645ED62A714001020000800200000022607BC5917E8640C25AC346182F5C40A691645ED62A71406FD3AA53C39C8640F2D90D6703A94B403CCFF0850BEB72400102000080020000006FD3AA53C39C8640F2D90D6703A94B403CCFF0850BEB72400080A0ECA5AF864000004286A968334000806AE9340762400102000080020000000080AA7FAB4C834000C0F6B47A296440000095A577B0494046AA03F8C7BB7D40915C51CCE8BF7840724A2CEC4559764001020000800200000046AA03F8C7BB7D40915C51CCE8BF7840724A2CEC4559764000974CE37C2E7D40F25F14CCB0A979402CBA5ED8F297764001020000800200000000974CE37C2E7D40F25F14CCB0A979402CBA5ED8F2977640EB7AEF2B5ACB7C400D2835F3B74D7A409807DD2A6A657640010200008002000000EB7AEF2B5ACB7C400D2835F3B74D7A409807DD2A6A657640F86FF42E483879405EB4396FE31B8040F81F463405587B40010200008002000000F86FF42E483879405EB4396FE31B8040F81F463405587B40E61AF35CE5857840CAE2CC2B77AF804057D0110444047B40010200008002000000E61AF35CE5857840CAE2CC2B77AF804057D0110444047B4031B46AE9807A7540FACFD8E53F3483401F8B2429D9D47A4001020000800200000031B46AE9807A7540FACFD8E53F3483401F8B2429D9D47A402C53046891F67240DE288AB5F848854061267A34440672400102000080020000002C53046891F67240DE288AB5F848854061267A3444067240D72D52EA8AF470401B76104D38F28640E47B54189D9E7040010200008002000000D72D52EA8AF470401B76104D38F28640E47B54189D9E70409AEF0013A7096F40970630A06D22884032A3941B142A71400102000080020000009AEF0013A7096F40970630A06D22884032A3941B142A714021C587093B616E40EAD8D55F1868884018A4C8520BA3774001020000800200000021C587093B616E40EAD8D55F1868884018A4C8520BA37740008042C4CF6F5C4000501AFD7A178F4000002E76450D5440010200008002000000B2B23B397C138440AFFC4E0840F98C4010E9A81522EF8040BD33001B6EAB8140726A2963A5748A400044596DB0B18240010200008002000000BD33001B6EAB8140726A2963A5748A400044596DB0B18240D4C6E6A32B7F7B40D15B150F485A864066ABF2042B097740010200008002000000D4C6E6A32B7F7B40D15B150F485A864066ABF2042B09774031B46AE9807A7540FACFD8E53F3483401F8B2429D9D47A4001020000800200000031B46AE9807A7540FACFD8E53F3483401F8B2429D9D47A407802BF56D52A74402F8FEB02A384824021341856F3E978400102000080020000007802BF56D52A74402F8FEB02A384824021341856F3E97840425110DC0FF07140F6B7599E065A81405C4CC867EC577640010200008004000000425110DC0FF07140F6B7599E065A81405C4CC867EC57764000405C9B25AF644000A0CBE073C17A40003061050EBD8640000004AC27A72E4000C0A616AA6C73400040E427BF9E7F400080837CB0D35B400060EC7D416C84400080BF1E6DE479400102000080030000000080033323EA644000506FA0BF8F83400060F466FAC38E400000CE766D036D40009024AC1675844000000987918D454008F3B6CCFD956E4002C2E66EE4BE83401A68B1BD50AB634001020000800200000008F3B6CCFD956E4002C2E66EE4BE83401A68B1BD50AB6340425110DC0FF07140F6B7599E065A81405C4CC867EC577640010200008002000000425110DC0FF07140F6B7599E065A81405C4CC867EC5776408441EB3232E47540867367C3B98B7B40D4253E21F1A07D400102000080020000008441EB3232E47540867367C3B98B7B40D4253E21F1A07D409B464012A0EA784008639418BB1176405B78576868D07C400102000080020000009B464012A0EA784008639418BB1176405B78576868D07C4081D8A97D232B7940975E3F42F09C7540406E51FA97E07D4001020000800200000081D8A97D232B7940975E3F42F09C7540406E51FA97E07D40FED3EEB2227A79406D4458FEEC0D75408E3C1B5BBC907D40010200008003000000FED3EEB2227A79406D4458FEEC0D75408E3C1B5BBC907D400040EAFC4783794000608C6B5EFD744000804C59EE278040915A0A8AE4A37940F2EE70742D327540FEF353F7D17A7D40010200008002000000915A0A8AE4A37940F2EE70742D327540FEF353F7D17A7D4030444509EE377A401E8567E5E52176400CE06C034E417D4001020000800200000030444509EE377A401E8567E5E52176400CE06C034E417D40CA4B33F8A68C7B404B709E96A3497840A89DB85177577940010200008002000000CA4B33F8A68C7B404B709E96A3497840A89DB85177577940EB7AEF2B5ACB7C400D2835F3B74D7A409807DD2A6A657640010200008002000000EB7AEF2B5ACB7C400D2835F3B74D7A409807DD2A6A6576406DED4FBAA1347E40BF67B88CBF967C40D40ECA6437D076400102000080020000006DED4FBAA1347E40BF67B88CBF967C40D40ECA6437D07640F2B1C56405C781408F957AC022A0824070858564A9567D40010200008002000000F2B1C56405C781408F957AC022A0824070858564A9567D40E86DAEB8B21883407090FD01F2C28440649EB52454FC7340010200008002000000E86DAEB8B21883407090FD01F2C28440649EB52454FC734099FE81D48167844067DBA8521CE1864084A1F2775358794001020000800200000099FE81D48167844067DBA8521CE1864084A1F277535879408D738116B3248540A9463E9B791388404DAFE672F1E270400102000080030000008D738116B3248540A9463E9B791388404DAFE672F1E2704000C0DBEED2A9884000506BABB0C68D400000F0F82E9C36400A911D171DD084400CFB30BC3F1A8D402CE28D47C8A37C4001020000800200000050F138854D45824066C1783D65A88C407FAFE1BEF63077409F1224485E4180409FF47B2A234E8C40D50AB349BC3983400102000080020000009F1224485E4180409FF47B2A234E8C40D50AB349BC39834000407FEA6DCE724000F02694431B8B400060CB4105F08840010200008002000000BB333187EDF28340B74FD6F38DF38C40780EAD9CEF656C400E550FEB57F58040BEC7AABBC5628B40047EC90237F17F400102000080020000000E550FEB57F58040BEC7AABBC5628B40047EC90237F17F40EC8C7CCF6F6A804081D420140E1A8B4080C7606A0D807340010200008002000000EC8C7CCF6F6A804081D420140E1A8B4080C7606A0D8073405A154ED7575473403E6D2CA94F91874060805F06C2A16E400102000080020000005A154ED7575473403E6D2CA94F91874060805F06C2A16E40D72D52EA8AF470401B76104D38F28640E47B54189D9E7040010200008002000000D72D52EA8AF470401B76104D38F28640E47B54189D9E704087AEE31621E56840DB7EBFCC2AC48540788EE8BB9F836E4001020000800300000087AEE31621E56840DB7EBFCC2AC48540788EE8BB9F836E4000C08CA5CF27674000601EE9E289854000801A347A1E6A40AF956585032268403C70612237ED854058BF82903CFC6E40010200008002000000AF956585032268403C70612237ED854058BF82903CFC6E403381D1C502E86D408F54ADBEF8378840722D4645A55A71400102000080020000003381D1C502E86D408F54ADBEF8378840722D4645A55A714021C587093B616E40EAD8D55F1868884018A4C8520BA3774001020000800200000021C587093B616E40EAD8D55F1868884018A4C8520BA3774000A07B478297744000305FC318B28C4000F02C8BECA78B40
+156    01050000803F0000000102000080020000000080F40F9DC1864000C04ED247CC664000C08D8666636740CDBF2D72A4308640D2C9BAEC935E6940EF88D154BB5E784001020000800200000086595481CF1C7840D14E773FEC1474400154DE9456D3844000400A192C1C64400000E0F6EE831F4000C059FB93378740010200008003000000D9FB057F108B82408B11C39C3EB38D404E5EFE428E8E814000505B6134CF824000B04B8078968E4000F0C1A410108940BA1A204D19A583409606FAF283C28D4075FDFE3026E280400102000080020000000080E8BBFC55824000B0FEE55EB08D400080275D70D17340D9FB057F108B82408B11C39C3EB38D404E5EFE428E8E8140010200008002000000D9FB057F108B82408B11C39C3EB38D404E5EFE428E8E8140BA1A204D19A583409606FAF283C28D4075FDFE3026E28040010200008002000000BA1A204D19A583409606FAF283C28D4075FDFE3026E280404CFE8856482B8440BCD0C3E5C7C98D401CEAE1A5822E75400102000080020000000000F3E33AF1664000C0FADDF416824000C093AA2BE369407404E03B73006E40418929BE69AC8140BDBFC1E08DD580400102000080020000007404E03B73006E40418929BE69AC8140BDBFC1E08DD5804023196DDA70407B40A7BB6244A03A80406C130C8AE5ED7F4001020000800200000023196DDA70407B40A7BB6244A03A80406C130C8AE5ED7F40593B568D1EE47C40A67A756E2409804099E1AC491CF17F40010200008002000000593B568D1EE47C40A67A756E2409804099E1AC491CF17F404AF7CC8FD7148040C4B635B8C54C7F403E8C7543902B6C400102000080020000004AF7CC8FD7148040C4B635B8C54C7F403E8C7543902B6C406EC6B7DD3A468240686DCF9900447E40F904263186F479400102000080060000006EC6B7DD3A468240686DCF9900447E40F904263186F4794000E0156F5E6D8E400040AB6FAE8878400000B40A1D41354000F03212593A894000E00BE2D375794000000877D78A414000C04FF197A780400000D4B436095740004081F2CB848E4000E0D1C89BF27C4000C047C5F23A654000B0C39CD65E8E4086595481CF1C7840D14E773FEC1474400154DE9456D3844001020000800200000086595481CF1C7840D14E773FEC1474400154DE9456D38440006084F6902C71400040913C4AD58040003039577EB285400102000080020000000040D5079E316E4000F0CE89741A834000501544571F8C407404E03B73006E40418929BE69AC8140BDBFC1E08DD580400102000080020000007404E03B73006E40418929BE69AC8140BDBFC1E08DD580400000D2EA324D6C400040745022106440002038840E1787400102000080020000000000A04B8B6557400070B339973D8C4000105C6B9F788640BA7DFCB4DE8C77401F4A87198B35894066CA694699928140010200008002000000BA7DFCB4DE8C77401F4A87198B35894066CA694699928140262CB58594A07B404B16F207CD8288403AB2153AB5BC7E40010200008002000000262CB58594A07B404B16F207CD8288403AB2153AB5BC7E4098B4188A05B18040B2BB56D975868740BAAF85693A617C4001020000800300000098B4188A05B18040B2BB56D975868740BAAF85693A617C40008046B879B68140004041ABE82C874000C06E99A7FF7340C85D7F13544A81403B7828DA226383405F65D9734C1D7140010200008003000000C85D7F13544A81403B7828DA226383405F65D9734C1D714000309238F204814000C04150F9F4804000C0FECEBADB71404AF7CC8FD7148040C4B635B8C54C7F403E8C7543902B6C400102000080020000004AF7CC8FD7148040C4B635B8C54C7F403E8C7543902B6C40143AFD522E4C7E40948B5ED85DB37C40F2CC0D6F5A4E8140010200008002000000143AFD522E4C7E40948B5ED85DB37C40F2CC0D6F5A4E814086595481CF1C7840D14E773FEC1474400154DE9456D3844001020000800200000000A08038E5CE8E4000204E0A9431814000D02240B73F8A40ED53F0A9C16E8A4046EF350B9C088740C6262BC1DEA28240010200008002000000ED53F0A9C16E8A4046EF350B9C088740C6262BC1DEA28240FF1C7393E79988408D35FDEB607A89402B5C2F70134F7B40010200008002000000FF1C7393E79988408D35FDEB607A89402B5C2F70134F7B40E7E6D2CC2B458840CCBF909578EB894078D327EC10FB7040010200008002000000E7E6D2CC2B458840CCBF909578EB894078D327EC10FB7040403AEFB09DF48640D0712C6BAAAC8B402EE9CF3E8BBE7840010200008003000000403AEFB09DF48640D0712C6BAAAC8B402EE9CF3E8BBE784000F0183479BE864000708DC9EDF48B4000A016F8679B7A40FB947E6818B88640182E8016529F8B40A4709880C4AB7940010200008002000000FB947E6818B88640182E8016529F8B40A4709880C4AB7940C5DBE0DCF3A786406FBFA240A6C68A4014D715D708468140010200008002000000C5DBE0DCF3A786406FBFA240A6C68A4014D715D7084681403A352C75449386401796184902B18940CAAFB3F47F8273400102000080020000003A352C75449386401796184902B18940CAAFB3F47F8273400039A33B516F86409D92C8CB7ACE8740BA8910C4AE1383400102000080020000000039A33B516F86409D92C8CB7ACE8740BA8910C4AE1383406497B9E3B0CA8540F660D549AA597E40877E6C57738F7440010200008002000000298AFA4DE61E81408D7F0278DEF48840119DCF272A778040D98E253690948140901A87973D7D8A4076CE7E0E1D7A8340010200008002000000D98E253690948140901A87973D7D8A4076CE7E0E1D7A8340D9FB057F108B82408B11C39C3EB38D404E5EFE428E8E8140010200008002000000BA1A204D19A583409606FAF283C28D4075FDFE3026E280407A63295409F88540F16FF28CF8748B40A2E2629645407E400102000080020000007A63295409F88540F16FF28CF8748B40A2E2629645407E40C5DBE0DCF3A786406FBFA240A6C68A4014D715D708468140010200008002000000C5DBE0DCF3A786406FBFA240A6C68A4014D715D708468140BDA0970E1F9C8740B995DFAEB1D48940DFBE219834A47340010200008002000000BDA0970E1F9C8740B995DFAEB1D48940DFBE219834A47340669CCAE6263A884049DFA49118388940843D3F5F6BE88040010200008002000000669CCAE6263A884049DFA49118388940843D3F5F6BE88040ED53F0A9C16E8A4046EF350B9C088740C6262BC1DEA28240010200008002000000ED53F0A9C16E8A4046EF350B9C088740C6262BC1DEA282400000C89A09368E4000D071CD184A83400000581B1D247D400102000080030000000039A33B516F86409D92C8CB7ACE8740BA8910C4AE1383400090CA5614778740002019B60FB1884000E0DA5962758940669CCAE6263A884049DFA49118388940843D3F5F6BE88040010200008002000000669CCAE6263A884049DFA49118388940843D3F5F6BE88040FF1C7393E79988408D35FDEB607A89402B5C2F70134F7B40010200008003000000FF1C7393E79988408D35FDEB607A89402B5C2F70134F7B4000B0B0FD3D79894000101DA3FA148A400000144CAEA42D40E7E6D2CC2B458840CCBF909578EB894078D327EC10FB7040010200008002000000E7E6D2CC2B458840CCBF909578EB894078D327EC10FB7040BDA0970E1F9C8740B995DFAEB1D48940DFBE219834A47340010200008002000000BDA0970E1F9C8740B995DFAEB1D48940DFBE219834A473403A352C75449386401796184902B18940CAAFB3F47F8273400102000080020000003A352C75449386401796184902B18940CAAFB3F47F827340298AFA4DE61E81408D7F0278DEF48840119DCF272A778040010200008002000000298AFA4DE61E81408D7F0278DEF48840119DCF272A778040262CB58594A07B404B16F207CD8288403AB2153AB5BC7E40010200008003000000262CB58594A07B404B16F207CD8288403AB2153AB5BC7E400000B8C623A92B4000D01CDF3EB58640000056E53C6E8540BA7DFCB4DE8C77401F4A87198B35894066CA694699928140010200008002000000BA7DFCB4DE8C77401F4A87198B35894066CA694699928140D98E253690948140901A87973D7D8A4076CE7E0E1D7A8340010200008002000000D98E253690948140901A87973D7D8A4076CE7E0E1D7A83407A63295409F88540F16FF28CF8748B40A2E2629645407E400102000080020000007A63295409F88540F16FF28CF8748B40A2E2629645407E40FB947E6818B88640182E8016529F8B40A4709880C4AB7940010200008002000000FB947E6818B88640182E8016529F8B40A4709880C4AB7940403AEFB09DF48640D0712C6BAAAC8B402EE9CF3E8BBE7840010200008002000000403AEFB09DF48640D0712C6BAAAC8B402EE9CF3E8BBE7840D177C8FB528A8A408241CA2506778C40E5440C1526FE72400102000080020000000010C02C363184400040AF9894B0844000A0E8253A6E71406EC6B7DD3A468240686DCF9900447E40F904263186F479400102000080030000006EC6B7DD3A468240686DCF9900447E40F904263186F4794000807366CD26814000A0160868C2774000D03ACB966D8A40143AFD522E4C7E40948B5ED85DB37C40F2CC0D6F5A4E8140010200008002000000143AFD522E4C7E40948B5ED85DB37C40F2CC0D6F5A4E8140B9789F9574887C40B4EF51369DE07E40B272A1E6DC788740010200008002000000B9789F9574887C40B4EF51369DE07E40B272A1E6DC78874023196DDA70407B40A7BB6244A03A80406C130C8AE5ED7F4001020000800200000023196DDA70407B40A7BB6244A03A80406C130C8AE5ED7F40008069236C177240004001D107E18540002017081255784001020000800200000000E059C994247C400000A59D90937D4000D08D7151378A40B9789F9574887C40B4EF51369DE07E40B272A1E6DC788740010200008002000000B9789F9574887C40B4EF51369DE07E40B272A1E6DC788740593B568D1EE47C40A67A756E2409804099E1AC491CF17F40010200008002000000593B568D1EE47C40A67A756E2409804099E1AC491CF17F4098B4188A05B18040B2BB56D975868740BAAF85693A617C4001020000800200000098B4188A05B18040B2BB56D975868740BAAF85693A617C40298AFA4DE61E81408D7F0278DEF48840119DCF272A77804001020000800200000000C024F259B77E4000F08AEB35BA81400080818032275C40C85D7F13544A81403B7828DA226383405F65D9734C1D7140010200008002000000C85D7F13544A81403B7828DA226383405F65D9734C1D71400039A33B516F86409D92C8CB7ACE8740BA8910C4AE138340
+157    0102000080020000000080567482258B4000E007A4FB637B4000C0C9396C108840C05ABDC3BF5180401EEAB0CD99587540FD8E0132D6198640
+158    010100008000307D4DD6E3834000D0B3EB51208C4000A007D303CB8340
+159    010100008000D04522661D8C40000060C3245835400090EBAE6D218540
+160    01040000800400000001010000800000B8C1DF0051400000C2615A0875400090DB1EB5B48540010100008000F0C5BB065082400010AC9D665A87400040708CCEC189400101000080000085F93E5C6A4000E081784A58824000C0F844FF44624001010000800060CEDAAD19764000D0A831F96781400080FFEEC6B15E40
+161    010100008000B032ED56D48940003091C5B9BF8A4000E0D7376A617140
+162    010100008000107B5EFD578B400000F08F578A14400070B4997FFB8140
+163    01060000800F00000001030000800100000004000000CC45DEDC091B8B40FE1B9C5F13626140CAAF710F82D4844000B029FECCCB8B400040AAA3BA93604000408E09313D8D40007099D98AB18B400080FF43AEB95D4000801C8652D07840CC45DEDC091B8B40FE1B9C5F13626140CAAF710F82D4844001030000800100000004000000D3BD398630328440CE0276C9229D6940486857B5E278814000B04E73E3D3834000C03CC143A26540006050DC9C358940EEAB378FB7D680408CE0736AE3546D4010F1EA530CCA7440D3BD398630328440CE0276C9229D6940486857B5E278814001030000800100000004000000EEAB378FB7D680408CE0736AE3546D4010F1EA530CCA74400070E78A8E3480400000529B75086E400000D820126B14404E168CFC8A4A8040D3090699E4BD6E406B5B1C0DAA297240EEAB378FB7D680408CE0736AE3546D4010F1EA530CCA7440010300008001000000050000004E168CFC8A4A8040D3090699E4BD6E406B5B1C0DAA29724071ABCDAAAB4078409E01B51FE7BB7440C16DEF3BDC4772405FA3C8CDDD157C40BA46C133FFE77640CE6D541EA7D77C401DFDCAF7459E814076395ED9B4D87440BFA6FA06110874404E168CFC8A4A8040D3090699E4BD6E406B5B1C0DAA297240010300008001000000050000005FA3C8CDDD157C40BA46C133FFE77640CE6D541EA7D77C4000009D410394444000C0197C39417E4000C0B9F9CF008940942A240565A87D4066BC3915B6C07E40A4E95E9A994C6E402751887404CB81403B95C63F41287B4072D01B98C9D27A405FA3C8CDDD157C40BA46C133FFE77640CE6D541EA7D77C40010300008001000000070000002751887404CB81403B95C63F41287B4072D01B98C9D27A40966844BB2CA983404C72705B3F467D4002554063C3E57340080480D806D782409CA1742828E379406A187D3FE08571402E126956B2CF82400F6B98610CEC79406817EAF11920784000005EA89994814000A017D8531B75400080CDD6FEFE8C40E4F363B662A7824023BD9930F21C7A40C0FB45B2B11481402751887404CB81403B95C63F41287B4072D01B98C9D27A4001030000800100000004000000966844BB2CA983404C72705B3F467D4002554063C3E573405C7FA7B845CB84401D3B58E39BF98040F50274B9AAC87240725590377DD885404DF9975A3BC07F40E4383D72E7887640966844BB2CA983404C72705B3F467D4002554063C3E5734001030000800100000004000000725590377DD885404DF9975A3BC07F40E4383D72E788764061FEE4642532884076BEBE151B358140928322568CF57D40514797003B2F87407CD968C47DF37C400E5FFD534B267940725590377DD885404DF9975A3BC07F40E4383D72E788764001030000800100000005000000514797003B2F87407CD968C47DF37C400E5FFD534B2679400090FD684689884000C0A5D0D71F7A4000402AA7B59B6B4045A523CA32918740B27EBEDE34277440800C9C464DA476403D535EA2B9EC8540FF1F86AB3E257640DE701BDBC02C8040514797003B2F87407CD968C47DF37C400E5FFD534B2679400103000080010000000500000045A523CA32918740B27EBEDE34277440800C9C464DA4764000F06A3EDDDB8B4000C0241807E56D400040FCD8FE0E7840967381DA3BD98840D7232F6271AE7040156B3ED2350F8140052FBC0AC7778740F8D40970908A73408E4A1AEF512F824045A523CA32918740B27EBEDE34277440800C9C464DA4764001030000800100000004000000967381DA3BD98840D7232F6271AE7040156B3ED2350F814000B022C740E08A400000C27CC6F668400080F640A6377B403F89FDFC38888740D3CECCD8947071406E3142C5FC2A8040967381DA3BD98840D7232F6271AE7040156B3ED2350F8140010300008001000000040000003F89FDFC38888740D3CECCD8947071406E3142C5FC2A8040218DE82B57298740A4448B3A3DA771400EBD14FA55777A403C0575C19734874060EB704093EC714040ACC54B2D9E7E403F89FDFC38888740D3CECCD8947071406E3142C5FC2A804001030000800100000005000000218DE82B57298740A4448B3A3DA771400EBD14FA55777A4000B05FD4013286400000ED8A5D6667400000CAB867A77F40D3BD398630328440CE0276C9229D6940486857B5E2788140265CC6B5DE4A85405CB09DE1DDBA724084E43C59D6818240218DE82B57298740A4448B3A3DA771400EBD14FA55777A40010300008001000000060000004C0177DB1BB785402FCBC9EE98037540E656BAB1464C86400020BCA0CB49874000E060CFCEE9734000808963FC038A40052FBC0AC7778740F8D40970908A73408E4A1AEF512F82403C0575C19734874060EB704093EC714040ACC54B2D9E7E40B3685F445E9685403C480FB2B952744066B9000782F984404C0177DB1BB785402FCBC9EE98037540E656BAB1464C864001030000800100000008000000B3685F445E9685403C480FB2B952744066B9000782F98440265CC6B5DE4A85405CB09DE1DDBA724084E43C59D68182401DFDCAF7459E814076395ED9B4D87440BFA6FA0611087440080480D806D782409CA1742828E379406A187D3FE08571403D535EA2B9EC8540FF1F86AB3E257640DE701BDBC02C80404C0177DB1BB785402FCBC9EE98037540E656BAB1464C86408DB95A5F2D978440B5B09D9915CD7540225FE3E8503A8640B3685F445E9685403C480FB2B952744066B9000782F98440
+164    01040000800500000001010000800080BC8FAD96554000207A5D4C3B8E4000A0CE19BD58854001010000800000F399CB5C7F4000A0FFC7762C7040000078DD0619824001010000800070AA341CAD894000C00AEAB6407A40000096AF122C8E40010100008000C0AB24F0836340006057A6B79889400000206CA5A92B40010100008000905FC2D794834000000874EBFA58400040F2EBFE9F8D40
+172    0105000080080000000102000080020000000040D4D3C678874000809382D4F45F40003093F7786F8C40C5946E80EBAB82404D541CA5F15B6140D6AD1714C4D489400102000080040000000020F751D2BF7C4000C0DCF406B8694000304E8853CD844000E0F2CD93188A4000003879118D834000704EEB48328A4000C064220E7987400020E9371ED7834000C0AB34F1EF7540BE4EE65AD99C8440FB7750BF30A38340E592F93B52C98240010200008002000000BE4EE65AD99C8440FB7750BF30A38340E592F93B52C98240551C4FF52B677B40FA765A20B7258340E76C7EB095498140010200008002000000551C4FF52B677B40FA765A20B7258340E76C7EB09549814072AF4539E24E71406D865BC713CA82401423CC6858D17D4001020000800300000000006C922BEA5B400020D9D6B001804000009A490128394000007B88464E76400000A6D486134040001021DE06428840551C4FF52B677B40FA765A20B7258340E76C7EB095498140010200008002000000551C4FF52B677B40FA765A20B7258340E76C7EB095498140F813349864977D40C6E21088B3EF8A40D66956C6E49C8340010200008002000000007007AFAF0D804000C04F34DC847B400030C1D5E2098E40BE4EE65AD99C8440FB7750BF30A38340E592F93B52C98240010200008002000000BE4EE65AD99C8440FB7750BF30A38340E592F93B52C9824000109E42396B8D4000C00078A2FD8E4000D04347BCBD8140
+173    0105000080130000000102000080020000000070149C6D938340008095B68C4258400040AB753E446540770E36B38994834024FFADF5C10059407F298D4122707E4001020000800200000000405F1569FC8E400000E3C736C0554000D0552D966D89408C1146EB0BDF7940B075407BDFDA744065B8521E87396D400102000080020000008C1146EB0BDF7940B075407BDFDA744065B8521E87396D4069D07A8904E278409357BEA5EE467540B58905465D166C4001020000800200000069D07A8904E278409357BEA5EE467540B58905465D166C40425DA4FF4AF87740FF3FC955BFAA754034C50B8F8DDD6B40010200008002000000425DA4FF4AF87740FF3FC955BFAA754034C50B8F8DDD6B4000807128A259744000C0BA467D3677400040BFE17BA364400102000080020000000080587958EB55400020240D8F4A734000B0E50C3B79854071DE32373EE65740880C9FB17C4F7340D2CCECFE8692784001020000800200000071DE32373EE65740880C9FB17C4F7340D2CCECFE869278401389FE3A2911744042DBBC3EC9DB7340FA8FC0E897E17E400102000080020000000000143B514E37400080E7FFE59A62400000B0C8E96D544071DE32373EE65740880C9FB17C4F7340D2CCECFE8692784001020000800200000071DE32373EE65740880C9FB17C4F7340D2CCECFE86927840DF4F8A2CB63C70402975A6CC56058540E8ED82BEE706644001020000800200000000C0A49DB99D68400070DADC8C178A400000E60F2E158B4026A26AD2B01078408ED17897D8067940D773A2F49045704001020000800200000026A26AD2B01078408ED17897D8067940D773A2F490457040BC6FAA62F00679404DFAE1980CCE7640FAB6D3C95DAA6C40010200008002000000BC6FAA62F00679404DFAE1980CCE7640FAB6D3C95DAA6C408C1146EB0BDF7940B075407BDFDA744065B8521E87396D400102000080020000008C1146EB0BDF7940B075407BDFDA744065B8521E87396D400060F3C758B17F400000819B01A25D4000801C676AEB5F4001020000800200000000E026D10C4979400020EE9C618A79400080707C4D835340BC6FAA62F00679404DFAE1980CCE7640FAB6D3C95DAA6C40010200008002000000BC6FAA62F00679404DFAE1980CCE7640FAB6D3C95DAA6C4069D07A8904E278409357BEA5EE467540B58905465D166C4001020000800300000069D07A8904E278409357BEA5EE467540B58905465D166C400000B8DCD78F7740000008E43C225D40008084E716895140425DA4FF4AF87740FF3FC955BFAA754034C50B8F8DDD6B40010200008002000000425DA4FF4AF87740FF3FC955BFAA754034C50B8F8DDD6B4026A26AD2B01078408ED17897D8067940D773A2F49045704001020000800500000026A26AD2B01078408ED17897D8067940D773A2F4904570400040FB1F4ACD784000C02880C77F89400000388E8BA762400040D47BD1AB6C400040097818408A4000404A8DE1BD8240004071998A606C400040BCABBD838B400000B97A3AC56E400000E0A9DC4D4D40004055EF9094884000E01728D0FA78400102000080030000000000C9E16D738E400000D442E8D366400040E67A594D68400020DA5AB47871400050C32C21EF8D4000A0C15DCA5277400080BA16569E874000C0F1DE127E784000C0F11E77EA7740
+174    01020000800200000000C0FB4947996B400060FDFD69B67A4000C06F398BBE7A40526E3BDE9E2F6B40087F45B5FF807F402FB40CA485767D40
+175    01020000800300000000C0B0071C998040007025399ED88E4000C05685AB666B4000E0B5F05BC8844000C0B3019BC2654000D027DD2A898E400080350284555A400000E008961E694000F03857DD948B40
+176    01020000800200000000A064105B4F86400040217B50E68C400000E4ED7F495240AAA4B4C248D07B40B56CA51DC4B8824085CC6700DD617440
+177    01030000800100000004000000619A99BC98BA8340C4B8BD454D4E72407AB71F65BB0C7B400040DB05444F83400040BAC308E06440000080F8BC97FF3F0020301150117C4000C08D3076E0734000606EA251E28340619A99BC98BA8340C4B8BD454D4E72407AB71F65BB0C7B40
+178    010400008003000000010100008000A039E440C283400000D6B6FEF2594000403B068B5C6C40010100008000C05F1EF95C70400060DBCB7AA38E4000205024A7148240010100008000C0DFB1A20F7F4000F0636871F58D4000D033B923F08240
+179    01020000800200000000007C8B529E234000A07191C36A74400080F78BBE4052406614ACBDF8767640CF1D0C3C25F68040E0C0F353878E7140
+180    0101000080004072352B12824000E0994A75597F40009099D04A2F8940
+181    01040000800200000001010000800010D17AD4298B400060AD447710814000606BE4FA56724001010000800060814422B98E400040E894155184400080DAED1EDA8740
+182    010400008002000000010100008000604C43C42F814000D0D4031669824000E07631E185834001010000800000390600426C400040F970F91E81400020E926D6517E40
+183    01020000800300000000709DC7A1E38B4000004D6E27BD7C400080855B48BA794000603F88FEBF754000003695896D4B400080F9F19FC7724000E0C2AB556F844000004DA923386B4000807D53BFEC6340
+184    0105000080070000000102000080040000003531E49EEF488040184BF0DB16067540401D203FBB68794000000D16FD80554000C0E381F9547A4000002A6C097176400000C7BB4FA2554000A04C9C5AA17D4000703F7F645A8C400000D4C01FC22B40004054228D167A4000A0BF33E1A27B4001020000800300000000804FE656186F4000402297D4DC864000801DA5D1E8574000E0B44413B5804000A094A7331E7A40000059B44E5470403531E49EEF488040184BF0DB16067540401D203FBB6879400102000080020000003531E49EEF488040184BF0DB16067540401D203FBB687940006052E855DB7F400000C0196FB9704000F018409A7A85400102000080020000000060ECE076EE804000002A69A2FD764000C037051F1B6140F5B8F523B00C8140538C4646ABB97440BCD4768692847340010200008002000000F5B8F523B00C8140538C4646ABB97440BCD47686928473400060E5C07AC88140000069C279985A40002091FEFA788B4001020000800200000000600AACE3A283400060CF7226B77340004062F64F757340F5B8F523B00C8140538C4646ABB97440BCD4768692847340010200008002000000F5B8F523B00C8140538C4646ABB97440BCD47686928473403531E49EEF488040184BF0DB16067540401D203FBB687940
+185    01010000800000D1E81BD54B400010B0B4BD288F4000C0DDD531A26F40
+186    0103000080010000000400000000A0CB351C2B7A4000E0770AF4617F400060A3C4B70687400010476DB8A78D40003077C8A642874000E02108035179400040E7245F198B4000E060ACE88F894000009AF368F7674000A0CB351C2B7A4000E0770AF4617F400060A3C4B7068740
+187    0101000080000040DAE14B724000C0CB235D77664000D0CBFC4BA08940
+188    0101000080002040941308764000F00769480F8840008009FE68BA7840
+189    01030000800100000004000000038A032945DD8440B011A3B4C57883401D424BDCAEC77D4000D08D1B8811814000F06B4047C38B4000806C3CDE47674000D07DEE0D7A86400060549A3999844000605822C27E8040038A032945DD8440B011A3B4C57883401D424BDCAEC77D40
+190    010300008001000000040000002F8B6FAEE3F48B40405027052CE15440C89A0427119663400070E62343468C400000F0A71D6749400080DB8FDEB65C40D8339E86E2D08B40B3AE00617F325540269D34C1C00466402F8B6FAEE3F48B40405027052CE15440C89A042711966340
+191    01040000800400000001010000800000A8613EA9484000406972B7677D40004053904B9D7140010100008000C0415658318D400060EA2C18FD7C4000C04A8DA24C634001010000800080A61A57F15D400080D0C92EF78B4000109C595EE385400101000080006065857E0B7D4000D00D44CF79844000003D4031BE4D40
+192    01010000800010136489FF8C400000AE8A31A453400000438544408340
+193    01020000800300000000F001DD03CA894000808A0A73FF614000E033C3924E7B400070A9633D7986400000903B350425400080EF0F95DA554054D0CBE05EB67B4040C3BBD281D1844078F7464192198940
+194    010300008001000000040000004DB785D00CEC814063C8D867553D8D40545E2DFDD19F854000005ADFD9CD644000E0BAE347AE8D4000E0574388C7754000004A9EEF4E81400060922B36F28E4000C05A3E84BA8D404DB785D00CEC814063C8D867553D8D40545E2DFDD19F8540
+195    010300008001000000040000000EC904A2502F654052C0E395AA407240501032B481A5664000005CE1D5332040000083C0045271400000456665A747400000B56985B4544000001191CF60734000608E84707374400EC904A2502F654052C0E395AA407240501032B481A56640
+196    01050000800C00000001020000800300000000007C502A11704000F04D27D7878B4000F096F401268A400010041E03B2844000A0A7D772DF874000A0304222B577406540BBB3CE158940317723E6B7488440E40214E5164F79400102000080020000006540BBB3CE158940317723E6B7488440E40214E5164F794000F0506346F78E400000945CECF37E400000A8BB025E374001020000800300000000E034338AF382400040984DB2DA8C40008075FDC82C514000C04025275C8D4000A0F31DAEDE8D4000008BDE266C85406540BBB3CE158940317723E6B7488440E40214E5164F7940010200008003000000EDB595535B0888407EC8337480EC81409400D74CFAD671400020636A25BC884000B0D328C645824000803BFE5877584028652961FE32884077A233621C4C824078EE366C36F4714001020000800200000028652961FE32884077A233621C4C824078EE366C36F47140B08A42F82AA17A4023874DB9D9CC8240429031DCB1AA79400102000080020000006540BBB3CE158940317723E6B7488440E40214E5164F794028652961FE32884077A233621C4C824078EE366C36F4714001020000800200000028652961FE32884077A233621C4C824078EE366C36F47140EDB595535B0888407EC8337480EC81409400D74CFAD67140010200008002000000EDB595535B0888407EC8337480EC81409400D74CFAD67140403A1F6C39138740C4785D07A28D7F40E2B8773DE5B280400102000080020000000080C4F750197A4000805FAC490457400090C6BBF7B6804097C3448E9F6179400CD350352FA57040D68B8F07AAA277400102000080020000000010D6250A6486400080AC1EA7DA534000E074DA2AB4774008DB378F4EB4834054C88C7C94A074405882E8D79975744001020000800200000000202E3390B08A40008038D63A13634000C0F7A8C0F08840D99C12F2B43083401CFC8785149C764082944727EE3887400102000080020000000000705752963B400080ED1ED4AC69400000B4E325FD5A40EDB595535B0888407EC8337480EC81409400D74CFAD67140
+197    010600008002000000010300008001000000040000009E18E21E98067340872871E2D4DC6B40D11307FEE76384400040161A955D6A400000585F31D53140005010856B968A40897E185EAB0073400CDAF68784E86B402FE6714FEEC184409E18E21E98067340872871E2D4DC6B40D11307FEE76384400103000080010000000400000042E62C3B36BC7140AAD1C665C0D48D4000328C8CA7BB80400080FC29DBBB71400030D820F6D48D40002028B38D007D400030543A0E828D400050EE16E57F8C400080BB745E72794042E62C3B36BC7140AAD1C665C0D48D4000328C8CA7BB8040
+214    01060000800800000001030000800100000004000000CB75E8638D5F5D4086DF0ADFD6877E4094111DBDD749804000003B1663BF5B4000003BB004237A4000608D64C182764058DFDCA099E359409E38ACC01B347F40331BD0091E547D40CB75E8638D5F5D4086DF0ADFD6877E4094111DBDD74980400103000080010000000400000058DFDCA099E359409E38ACC01B347F40331BD0091E547D4000804F2D4FEF58400060903F4A637F4000E06C6319408140667DD3F406D65940AA64C4661C597F408A40D70FFE537D4058DFDCA099E359409E38ACC01B347F40331BD0091E547D4001030000800100000008000000667DD3F406D65940AA64C4661C597F408A40D70FFE537D4000009346606C4E4000D022A7F7278E400020030996F08040732FD35CD29F8840B4A93E3DEBB086408EF2F36CDA9880406749EF3934928840CE89A6E1C29286407439372C9642804000C0BB507EC4714000D09C25446988400080BCF1B4F8654000403579DB8361400050DEA1FBE88640008030679AE88D40E134E923319D5D40EF1350BE702E7F4014FE52061A878040667DD3F406D65940AA64C4661C597F408A40D70FFE537D4001030000800100000005000000732FD35CD29F8840B4A93E3DEBB086408EF2F36CDA9880400000BD75DC468940007099B1D72288400040E481FFC06E400060714F48A78A4000B03A5A11BF8A40000000F43FA4474071CEE5F90DBD88404B897CAE50A7864020E16DCB22D47B40732FD35CD29F8840B4A93E3DEBB086408EF2F36CDA9880400103000080010000000400000071CEE5F90DBD88404B897CAE50A7864020E16DCB22D47B4000A0FE9B0C36894000C0C8B9907F864000C018376BD18A40CCC2FDEBB5B18840E075F0E9118F8640C2DF9EEBFB587B4071CEE5F90DBD88404B897CAE50A7864020E16DCB22D47B4001030000800100000004000000CCC2FDEBB5B18840E075F0E9118F8640C2DF9EEBFB587B4000A0645B76FB844000A068B540407D400000865E5C0236406749EF3934928840CE89A6E1C29286407439372C96428040CCC2FDEBB5B18840E075F0E9118F8640C2DF9EEBFB587B4001030000800100000009000000E134E923319D5D40EF1350BE702E7F4014FE52061A87804000D0E9B439A782400060AAC27BE77940002065962C3C7640009043A9CA9889400000BE704F213D4000A08193F2AE734000D0ABD12A6785400000E3E5651249400040786115637C40A9D2AC2CD5EA8340B720CB5BD0B755400C4F587A198982400050BC502BFF83400000BB7902C1554000E00D3BD0B986402C871CC51CE88340F13E9368A0C85540BDF000D76B8C8240CB75E8638D5F5D4086DF0ADFD6877E4094111DBDD7498040E134E923319D5D40EF1350BE702E7F4014FE52061A87804001030000800100000005000000A9D2AC2CD5EA8340B720CB5BD0B755400C4F587A1989824000807B6A8FF85540000090D144E84B40000094FA9DE54B407D88445BE6A66040D8CB6E6615FC5A4085DFCA764DFA73402C871CC51CE88340F13E9368A0C85540BDF000D76B8C8240A9D2AC2CD5EA8340B720CB5BD0B755400C4F587A19898240
+215    010100008000E087EABADE7740008099D0F8CC514000B00F7F42228240
diff --git a/regress/regress_spgist_index_3d.sql b/regress/regress_spgist_index_3d.sql
new file mode 100644 (file)
index 0000000..acec6e2
--- /dev/null
@@ -0,0 +1,89 @@
+
+CREATE OR REPLACE FUNCTION qnodes(q text) RETURNS text
+LANGUAGE 'plpgsql' AS
+$$
+DECLARE
+  exp TEXT;
+  mat TEXT[];
+  ret TEXT;
+BEGIN
+  FOR exp IN EXECUTE 'EXPLAIN ' || q
+  LOOP
+    --RAISE NOTICE 'EXP: %', exp;
+    mat := regexp_matches(exp, ' *(?:-> *)?(.*Scan)');
+    --RAISE NOTICE 'MAT: %', mat;
+    IF mat IS NOT NULL THEN
+      ret := mat[1];
+    END IF;
+    --RAISE NOTICE 'RET: %', ret;
+  END LOOP;
+  RETURN ret;
+END;
+$$;
+
+-------------------------------------------------------------------------------
+
+create table tbl_geomcollection (
+       k serial,
+       g geometry
+);
+
+\copy tbl_geomcollection from 'regress_spgist_index_3d.data';
+
+create table test_spgist_idx_3d(
+       op char(3),
+       noidx bigint,
+       noidxscan varchar(32),
+       spgistidx bigint,
+       spgidxscan varchar(32));
+
+-------------------------------------------------------------------------------
+
+set enable_indexscan = off;
+set enable_bitmapscan = off;
+set enable_seqscan = on;
+
+insert into test_spgist_idx_3d(op, noidx, noidxscan)
+select '&/&', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &/& t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &/& t2.g;
+insert into test_spgist_idx_3d(op, noidx, noidxscan)
+select '@>>', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g @>> t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g @>> t2.g;
+insert into test_spgist_idx_3d(op, noidx, noidxscan)
+select '<<@', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g <<@ t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g <<@ t2.g;
+insert into test_spgist_idx_3d(op, noidx, noidxscan)
+select '~==', count(*), qnodes('select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~== t2.g') from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~== t2.g;
+
+------------------------------------------------------------------------------
+
+create index tbl_geomcollection_spgist_3d_idx on tbl_geomcollection using spgist(g spgist_geometry_ops_3d);
+
+set enable_indexscan = on;
+set enable_bitmapscan = off;
+set enable_seqscan = off;
+
+update test_spgist_idx_3d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &/& t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g &/& t2.g ')
+where op = '&/&';
+update test_spgist_idx_3d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g @>> t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g @>> t2.g ')
+where op = '@>>';
+update test_spgist_idx_3d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g <<@ t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g <<@ t2.g ')
+where op = '<<@';
+update test_spgist_idx_3d
+set spgistidx = ( select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~== t2.g ),
+spgidxscan = qnodes(' select count(*) from tbl_geomcollection t1, tbl_geomcollection t2 where t1.g ~== t2.g ')
+where op = '~==';
+
+-------------------------------------------------------------------------------
+
+select * from test_spgist_idx_3d;
+
+-------------------------------------------------------------------------------
+
+DROP TABLE tbl_geomcollection CASCADE;
+DROP TABLE test_spgist_idx_3d CASCADE;
+DROP FUNCTION qnodes;
+
diff --git a/regress/regress_spgist_index_3d_expected b/regress/regress_spgist_index_3d_expected
new file mode 100644 (file)
index 0000000..ec48f37
--- /dev/null
@@ -0,0 +1,4 @@
+&/&|26619|Seq Scan|26619|Index Scan
+@>>|4677|Seq Scan|4677|Index Scan
+<<@|4677|Seq Scan|4677|Index Scan
+~==|199|Seq Scan|199|Index Scan