diff --git a/contrib/babelfishpg_common/sql/geography.sql b/contrib/babelfishpg_common/sql/geography.sql index 8e0bba99fe3..1c5acac9daa 100644 --- a/contrib/babelfishpg_common/sql/geography.sql +++ b/contrib/babelfishpg_common/sql/geography.sql @@ -228,6 +228,60 @@ CREATE OR REPLACE FUNCTION sys.Geography__stgeomfromtext(sys.NVARCHAR, integer) END; $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; +CREATE OR REPLACE FUNCTION sys.Geography__STMPointFromText(sys.NVARCHAR, srid integer) + RETURNS sys.GEOGRAPHY + AS $$ + DECLARE + Geomtype text; + geog sys.GEOGRAPHY; + BEGIN + IF $2 IS NULL THEN + RAISE EXCEPTION '''geography::STMPointFromText'' failed because parameter 2 is not allowed to be null.'; + ELSIF $1 IS NULL THEN + RETURN NULL; + END IF; + + geog = sys.geogfromtext_helper($1::text, $2); + Geomtype = sys.ST_GeometryType(geog); + + IF Geomtype = 'ST_MultiPoint' THEN + RETURN geog; + ELSE + RAISE EXCEPTION 'Expected "MULTIPOINT" at Position 1. The input has %s', $1; + END IF; + END; + $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; + + +CREATE OR REPLACE FUNCTION sys.Geography__STMPointFromWKB(sys.VARBINARY, srid integer) + RETURNS sys.GEOGRAPHY + AS $$ + DECLARE + Geomtype text; + geog sys.GEOGRAPHY; + BEGIN + IF $2 IS NULL THEN + RAISE EXCEPTION '''geography::STMPointFromWKB'' failed because parameter 2 is not allowed to be null.'; + ELSIF $1 IS NULL THEN + RETURN NULL; + END IF; + + geog = sys.geogfromwkb_helper($1::bytea, $2); + Geomtype = sys.ST_GeometryType(geog); + + IF Geomtype = 'ST_MultiPoint' THEN + RETURN geog; + ELSE + RAISE EXCEPTION 'Expected "MULTIPOINT" at Position 1. The input has %s', Geomtype; + END IF; + END; + $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION sys.geogfromwkb_helper(bytea, integer) + RETURNS sys.GEOGRAPHY + AS 'babelfishpg_common', 'get_geography_from_wkb' + LANGUAGE 'c' IMMUTABLE PARALLEL SAFE; + CREATE OR REPLACE FUNCTION sys.STAsText(sys.GEOGRAPHY) RETURNS sys.NVARCHAR AS $$ diff --git a/contrib/babelfishpg_common/sql/geometry.sql b/contrib/babelfishpg_common/sql/geometry.sql index 8bae99ea82f..f99ecf05d75 100644 --- a/contrib/babelfishpg_common/sql/geometry.sql +++ b/contrib/babelfishpg_common/sql/geometry.sql @@ -313,6 +313,60 @@ CREATE OR REPLACE FUNCTION sys.Geometry__STPolyFromText(sys.NVARCHAR,srid intege END; $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; +CREATE OR REPLACE FUNCTION sys.Geometry__STMPointFromText(sys.NVARCHAR, srid integer) + RETURNS sys.GEOMETRY + AS $$ + DECLARE + Geomtype text; + geom sys.GEOMETRY; + BEGIN + IF $2 IS NULL THEN + RAISE EXCEPTION '''geometry::STMPointFromText'' failed because parameter 2 is not allowed to be null.'; + ELSIF $1 IS NULL THEN + RETURN NULL; + END IF; + + geom = sys.geomfromtext_helper($1::text, $2); + Geomtype = sys.ST_GeometryType(geom); + + IF Geomtype = 'ST_MultiPoint' THEN + RETURN geom; + ELSE + RAISE EXCEPTION 'Expected "MULTIPOINT" at Position 1. The input has %s', $1; + END IF; + END; + $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION sys.Geometry__STMPointFromWKB(sys.VARBINARY, srid integer) + RETURNS sys.GEOMETRY + AS $$ + DECLARE + Geomtype text; + geom sys.GEOMETRY; + BEGIN + IF $2 IS NULL THEN + RAISE EXCEPTION '''geometry::STMPointFromWKB'' failed because parameter 2 is not allowed to be null.'; + ELSIF $1 IS NULL THEN + RETURN NULL; + END IF; + + geom = sys.geomfromwkb_helper($1::bytea, $2); + Geomtype = sys.ST_GeometryType(geom); + + IF Geomtype = 'ST_MultiPoint' THEN + RETURN geom; + ELSE + RAISE EXCEPTION 'Expected "MULTIPOINT" at Position 1. The input has %s', Geomtype; + END IF; + END; + $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; + + +CREATE OR REPLACE FUNCTION sys.geomfromwkb_helper(bytea, integer) + RETURNS sys.GEOMETRY + AS 'babelfishpg_common', 'get_geometry_from_wkb' + LANGUAGE 'c' IMMUTABLE PARALLEL SAFE; + CREATE OR REPLACE FUNCTION sys.ST_GeometryType(sys.GEOMETRY) RETURNS text AS '$libdir/postgis-3', 'geometry_geometrytype' diff --git a/contrib/babelfishpg_common/sql/upgrades/spatial_types--5.5.0--5.6.0.sql b/contrib/babelfishpg_common/sql/upgrades/spatial_types--5.5.0--5.6.0.sql index bc6a54c4f2d..9002806da3c 100644 --- a/contrib/babelfishpg_common/sql/upgrades/spatial_types--5.5.0--5.6.0.sql +++ b/contrib/babelfishpg_common/sql/upgrades/spatial_types--5.5.0--5.6.0.sql @@ -149,3 +149,119 @@ CREATE OR REPLACE FUNCTION sys.STGeometryType(geog sys.GEOGRAPHY) RAISE EXCEPTION 'Unexpected geometry type format: %. Expected ST_* prefix.', geom_type; END; $$ LANGUAGE plpgsql IMMUTABLE STRICT PARALLEL SAFE; + +--geometry +--STMPointFromText + +CREATE OR REPLACE FUNCTION sys.Geometry__STMPointFromText(sys.NVARCHAR, srid integer) + RETURNS sys.GEOMETRY + AS $$ + DECLARE + Geomtype text; + geom sys.GEOMETRY; + BEGIN + IF $2 IS NULL THEN + RAISE EXCEPTION '''geometry::STMPointFromText'' failed because parameter 2 is not allowed to be null.'; + ELSIF $1 IS NULL THEN + RETURN NULL; + END IF; + + geom = sys.geomfromtext_helper($1::text, $2); + Geomtype = sys.ST_GeometryType(geom); + + IF Geomtype = 'ST_MultiPoint' THEN + RETURN geom; + ELSE + RAISE EXCEPTION 'Expected "MULTIPOINT" at Position 1. The input has %s', $1; + END IF; + END; + $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; + +--Geography +--STMPointFromText + +CREATE OR REPLACE FUNCTION sys.Geography__STMPointFromText(sys.NVARCHAR, srid integer) + RETURNS sys.GEOGRAPHY + AS $$ + DECLARE + Geomtype text; + geog sys.GEOGRAPHY; + BEGIN + IF $2 IS NULL THEN + RAISE EXCEPTION '''geography::STMPointFromText'' failed because parameter 2 is not allowed to be null.'; + ELSIF $1 IS NULL THEN + RETURN NULL; + END IF; + + geog = sys.geogfromtext_helper($1::text, $2); + Geomtype = sys.ST_GeometryType(geog); + + IF Geomtype = 'ST_MultiPoint' THEN + RETURN geog; + ELSE + RAISE EXCEPTION 'Expected "MULTIPOINT" at Position 1. The input has %s', $1; + END IF; + END; + $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; + + +CREATE OR REPLACE FUNCTION sys.Geography__STMPointFromWKB(sys.VARBINARY, srid integer) + RETURNS sys.GEOGRAPHY + AS $$ + DECLARE + Geomtype text; + geog sys.GEOGRAPHY; + BEGIN + IF $2 IS NULL THEN + RAISE EXCEPTION '''geography::STMPointFromWKB'' failed because parameter 2 is not allowed to be null.'; + ELSIF $1 IS NULL THEN + RETURN NULL; + END IF; + + geog = sys.geogfromwkb_helper($1::bytea, $2); + Geomtype = sys.ST_GeometryType(geog); + + IF Geomtype = 'ST_MultiPoint' THEN + RETURN geog; + ELSE + RAISE EXCEPTION 'Expected "MULTIPOINT" at Position 1. The input has %s', Geomtype; + END IF; + END; + $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; + +CREATE OR REPLACE FUNCTION sys.geogfromwkb_helper(bytea, integer) + RETURNS sys.GEOGRAPHY + AS 'babelfishpg_common', 'get_geography_from_wkb' + LANGUAGE 'c' IMMUTABLE PARALLEL SAFE; + + + +CREATE OR REPLACE FUNCTION sys.Geometry__STMPointFromWKB(sys.VARBINARY, srid integer) + RETURNS sys.GEOMETRY + AS $$ + DECLARE + Geomtype text; + geom sys.GEOMETRY; + BEGIN + IF $2 IS NULL THEN + RAISE EXCEPTION '''geometry::STMPointFromWKB'' failed because parameter 2 is not allowed to be null.'; + ELSIF $1 IS NULL THEN + RETURN NULL; + END IF; + + geom = sys.geomfromwkb_helper($1::bytea, $2); + Geomtype = sys.ST_GeometryType(geom); + + IF Geomtype = 'ST_MultiPoint' THEN + RETURN geom; + ELSE + RAISE EXCEPTION 'Expected "MULTIPOINT" at Position 1. The input has %s', Geomtype; + END IF; + END; + $$ LANGUAGE plpgsql IMMUTABLE PARALLEL SAFE; + + +CREATE OR REPLACE FUNCTION sys.geomfromwkb_helper(bytea, integer) + RETURNS sys.GEOMETRY + AS 'babelfishpg_common', 'get_geometry_from_wkb' + LANGUAGE 'c' IMMUTABLE PARALLEL SAFE; diff --git a/contrib/babelfishpg_common/src/geo.c b/contrib/babelfishpg_common/src/geo.c index 28371a5964f..cf132451b1c 100644 --- a/contrib/babelfishpg_common/src/geo.c +++ b/contrib/babelfishpg_common/src/geo.c @@ -12,6 +12,8 @@ #define FLAGS_GET_Z(flags) ((flags) & POINTFLAG_Z) #define FLAGS_GET_M(flags) ((flags) & POINTFLAG_M) +typedef void (*PointFormatter)(StringInfoData *, POINT); + text* geo_wkt_rewrite(text* input_text) { @@ -389,6 +391,36 @@ format_postgis_point_coordinates(StringInfoData *output, POINT p) } } +/* pfree(pa->points); pfree(pa); pattern */ +static void +free_point_array(PointArray *pa) +{ + if (!pa) + return; + if (pa->points) + pfree(pa->points); + pfree(pa); +} + +/* Replaces the repeated for-loop that formats points */ +static void +append_formatted_points(StringInfoData *output, PointArray *pa, bool wrap_each, PointFormatter formatter) +{ + for (int i = 0; i < pa->count; i++) + { + if (wrap_each) + appendStringInfoChar(output, '('); + + formatter(output, pa->points[i]); + + if (wrap_each) + appendStringInfoChar(output, ')'); + + if (i < pa->count - 1) + appendStringInfoString(output, ", "); + } +} + /* * Converts a PointArray to a PostGIS-compatible LINESTRING WKT representation * Determines the appropriate dimension type (Z, M, ZM, etc.) based on the points, @@ -667,3 +699,62 @@ rewrite_dim_polygon_query(PointArrayList *pal) return output.data; } + +char* +rewrite_multipoint_wkt(PointArray *pa) +{ + DimensionType type; + StringInfoData output; + + if (!pa || pa->count == 0) + { + free_point_array(pa); + return pstrdup("MULTIPOINT EMPTY"); + } + + initStringInfo(&output); + + type = determine_ptarray_type(pa); + + appendStringInfoString(&output, "MULTIPOINT"); + + if (type == M) + appendStringInfoString(&output, " M"); + + appendStringInfoChar(&output, '('); + + transform_points(pa, type); + + append_formatted_points(&output, pa, true, format_tsql_point_coordinates); + + appendStringInfoChar(&output, ')'); + + free_point_array(pa); + + return output.data; +} + + +char* +rewrite_dim_multipoint_wkt(PointArray *pa) +{ + StringInfoData output; + + if (!pa || pa->count == 0) + { + free_point_array(pa); + return pstrdup("MULTIPOINT EMPTY"); + } + + initStringInfo(&output); + + appendStringInfoString(&output, "MULTIPOINT("); + + append_formatted_points(&output, pa, true, format_postgis_point_coordinates); + + appendStringInfoChar(&output, ')'); + + free_point_array(pa); + + return output.data; +} \ No newline at end of file diff --git a/contrib/babelfishpg_common/src/geo_data.h b/contrib/babelfishpg_common/src/geo_data.h index dd7c7772519..501f6c0a0d3 100644 --- a/contrib/babelfishpg_common/src/geo_data.h +++ b/contrib/babelfishpg_common/src/geo_data.h @@ -79,5 +79,9 @@ char* rewrite_polygon_query(PointArrayList *pal); char* rewrite_dim_polygon_query(PointArrayList *pal); DimensionType determine_ring_type(PointArrayList *pal); +char* rewrite_multipoint_wkt(PointArray *pa); +char* rewrite_dim_multipoint_wkt(PointArray *pa); + + #endif /* GEO_DATA_H */ diff --git a/contrib/babelfishpg_common/src/geo_parser.y b/contrib/babelfishpg_common/src/geo_parser.y index 34e5639f9e3..00de8ccd979 100644 --- a/contrib/babelfishpg_common/src/geo_parser.y +++ b/contrib/babelfishpg_common/src/geo_parser.y @@ -27,6 +27,8 @@ static int scanbuflen; %type ptarray ptarraym ptarrayzm ptarrayz %type ringlist ringlistm ringlistz ringlistzm %type geospatial_query point_query linestring_query polygon_query +%type multipoint_query +%type mpoint_list mpoint_list_z mpoint_list_m mpoint_list_zm %start geospatial_query %define api.prefix {geo_yy} @@ -39,6 +41,7 @@ geospatial_query: linestring_query { $$ = $1; *result = $$; } | point_query { $$ = $1; *result = $$; } | polygon_query { $$ = $1; *result = $$; } + | multipoint_query { $$ = $1; *result = $$; } ; point_query: @@ -230,6 +233,92 @@ coordinate: { $$ = create_point($1, $2, 0, $4, 0, 1); } ; +multipoint_query: + MPOINT_TOK LPAREN mpoint_list RPAREN + { $$ = rewrite_multipoint_wkt($3); } + | MPOINT_TOK LPAREN ptarray RPAREN + { $$ = rewrite_multipoint_wkt($3); } + | MPOINT_TOK EMPTY_TOK + { $$ = pstrdup("MULTIPOINT EMPTY"); } + | MPOINT_TOK Z_TOK LPAREN mpoint_list_z RPAREN + { $$ = rewrite_dim_multipoint_wkt($4); } + | MPOINT_TOK M_TOK LPAREN mpoint_list_m RPAREN + { $$ = rewrite_dim_multipoint_wkt($4); } + | MPOINT_TOK ZM_TOK LPAREN mpoint_list_zm RPAREN + { $$ = rewrite_dim_multipoint_wkt($4); } + | MPOINT_TOK Z_TOK LPAREN ptarrayz RPAREN + { $$ = rewrite_dim_multipoint_wkt($4); } + | MPOINT_TOK M_TOK LPAREN ptarraym RPAREN + { $$ = rewrite_dim_multipoint_wkt($4); } + | MPOINT_TOK ZM_TOK LPAREN ptarrayzm RPAREN + { $$ = rewrite_dim_multipoint_wkt($4); } + ; + + +/* 2D MULTIPOINT: MULTIPOINT((x y), (x y), ...) */ +mpoint_list: + LPAREN coordinate RPAREN + { + PointArray *pa = palloc(sizeof(PointArray)); + init_point_array(pa); + add_point(pa, $2); + $$ = pa; + } + | mpoint_list COMMA_TOK LPAREN coordinate RPAREN + { + add_point($1, $4); + $$ = $1; + } + ; + +/* Z MULTIPOINT: MULTIPOINT Z((x y z), (x y z), ...) */ +mpoint_list_z: + LPAREN coordz RPAREN + { + PointArray *pa = palloc(sizeof(PointArray)); + init_point_array(pa); + add_point(pa, $2); + $$ = pa; + } + | mpoint_list_z COMMA_TOK LPAREN coordz RPAREN + { + add_point($1, $4); + $$ = $1; + } + ; + +/* M MULTIPOINT: MULTIPOINT M((x y m), (x y m), ...) */ +mpoint_list_m: + LPAREN coordm RPAREN + { + PointArray *pa = palloc(sizeof(PointArray)); + init_point_array(pa); + add_point(pa, $2); + $$ = pa; + } + | mpoint_list_m COMMA_TOK LPAREN coordm RPAREN + { + add_point($1, $4); + $$ = $1; + } + ; + +/* ZM MULTIPOINT: MULTIPOINT ZM((x y z m), (x y z m), ...) */ +mpoint_list_zm: + LPAREN coordzm RPAREN + { + PointArray *pa = palloc(sizeof(PointArray)); + init_point_array(pa); + add_point(pa, $2); + $$ = pa; + } + | mpoint_list_zm COMMA_TOK LPAREN coordzm RPAREN + { + add_point($1, $4); + $$ = $1; + } + ; + %% /* Include lexer after parser to avoid circular dependencies and ensure shared context */ diff --git a/contrib/babelfishpg_common/src/geo_scan.l b/contrib/babelfishpg_common/src/geo_scan.l index ab1bc12cb69..d8e56ef1cdf 100644 --- a/contrib/babelfishpg_common/src/geo_scan.l +++ b/contrib/babelfishpg_common/src/geo_scan.l @@ -23,7 +23,7 @@ POINT { return POINT_TOK; } LINESTRING { return LINESTRING_TOK; } POLYGON { return POLYGON_TOK; } CIRCULARSTRING { yyerror(NULL, "CIRCULARSTRING is not supported"); return CIRCULARSTRING_TOK; } -MULTIPOINT { yyerror(NULL, "MULTIPOINT is not supported"); return MPOINT_TOK; } +MULTIPOINT { return MPOINT_TOK; } MULTILINESTRING { yyerror(NULL, "MULTILINESTRING is not supported"); return MLINESTRING_TOK; } MULTIPOLYGON { yyerror(NULL, "MULTIPOLYGON is not supported"); return MPOLYGON_TOK; } CURVEPOLYGON { yyerror(NULL, "CURVEPOLYGON is not supported"); return CURVEPOLYGON_TOK; } diff --git a/contrib/babelfishpg_common/src/spatialtypes.c b/contrib/babelfishpg_common/src/spatialtypes.c index 159e4c867ac..ac100a0b01b 100644 --- a/contrib/babelfishpg_common/src/spatialtypes.c +++ b/contrib/babelfishpg_common/src/spatialtypes.c @@ -21,17 +21,16 @@ static void load_functions(); /* * Macros for identifying Z and M flags */ -#define FLAG_Z (1 << 0) -#define FLAG_M (1 << 1) + #define MAX_DIMENSION_FLAG 4 -#define POINT_TYPE 1 /* Identifier for Point geometry type */ -#define LINE_TYPE 2 /* Identifier for Linestring geometry type */ -#define POLYGON_TYPE 3 /* Identifier for Polygon geometry type */ +#define POINT_TYPE 1 /* Identifier for Point geometry type */ +#define LINE_TYPE 2 /* Identifier for Linestring geometry type */ +#define POLYGON_TYPE 3 /* Identifier for Polygon geometry type */ +#define MULTIPOINT_TYPE 4 /* Identifier for MultiPoint geometry type */ #define DEFAULT_GEOGRAPHY_SRID 4326 #define DEFAULT_GEOMETRY_SRID 0 #define MIN_GEOMETRY_LENGTH 22 /* Minimum length for geometry data which 2D POINT */ -#define MIN_MULTIPOINT_LINE_LENGTH 80 /* Minimum length for geometry data which 2D POINT */ #define COORD_SIZE 8 /* Size of each coordinate in bytes (double) */ #define HEADER_SIZE 6 /* Size of the geometry header in bytes */ @@ -47,13 +46,11 @@ static void load_functions(); #define POSTGIS_HEADER_SIZE 5 /* Size of the postgis header in bytes */ #define SRID_SIZE 4 /* Size of the SRID field in bytes */ #define HEADER_DIMENSION_POS 4 /* Position of dimension info in header */ -#define EMPTY_POINT_TYPE_LASTBYTE 0x01 /* Type identifier for empty point */ -#define EMPTY_LINE_TYPE_LASTBYTE 0x02 /* Type identifier for empty linestring */ -#define EMPTY_POLYGON_TYPE_LASTBYTE 0x03 /* Type identifier for empty polygon */ +#define EMPTY_POINT_TYPE_LASTBYTE 0x01 /* Type identifier for empty point */ +#define EMPTY_LINE_TYPE_LASTBYTE 0x02 /* Type identifier for empty linestring */ +#define EMPTY_POLYGON_TYPE_LASTBYTE 0x03 /* Type identifier for empty polygon */ +#define EMPTY_MULTIPOINT_TYPE_LASTBYTE 0x04 /* Type identifier for empty Multipoint */ #define NPOINTS_SIZE 4 /* Size of no. of points data (4 bytes ) */ -#define RING_COUNT_BYTES 4 /* No. of rings in a polygon denoted by 4 bytes data packet */ -#define CUMULATIVE_RING_COUNT_SIZE_BYTES 5 /* Size for intermediate cumulative ring counts (4 bytes + 1 zero) */ -#define FINAL_CUMULATIVE_RING_COUNT_SIZE_BYTES 4 /* Size for final cumulative ring count (4 bytes only) */ #define SRID_FLAG_POS 4 /* Position of SRID flag in binary data */ #define SRID_MASK 0x20 /* Bitmask for SRID presence flag */ @@ -120,7 +117,6 @@ static void load_functions(); #define GEOM_TYPE_SIZE 2 /* Size of the geometry type header in bytes */ #define SRID_POS 0 /* Position of SRID in result data: TSQL */ #define GEOM_TYPE_HEADER 1 /* Geometry type header value */ -#define COORD_POS 6 /* Position where coordinates start in result data */ #define SRID_POSTGIS_POS 5 /* Position of SRID FLAG in POSTGIS data */ #define OFFSET_WITH_SRID 9 /* Offset for coordinate data with SRID */ #define OFFSET_WITHOUT_SRID 5 /* Offset for coordinate data without SRID */ @@ -130,9 +126,10 @@ static void load_functions(); #define GEOM_TYPE_POS_RESULT 4 /* Position of geometry type in result data */ #define EMPTY_Binary_SIZE 9 /* Size of empty representation in binary */ -#define EMPTY_POINT_Binary "\x01\x04\x00\x00\x00\x00\x00\x00\x00" /* Binary for empty point */ -#define EMPTY_LINE_Binary "\x01\x02\x00\x00\x00\x00\x00\x00\x00" /* Binary for empty linestring */ -#define EMPTY_POLYGON_Binary "\x01\x03\x00\x00\x00\x00\x00\x00\x00" /* Binary for empty polygon */ +#define EMPTY_POINT_Bytes "\x01\x04\x00\x00\x00\x00\x00\x00\x00" /* Binary for empty point */ +#define EMPTY_LINE_Bytes "\x01\x02\x00\x00\x00\x00\x00\x00\x00" /* Binary for empty linestring */ +#define EMPTY_POLYGON_Bytes "\x01\x03\x00\x00\x00\x00\x00\x00\x00" /* Binary for empty polygon */ +#define EMPTY_MULTIPOINT_Bytes "\x01\x04\x00\x00\x00\x00\x00\x00\x00" /* Binary for empty Multipoint */ #define FIGURE_INTERIOR_RING 0x00 #define FIGURE_STROKE 0x01 #define FIGURE_EXTERIOR_RING 0x02 @@ -343,7 +340,8 @@ check_geom_type(const char *geom_type) { if (strcmp(geom_type, "ST_Point") != 0 && strcmp(geom_type, "ST_LineString") != 0 && - strcmp(geom_type, "ST_Polygon") != 0) + strcmp(geom_type, "ST_Polygon") != 0 && + strcmp(geom_type, "ST_MultiPoint") != 0) { ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), @@ -444,6 +442,9 @@ static st_interiorringn_t st_interiorringn_p; typedef Datum (*st_numinteriorrings_t)(PG_FUNCTION_ARGS); static st_numinteriorrings_t st_numinteriorrings_p; +typedef Datum (*st_geometryn_t)(PG_FUNCTION_ARGS); +static st_geometryn_t st_geometryn_p; + static void validate_geography_latitude(Datum geom_datum, bool is_flipped); PG_FUNCTION_INFO_V1(geometry_in); @@ -462,6 +463,9 @@ PG_FUNCTION_INFO_V1(st_as_binary_geography); PG_FUNCTION_INFO_V1(st_as_text); PG_FUNCTION_INFO_V1(geometry_astext); PG_FUNCTION_INFO_V1(geometry_asbpchar); +PG_FUNCTION_INFO_V1(get_geometry_from_wkb); +PG_FUNCTION_INFO_V1(get_geography_from_wkb); + /* * Module to load external PostGIS functions */ @@ -490,7 +494,8 @@ load_functions() st_isvalid_p = (st_isvalid_t) load_external_function("$libdir/postgis-3", "isvalid", true, NULL); st_exteriorring_p = (st_exteriorring_t) load_external_function("$libdir/postgis-3", "LWGEOM_exteriorring_polygon", true, NULL); st_interiorringn_p = (st_interiorringn_t) load_external_function("$libdir/postgis-3", "LWGEOM_interiorringn_polygon", true, NULL); - st_numinteriorrings_p = (st_numinteriorrings_t) load_external_function("$libdir/postgis-3", "LWGEOM_numinteriorrings_polygon", true, NULL); + st_numinteriorrings_p = (st_numinteriorrings_t) load_external_function("$libdir/postgis-3", "LWGEOM_numinteriorrings_polygon", true, NULL); + st_geometryn_p = (st_geometryn_t) load_external_function("$libdir/postgis-3", "LWGEOM_geometryn_collection", true, NULL); } } @@ -756,6 +761,34 @@ validate_geography_latitude(Datum geom_datum, bool is_flipped) check_antipodal_points(fcinfo_local, point, i, &prev_lat, &prev_lon); } } + } else if (strcmp(geom_type, "ST_MultiPoint") == 0) + { + /* Get total number of points in the MultiPoint */ + UpdateFunctionCallInfo(fcinfo_local, 1, flipped_geom); + npoints = DatumGetInt32(st_npoints_p(fcinfo_local)); + + /* + * Validate each child point using ST_GeometryN + * ST_GeometryN uses 1-based indexing. + */ + for (i = 1; i <= npoints; i++) + { + Datum child_point; + + /* Extract the i-th point from the MultiPoint collection */ + UpdateFunctionCallInfo(fcinfo_local, 2, flipped_geom, Int32GetDatum(i)); + child_point = st_geometryn_p(fcinfo_local); + + /* Get latitude (x coordinate after flipping) */ + UpdateFunctionCallInfo(fcinfo_local, 1, child_point); + lat = DatumGetFloat8(lwgeom_x_p(fcinfo_local)); + + /* Get longitude (y coordinate after flipping) */ + UpdateFunctionCallInfo(fcinfo_local, 1, child_point); + lon = DatumGetFloat8(lwgeom_y_p(fcinfo_local)); + + validate_geography_coord_pair(lat, lon); + } } /* Free allocated memory */ @@ -1049,7 +1082,103 @@ get_geography_from_text(PG_FUNCTION_ARGS) PG_RETURN_DATUM(flipped_geom_datum); } -/* This function creates a geography point (only 2D) */ +/* + * Converts WKB binary to geometry with SRID validation. + */ +Datum +get_geometry_from_wkb(PG_FUNCTION_ARGS) +{ + Datum geom_datum; + int32 srid; + char *geom_type; + bytea *wkb_input; + LOCAL_FCINFO(fcinfo_local, 2); + + InitFunctionCallInfoData(*fcinfo_local, NULL, 2, InvalidOid, NULL, NULL); + load_functions(); + + srid = PG_GETARG_INT32(1); + + if (srid < 0 || srid > 999999) + { + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("SRID value should be between 0 and 999999"))); + } + + wkb_input = PG_GETARG_BYTEA_PP(0); + + /* Convert WKB to geometry */ + UpdateFunctionCallInfo(fcinfo_local, 1, PointerGetDatum(wkb_input)); + geom_datum = lwgeom_from_bytea_p(fcinfo_local); + + /* Set SRID */ + UpdateFunctionCallInfo(fcinfo_local, 2, geom_datum, Int32GetDatum(srid)); + geom_datum = gserialized_set_srid_p(fcinfo_local); + + /* Validate geometry type */ + geom_type = GetGeometryTypeName(fcinfo_local, geom_datum); + check_geom_type(geom_type); + + if (geom_type) + pfree(geom_type); + + PG_RETURN_DATUM(geom_datum); +} + +/* + * Converts WKB binary to geography with SRID and latitude validation. + * Mirrors get_geography_from_text but for WKB input. + */ +Datum +get_geography_from_wkb(PG_FUNCTION_ARGS) +{ + Datum geom_datum; + char *geom_type; + int32 srid; + bytea *wkb_input; + LOCAL_FCINFO(fcinfo_local, 2); + + InitFunctionCallInfoData(*fcinfo_local, NULL, 2, InvalidOid, NULL, NULL); + load_functions(); + + srid = PG_GETARG_INT32(1); + + if (!is_valid_geography_srid(srid)) + { + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("Invalid SRID"))); + } + + wkb_input = PG_GETARG_BYTEA_PP(0); + + /* Convert WKB to geometry */ + UpdateFunctionCallInfo(fcinfo_local, 1, PointerGetDatum(wkb_input)); + geom_datum = lwgeom_from_bytea_p(fcinfo_local); + + /* Set SRID */ + UpdateFunctionCallInfo(fcinfo_local, 2, geom_datum, Int32GetDatum(srid)); + geom_datum = gserialized_set_srid_p(fcinfo_local); + + /* Validate geometry type */ + geom_type = GetGeometryTypeName(fcinfo_local, geom_datum); + check_geom_type(geom_type); + + /* Validate latitude */ + validate_geography_latitude(geom_datum, false); + + /* Flip coordinates for geography storage */ + UpdateFunctionCallInfo(fcinfo_local, 1, geom_datum); + geom_datum = st_flipcoordinates_p(fcinfo_local); + + if (geom_type) + pfree(geom_type); + + PG_RETURN_DATUM(geom_datum); +} + +/* This fusnction creates a geography point (only 2D) */ Datum geography_point(PG_FUNCTION_ARGS) { @@ -1515,7 +1644,7 @@ validate_geography_latitude_bytes(GeometryData *geom_data) int point_count; uint32_t offset; - if (geom_data->geom_name != POINT_TYPE) /* LineString or Polygon */ + if (geom_data->geom_name != POINT_TYPE) /* LineString, Polygon, or MultiPoint */ { point_count = geom_data->has_npoints_data ? geom_data->npoints : 2; offset = geom_data->has_npoints_data ? HEADER_SIZE + NPOINTS_SIZE : HEADER_SIZE; @@ -1704,6 +1833,44 @@ validate_polygon_figures(GeometryData *geom_data, uint32_t npoints) if (total_points != npoints) THROW_VARBINARY_CONVERSION_ERROR(); } + +/* + * Generic validator for multi-geometry figure attributes. + * Checks that child shapes have correct parent and type. + * Delegates figure validation based on expected child type. + */ +static void +validate_multi_figures(GeometryData *geom_data, uint32_t npoints, uint8_t expected_child_type) +{ + uint32_t i; + + /* All child shapes (index 1..nshapes-1) must have parent=0 (root) */ + for (i = 1; i < geom_data->nshapes; i++) + { + if (geom_data->shapes[i].parent_index != 0) + THROW_VARBINARY_CONVERSION_ERROR(); + if (geom_data->shapes[i].type != expected_child_type) + THROW_VARBINARY_CONVERSION_ERROR(); + } + + /* Validate figure attributes based on child type */ + switch (expected_child_type) + { + case SHAPE_POINT: + case SHAPE_LINESTRING: + /* All figures must be STROKE */ + validate_linestring_figures(geom_data); + break; + + case SHAPE_POLYGON: + /* Figures must be EXTERIOR_RING or INTERIOR_RING */ + validate_polygon_figures(geom_data, npoints); + break; + + default: + THROW_VARBINARY_CONVERSION_ERROR(); + } +} /* * parse_figures_and_shapes() * @@ -1810,6 +1977,11 @@ parse_figures_and_shapes(GeometryData *geom_data) geom_data->geom_name = POINT_TYPE; break; + case SHAPE_MULTIPOINT: + geom_data->geom_name = MULTIPOINT_TYPE; + validate_multi_figures(geom_data, npoints, SHAPE_POINT); + break; + default: ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -1937,6 +2109,204 @@ handle_point_coordinates(GeometryData *geom_data, uint8 *result_data) memcpy(dst, src + m_offset, COORD_SIZE); } } +/* + * Helper: get WKB type code with dimension encoding. + * PostGIS convention: +1000 for Z, +2000 for M, +3000 for ZM + */ +static inline uint32_t +get_wkb_type(uint32_t base_type, bool has_z, bool has_m) +{ + if (has_z && has_m) return base_type + 3000; + if (has_z) return base_type + 1000; + if (has_m) return base_type + 2000; + return base_type; +} + +/* + * Write a single interleaved point (XY [Z] [M]) from CLR columnar layout. + * Reusable by all child WKB writers (Point, LineString, Polygon). + * Returns: bytes written + */ +static uint32_t +write_interleaved_point(uint8 *dst, uint8 *src_base, uint32_t total_points, uint32_t pt_idx, bool has_z, bool has_m) +{ + uint32_t pos = 0; + + memcpy(dst + pos, src_base + (pt_idx * COORD_SIZE * 2), COORD_SIZE * 2); + pos += COORD_SIZE * 2; + + if (has_z) + { + memcpy(dst + pos, src_base + (total_points * COORD_SIZE * 2) + (pt_idx * COORD_SIZE), COORD_SIZE); + pos += COORD_SIZE; + } + + if (has_m) + { + uint32_t m_base = total_points * COORD_SIZE * 2 + (has_z ? total_points * COORD_SIZE : 0); + memcpy(dst + pos, src_base + m_base + (pt_idx * COORD_SIZE), COORD_SIZE); + pos += COORD_SIZE; + } + + return pos; +} + +/* + * Write a single WKB Point child from CLR columnar data. + * Returns: bytes written + */ +static uint32_t +write_wkb_point_child(uint8 *dst, uint8 *src_base, uint32_t total_points, uint32_t pt_idx, bool has_z, bool has_m) +{ + uint32_t wkb_type = get_wkb_type(POINT_TYPE, has_z, has_m); + uint32_t pos = 0; + + dst[pos++] = 0x01; /* little endian */ + memcpy(dst + pos, &wkb_type, sizeof(uint32_t)); + pos += sizeof(uint32_t); + pos += write_interleaved_point(dst + pos, src_base, total_points, pt_idx, has_z, has_m); + return pos; +} + +/* + * Dispatch: write one child WKB entry based on parent multi-type. + * Returns: bytes written. + */ +static uint32_t +write_child_wkb(uint8 *dst, uint8 *src_base, uint32_t total_points, uint32_t pt_start, uint32_t child_npoints, uint8 parent_type, GeometryData *geom_data, uint32_t fig_start, uint32_t fig_end, bool has_z, bool has_m) +{ + switch (parent_type) + { + case MULTIPOINT_TYPE: + return write_wkb_point_child(dst, src_base, total_points, pt_start, has_z, has_m); + + default: + THROW_VARBINARY_CONVERSION_ERROR(); + return 0; + } +} + +/* + * Calculate WKB size for one child geometry. + */ +static uint32_t +calculate_child_wkb_size(uint8 parent_type, uint32_t child_npoints, GeometryData *geom_data, uint32_t fig_start, uint32_t fig_end, bool has_z, bool has_m) +{ + uint32_t coord_per_point = COORD_SIZE * 2 + (has_z ? COORD_SIZE : 0) + (has_m ? COORD_SIZE : 0); + + switch (parent_type) + { + case MULTIPOINT_TYPE: + /* byte_order(1) + type(4) + coords */ + return 5 + coord_per_point; + + default: + return 0; + } +} + +/* + * Get child geometry info (point range, figure range) for a given child index. + */ + +static void +get_child_info(GeometryData *geom_data, uint32_t child_idx, + uint32_t *pt_start, uint32_t *child_npoints, + uint32_t *fig_start, uint32_t *fig_end) +{ + uint32_t pt_end; + + *fig_start = geom_data->shapes[child_idx].figure_offset; + *pt_start = geom_data->figures[*fig_start].point_offset; + + if (child_idx < geom_data->nshapes - 1) + *fig_end = geom_data->shapes[child_idx + 1].figure_offset; + else + *fig_end = geom_data->nfigures; + + if (*fig_end < geom_data->nfigures) + pt_end = geom_data->figures[*fig_end].point_offset; + else + pt_end = geom_data->npoints; + + *child_npoints = pt_end - *pt_start; +} + +/* + * Convert CLR multi-geometry binary to PostGIS WKB. + Designed to support + * MultiLineString, MultiPolygon in future with no changes + * to this function — only add cases to write_child_wkb() + * and calculate_child_wkb_size(). + */ +static bytea* +handle_multi_to_postgis(GeometryData *geom_data) +{ + bool has_z = (geom_data->dimension_flag == DIM_FLAG_3D || geom_data->dimension_flag == DIM_FLAG_3DM); + bool has_m = (geom_data->dimension_flag == DIM_FLAG_2DM || geom_data->dimension_flag == DIM_FLAG_3DM); + uint32_t nchildren = geom_data->nshapes - 1; /* exclude root shape */ + uint32_t result_size; + uint8 postgis_header[POSTGIS_HEADER_SIZE]; + uint8 postgis_type_byte; + bytea *result; + uint8 *result_data, *src; + uint32_t offset, i; + + /* Determine PostGIS WKB type byte */ + switch (geom_data->geom_name) + { + case MULTIPOINT_TYPE: + postgis_type_byte = 0x04; + break; + + default: + THROW_VARBINARY_CONVERSION_ERROR(); + return NULL; + } + + /* Source coordinate data base (after header + npoints) */ + src = geom_data->input_data + HEADER_SIZE + NPOINTS_SIZE; + + /* Calculate total WKB size: header + SRID + nchildren(4) + all children */ + result_size = POSTGIS_HEADER_SIZE + SRID_SIZE + sizeof(uint32_t); + + for (i = 0; i < nchildren; i++) + { + uint32_t pt_start, child_npoints, fig_start, fig_end; + get_child_info(geom_data, i + 1, &pt_start, &child_npoints, &fig_start, &fig_end); + + result_size += calculate_child_wkb_size(geom_data->geom_name, child_npoints, geom_data, fig_start, fig_end, has_z, has_m); + } + + /* Build PostGIS header */ + memcpy(postgis_header, "\x01\x04\x00\x00\x20", POSTGIS_HEADER_SIZE); + postgis_header[1] = postgis_type_byte; + if (geom_data->dimension_flag <= MAX_DIMENSION_FLAG) + postgis_header[HEADER_DIMENSION_POS] = DIMENSION_HEADERS[geom_data->dimension_flag]; + + /* Allocate result */ + result = (bytea *)palloc(VARHDRSZ + result_size); + SET_VARSIZE(result, VARHDRSZ + result_size); + result_data = (uint8 *)VARDATA(result); + + /* Write header + SRID + child count */ + memcpy(result_data, postgis_header, POSTGIS_HEADER_SIZE); + memcpy(result_data + POSTGIS_HEADER_SIZE, geom_data->input_data, SRID_SIZE); + offset = POSTGIS_HEADER_SIZE + SRID_SIZE; + memcpy(result_data + offset, &nchildren, sizeof(uint32_t)); + offset += sizeof(uint32_t); + + /* Write each child geometry */ + for (i = 0; i < nchildren; i++) + { + uint32_t pt_start, child_npoints, fig_start, fig_end; + get_child_info(geom_data, i + 1, &pt_start, &child_npoints, &fig_start, &fig_end); + + offset += write_child_wkb(result_data + offset, src, geom_data->npoints, pt_start, child_npoints, geom_data->geom_name, geom_data, fig_start, fig_end, has_z, has_m); + } + + return result; +} /* STEP 6.6: NON-EMPTY GEOMETRY PROCESSING - Convert non-empty geometries to PostGIS format */ static bytea* @@ -1972,6 +2342,8 @@ handle_non_empty_geometry_bytea(GeometryData *geom_data) postgis_header[1] = 0x03; new_data_size = calculate_polygon_size(geom_data); break; + case MULTIPOINT_TYPE: + return handle_multi_to_postgis(geom_data); default: THROW_VARBINARY_CONVERSION_ERROR(); return NULL; /* unreachable */ @@ -2031,7 +2403,9 @@ create_empty_geometry(GeometryData *geom_data) uint8 *result_data; if (geom_data->geom_name == POLYGON_TYPE) - postgis_header[1] = 0x03; + postgis_header[1] = 0x03; + else if (geom_data->geom_name == MULTIPOINT_TYPE) + postgis_header[1] = 0x04; SET_VARSIZE(result, VARHDRSZ + POSTGIS_HEADER_SIZE + SRID_SIZE + EMPTY_GEOM_DATA_SIZE); result_data = (uint8 *)VARDATA(result); @@ -2102,6 +2476,9 @@ handle_empty_geometry_bytea(GeometryData *geom_data) case EMPTY_POLYGON_TYPE_LASTBYTE: geom_data->geom_name = POLYGON_TYPE; return create_empty_geometry(geom_data); + case EMPTY_MULTIPOINT_TYPE_LASTBYTE: /* 0x04 */ + geom_data->geom_name = MULTIPOINT_TYPE; + return create_empty_geometry(geom_data); default: ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), @@ -2311,7 +2688,7 @@ validate_geom_type(const GeoDataInfo *geom_data) return false; geom_type = geom_data->byte_data[GEOM_TYPE_POS_POSTGIS]; - return (geom_type == POINT_TYPE || geom_type == LINE_TYPE || geom_type == POLYGON_TYPE) && + return (geom_type == POINT_TYPE || geom_type == LINE_TYPE || geom_type == POLYGON_TYPE || geom_type == MULTIPOINT_TYPE) && geom_data->byte_data[GEOM_TYPE_POS_POSTGIS+1] == 0x00 && geom_data->byte_data[GEOM_TYPE_POS_POSTGIS+2] == 0x00; } @@ -2353,6 +2730,10 @@ determine_geom_dimensions(GeoDataInfo *geom_data) geom_data->geom_type = geom_data->is_valid ? VALID_POLYGON_2D : INVALID_POLYGON_2D; geom_data->coord_size = COORD_SIZE_XY * geom_data->npoints; break; + case MULTIPOINT_TYPE: + geom_data->geom_type = VALID_2DLINE_MP; /* 0x04 — same props byte */ + geom_data->coord_size = COORD_SIZE_XY * geom_data->npoints; + break; } } break; @@ -2374,6 +2755,10 @@ determine_geom_dimensions(GeoDataInfo *geom_data) geom_data->geom_type = geom_data->is_valid ? VALID_POLYGON_3D : INVALID_POLYGON_3D; geom_data->coord_size = COORD_SIZE_XYZ * geom_data->npoints; break; + case MULTIPOINT_TYPE: + geom_data->geom_type = VALID_3DLINE_MP; /* 0x05 */ + geom_data->coord_size = COORD_SIZE_XYZ * geom_data->npoints; + break; } break; case POSTGIS_DIM_XYZM: @@ -2394,6 +2779,11 @@ determine_geom_dimensions(GeoDataInfo *geom_data) geom_data->geom_type = geom_data->is_valid ? VALID_POLYGON_3DM : INVALID_POLYGON_3DM; geom_data->coord_size = COORD_SIZE_XYZM * geom_data->npoints; break; + + case MULTIPOINT_TYPE: + geom_data->geom_type = VALID_3DMLINE_MP; /* 0x07 */ + geom_data->coord_size = COORD_SIZE_XYZM * geom_data->npoints; + break; } break; case POSTGIS_DIM_XYM: @@ -2414,6 +2804,10 @@ determine_geom_dimensions(GeoDataInfo *geom_data) geom_data->geom_type = geom_data->is_valid ? VALID_POLYGON_2DM : INVALID_POLYGON_2DM; geom_data->coord_size = COORD_SIZE_XYM * geom_data->npoints; break; + case MULTIPOINT_TYPE: + geom_data->geom_type = VALID_2DMLINE_MP; /* 0x06 */ + geom_data->coord_size = COORD_SIZE_XYM * geom_data->npoints; + break; } break; default: @@ -2617,6 +3011,53 @@ write_polygon_clr_metadata(uint8 *dst, GeoDataInfo *geom_data, bool is_geography return pos; } +/* + * Write CLR metadata for MultiPoint. + * + * Output: + * nfigures(4)=npoints + * figure[i]: STROKE, offset=i (one figure per point) + * nshapes(4)=npoints+1 + * shape[0]: parent=-1, fig=0, type=MULTIPOINT (root) + * shape[i]: parent=0, fig=i-1, type=POINT (children) + * + * Total: 4 + (npoints × 5) + 4 + ((npoints+1) × 9) + */ +static uint32_t +write_multipoint_clr_metadata(uint8 *dst, int npoints) +{ + uint32_t pos = 0; + int32_t count; + int i; + + /* Figure array: one STROKE figure per point */ + count = npoints; + memcpy(dst + pos, &count, COUNT_FIELD_SIZE); + pos += COUNT_FIELD_SIZE; + + for (i = 0; i < npoints; i++) + { + uint32_t pt_offset = (uint32_t)i; + pos += write_figure_entry(dst + pos, FIGURE_STROKE, pt_offset); + } + + /* Shape array: root MultiPoint + one Point child per point */ + count = npoints + 1; + memcpy(dst + pos, &count, COUNT_FIELD_SIZE); + pos += COUNT_FIELD_SIZE; + + /* Root shape: MultiPoint */ + pos += write_shape_entry(dst + pos, -1, 0, SHAPE_MULTIPOINT); + + /* Child shapes: one Point per point */ + for (i = 0; i < npoints; i++) + { + pos += write_shape_entry(dst + pos, 0, (uint32_t)i, SHAPE_POINT); + } + + return pos; +} + /* * CLR metadata writer — dispatches by geometry type. * Returns: total bytes written to dst. @@ -2670,6 +3111,11 @@ calculate_clr_metadata_size(GeoDataInfo *geom_data, bool is_geography) nshapes = 1; break; + case MULTIPOINT_TYPE: + nfigures = geom_data->npoints; /* one figure per point */ + nshapes = geom_data->npoints + 1; /* root + one per point */ + break; + default: return 0; } @@ -2816,6 +3262,86 @@ handle_polygon_type_data(GeoDataInfo *geom_data, uint8 *result_data, bytea *resu return result; } +/* + * handle_multipoint_type_data() + * + * Converts PostGIS MultiPoint WKB (interleaved per-point) to + * T-SQL CLR columnar format: + * [npoints(4)] [X1 Y1 X2 Y2 ...] [Z1 Z2 ...] [M1 M2 ...] [metadata] + * + * PostGIS MultiPoint WKB layout: + * byte_order(1) + type(4) + numpoints(4) + * For each point: byte_order(1) + type(4) + X(8) + Y(8) [+ Z(8)] [+ M(8)] + */ +static bytea* +handle_multipoint_type_data(GeoDataInfo *geom_data, uint8 *result_data, bytea *result, bool is_geography) +{ + uint32_t src_offset; + uint8 dim_mask = geom_data->srid_flag & DIMENSION_MASK; + bool has_z = (dim_mask == POSTGIS_DIM_XYZ || dim_mask == POSTGIS_DIM_XYZM); + bool has_m = (dim_mask == POSTGIS_DIM_XYM || dim_mask == POSTGIS_DIM_XYZM); + int npoints = geom_data->npoints; + int i; + uint32_t offset; + uint32_t temp_src; + int wkb_point_size; /* Size of one point in WKB */ + uint8 *dst; + uint8 *metadata_pos; + + /* Source offset past PostGIS header + SRID + MultiPoint WKB header */ + /* PostGIS WKB: byte_order(1) + type(4) + numpoints(4) = 9 bytes */ + src_offset = ((is_geography || geom_data->has_srid) ? OFFSET_WITH_SRID : OFFSET_WITHOUT_SRID) + NPOINTS_SIZE; /* skip past WKB numpoints */ + + /* WKB point entry: header(5) + XY(16) [+ Z(8)] [+ M(8)] */ + wkb_point_size = 5 + COORD_SIZE * 2 + (has_z ? COORD_SIZE : 0) + (has_m ? COORD_SIZE : 0); + + /* Destination starts after SRID(4) + props(2) + npoints(4) */ + dst = result_data + HEADER_SIZE + NPOINTS_SIZE; + + /* ── Pass 1: Write all XY pairs ── */ + temp_src = src_offset; + offset = 0; + for (i = 0; i < npoints; i++) + { + /* Skip WKB point header (5 bytes: byte_order + type) */ + memcpy(dst + offset, geom_data->byte_data + temp_src + 5, COORD_SIZE * 2); + offset += COORD_SIZE * 2; + temp_src += wkb_point_size; + } + + /* ── Pass 2: Write all Z values ── */ + if (has_z) + { + temp_src = src_offset; + for (i = 0; i < npoints; i++) + { + double *z_coord = (double *)(geom_data->byte_data + temp_src + 5 + COORD_SIZE * 2); + copy_coord_with_nan_check(dst + offset, z_coord); + offset += COORD_SIZE; + temp_src += wkb_point_size; + } + } + + /* ── Pass 3: Write all M values ── */ + if (has_m) + { + temp_src = src_offset; + for (i = 0; i < npoints; i++) + { + uint32_t m_pos = 5 + COORD_SIZE * 2 + (has_z ? COORD_SIZE : 0); + double *m_coord = (double *)(geom_data->byte_data + temp_src + m_pos); + copy_coord_with_nan_check(dst + offset, m_coord); + offset += COORD_SIZE; + temp_src += wkb_point_size; + } + } + + /* ── Write CLR metadata (figures + shapes) ── */ + metadata_pos = dst + offset; + write_multipoint_clr_metadata(metadata_pos, npoints); + + return result; +} /* Step 4: Construct final T-SQL binary representation */ static bytea* construct_result_bytea(GeoDataInfo *geom_data, bool is_geography) @@ -2838,8 +3364,9 @@ construct_result_bytea(GeoDataInfo *geom_data, bool is_geography) * Add npoints field for complex geometries: * - LineString with >2 points * - Polygon (always has npoints field) + * - MultiPoint (always has npoints field) */ - if ((geom_data->postgis_geom_type == LINE_TYPE && geom_data->npoints > 2) ||(geom_data->postgis_geom_type == POLYGON_TYPE && !geom_data->is_empty)) + if ((geom_data->postgis_geom_type == LINE_TYPE && geom_data->npoints > 2) ||(geom_data->postgis_geom_type == POLYGON_TYPE && !geom_data->is_empty) || (geom_data->postgis_geom_type == MULTIPOINT_TYPE && !geom_data->is_empty)) { total_size += NPOINTS_SIZE; } @@ -2886,6 +3413,9 @@ construct_result_bytea(GeoDataInfo *geom_data, bool is_geography) case POLYGON_TYPE: memcpy(result_data + HEADER_SIZE, &geom_data->npoints, NPOINTS_SIZE); return handle_polygon_type_data(geom_data, result_data, result, is_geography); + case MULTIPOINT_TYPE: + memcpy(result_data + HEADER_SIZE, &geom_data->npoints, NPOINTS_SIZE); + return handle_multipoint_type_data(geom_data, result_data, result, is_geography); } } @@ -3026,17 +3556,21 @@ st_as_binary_common(Datum input, bool is_geography) if (strcmp(geom_type, "ST_Point" ) == 0) { /* Copy empty point WKB pattern */ - memcpy(VARDATA(empty_geom), EMPTY_POINT_Binary, EMPTY_Binary_SIZE); + memcpy(VARDATA(empty_geom), EMPTY_POINT_Bytes, EMPTY_Binary_SIZE); } else if (strcmp(geom_type, "ST_LineString" ) == 0) { /* Copy empty linestring WKB pattern */ - memcpy(VARDATA(empty_geom), EMPTY_LINE_Binary, EMPTY_Binary_SIZE); + memcpy(VARDATA(empty_geom), EMPTY_LINE_Bytes, EMPTY_Binary_SIZE); } else if (strcmp(geom_type, "ST_Polygon" ) == 0) { /* Copy empty linestring WKB pattern */ - memcpy(VARDATA(empty_geom), EMPTY_POLYGON_Binary, EMPTY_Binary_SIZE); + memcpy(VARDATA(empty_geom), EMPTY_POLYGON_Bytes, EMPTY_Binary_SIZE); + } + else if (strcmp(geom_type, "ST_MultiPoint") == 0) + { + memcpy(VARDATA(empty_geom), EMPTY_MULTIPOINT_Bytes, EMPTY_Binary_SIZE); } /* Free allocated memory and return the empty WKB */ diff --git a/contrib/babelfishpg_tsql/antlr/TSqlLexer.g4 b/contrib/babelfishpg_tsql/antlr/TSqlLexer.g4 index f5640514ba5..a51f7d2954c 100644 --- a/contrib/babelfishpg_tsql/antlr/TSqlLexer.g4 +++ b/contrib/babelfishpg_tsql/antlr/TSqlLexer.g4 @@ -987,6 +987,8 @@ STISCLOSED: 'STIsClosed'; STISEMPTY: 'STIsEmpty'; STISVALID: 'STIsValid'; STLINEFROMTEXT: 'STLineFromText'; +STMPOINTFROMTEXT: 'STMPointFromText'; +STMPOINTFROMWKB: 'STMPointFromWKB'; STNUMPOINTS: 'STNumPoints'; STOP: S T O P; STOPAT: S T O P A T; diff --git a/contrib/babelfishpg_tsql/antlr/TSqlParser.g4 b/contrib/babelfishpg_tsql/antlr/TSqlParser.g4 index 2f10f8039d9..d87621d339f 100644 --- a/contrib/babelfishpg_tsql/antlr/TSqlParser.g4 +++ b/contrib/babelfishpg_tsql/antlr/TSqlParser.g4 @@ -3963,6 +3963,8 @@ geospatial_static_method | STPOINTFROMTEXT | STLINEFROMTEXT | STPOLYFROMTEXT + | STMPOINTFROMTEXT + | STMPOINTFROMWKB | POINT | PARSE ; @@ -5091,6 +5093,8 @@ keyword | STISEMPTY | STISVALID | STLINEFROMTEXT + | STMPOINTFROMTEXT + | STMPOINTFROMWKB | STNUMPOINTS | STOP | STOPAT diff --git a/test/JDBC/expected/Test-Multipoint-vu-cleanup.out b/test/JDBC/expected/Test-Multipoint-vu-cleanup.out new file mode 100644 index 00000000000..34098ac6d77 --- /dev/null +++ b/test/JDBC/expected/Test-Multipoint-vu-cleanup.out @@ -0,0 +1,82 @@ +# Geometry Views — Properties +DROP VIEW IF EXISTS DimOfGeometrymultipoint; +DROP VIEW IF EXISTS NumPointsOfGeometrymultipoint; +DROP VIEW IF EXISTS TextFromGeometrymultipoint; +DROP VIEW IF EXISTS BinaryFromGeometrymultipoint; +DROP VIEW IF EXISTS SridFromGeometrymultipoint; +DROP VIEW IF EXISTS EmptyGeometrymultipoint; +DROP VIEW IF EXISTS ValidGeometrymultipoint; +DROP VIEW IF EXISTS GeomTypeOfGeometrymultipoint; + +# Geometry Views — Spatial Operations (multipoint vs multipoint) +DROP VIEW IF EXISTS DisjointTempGeommultipoint; +DROP VIEW IF EXISTS DistanceTempGeommultipoint; +DROP VIEW IF EXISTS IntersectsTempGeommultipoint; +DROP VIEW IF EXISTS EqualsTempGeommultipoint; +DROP VIEW IF EXISTS ContainTempGeommultipoint; +DROP VIEW IF EXISTS equals_opgeommultipoint; +DROP VIEW IF EXISTS notequal_opgeommultipoint; + +# Geometry Views — Spatial Operations (multipoint vs point/linestring) +DROP VIEW IF EXISTS DisjointTempGeommpsr; +DROP VIEW IF EXISTS DistanceTempGeommpsr; +DROP VIEW IF EXISTS IntersectsTempGeommpsr; +DROP VIEW IF EXISTS EqualsTempGeommpsr; +DROP VIEW IF EXISTS ContainTempGeommpsr; +DROP VIEW IF EXISTS equals_opgeommpsr; +DROP VIEW IF EXISTS notequal_opgeommpsr; + +# Geometry Views — STMPointFromText +DROP VIEW IF EXISTS MultipointGeomFromText; + +# Geography Views — Properties +DROP VIEW IF EXISTS DimOfGeographymultipoint; +DROP VIEW IF EXISTS NumPointsOfGeographymultipoint; +DROP VIEW IF EXISTS TextFromGeographymultipoint; +DROP VIEW IF EXISTS BinaryFromGeographymultipoint; +DROP VIEW IF EXISTS SridFromGeographymultipoint; +DROP VIEW IF EXISTS EmptyGeographymultipoint; +DROP VIEW IF EXISTS ValidGeographymultipoint; +DROP VIEW IF EXISTS GeomTypeOfGeographymultipoint; + +# Geography Views — Spatial Operations (multipoint vs multipoint) +DROP VIEW IF EXISTS DisjointTempGeogmultipoint; +DROP VIEW IF EXISTS DistanceTempGeogmultipoint; +DROP VIEW IF EXISTS IntersectsTempGeogmultipoint; +DROP VIEW IF EXISTS EqualsTempGeogmultipoint; +DROP VIEW IF EXISTS equals_opgeogmultipoint; +DROP VIEW IF EXISTS notequal_opgeogmultipoint; + +# Geography Views — Spatial Operations (multipoint vs point) +DROP VIEW IF EXISTS DisjointTempGeogmpsr; +DROP VIEW IF EXISTS DistanceTempGeogmpsr; +DROP VIEW IF EXISTS IntersectsTempGeogmpsr; +DROP VIEW IF EXISTS EqualsTempGeogmpsr; +DROP VIEW IF EXISTS equals_opgeogmpsr; +DROP VIEW IF EXISTS notequal_opgeogmpsr; + +# Geography Views — STMPointFromText +DROP VIEW IF EXISTS MultipointGeogFromText; + +# Geometry Tables +DROP TABLE IF EXISTS GEOSPATIALMULTIPOINTGEOM_dt; +DROP TABLE IF EXISTS GEOSPATIALPOINTGEOM_mpsr; +DROP TABLE IF EXISTS GEOSPATIALMULTIPOINTGEOM_INVALID_dt; +DROP TABLE IF EXISTS geometryAsVarbinarymultipoint; +DROP TABLE IF EXISTS geometryAsVarcharmultipoint; +DROP TABLE IF EXISTS VarbinaryAsgeometrymultipoint; +DROP TABLE IF EXISTS VarCharAsgeometrymultipoint; +DROP TABLE IF EXISTS GeoVarCharAsgeometrymultipoint; + +# Geography Tables +DROP TABLE IF EXISTS GEOSPATIALMULTIPOINTGEOG_dt; +DROP TABLE IF EXISTS geospatialpointxgeog_mpsr; +DROP TABLE IF EXISTS geographyAsVarbinarymultipoint; +DROP TABLE IF EXISTS geographyAsVarcharmultipoint; +DROP TABLE IF EXISTS VarCharAsgeographymultipoint; +DROP TABLE IF EXISTS GeoVarCharAsgeographymultipoint; +DROP TABLE IF EXISTS geographyToByteamultipoint; + +# Prepared Statement Tables +DROP TABLE IF EXISTS GEOSPATIAL_MPGEOMRCV_dt; +DROP TABLE IF EXISTS GEOSPATIAL_MPGEOGRCV_dt; diff --git a/test/JDBC/expected/Test-Multipoint-vu-prepare.out b/test/JDBC/expected/Test-Multipoint-vu-prepare.out new file mode 100644 index 00000000000..402d68784bf --- /dev/null +++ b/test/JDBC/expected/Test-Multipoint-vu-prepare.out @@ -0,0 +1,723 @@ +# Multipoint Geometry Test Cases + +CREATE TABLE GEOSPATIALMULTIPOINTGEOM_dt (location geometry) +ALTER TABLE GEOSPATIALMULTIPOINTGEOM_dt ADD id INT IDENTITY(1,1); + +# Positive Test for STGeomFromText with SRID 4326 — 2D +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((0 0), (10 0), (10 10), (0 10), (5 5))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((-1 2), (3 -4), (0 0))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((999999999 999999999), (-999999999 -999999999))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((0.000001 0.000001), (0.000002 0.000002))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (1 2))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((5 5), (5 5), (5 5))', 4326)); +~~ROW COUNT: 1~~ + + +# 2D — Alternate WKT (no inner parens) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT(1 2, 3 4)', 4326)); +~~ROW COUNT: 1~~ + + +# 3D (XYZ) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((10 20 30))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 -3), (4 5 -6))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 0), (4 5 0))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3), (4.4 5.5 6.6))', 4326)); +~~ROW COUNT: 1~~ + + +# 3D — Partial Z (mixed dimensions) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5), (7 8 9))', 4326)); +~~ROW COUNT: 1~~ + + +# 2DM (XYM) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 10), (3 4 NULL 20), (5 6 NULL 30))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL -4), (5 6 NULL -8))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 0), (5 6 NULL 0))', 4326)); +~~ROW COUNT: 1~~ + + +# 2DM — Partial M (mixed dimensions) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (5 6 NULL 8))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6), (7 8 NULL 10))', 4326)); +~~ROW COUNT: 1~~ + + +# 4D (XYZM) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 -3 -4), (5 6 -7 -8))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3 4.4), (5.5 6.6 7.7 8.8))', 4326)); +~~ROW COUNT: 1~~ + + +# 4D — Partial (mixed dimensions) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7), (8 9))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 7 8))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 NULL 8), (9 10))', 4326)); +~~ROW COUNT: 1~~ + + +# EMPTY +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT EMPTY', 4326)); +~~ROW COUNT: 1~~ + + +# Negative Test when SRID is not valid +# SRID should be between 0 to 999999 +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 1000000000)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: SRID value should be between 0 and 999999)~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', -1)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: SRID value should be between 0 and 999999)~~ + + +# Negative Test for STGeomFromText when a coordinate is missing +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1), (3 4))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +# Negative Test for STGeomFromText when Incorrect cast is provided +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: column "location" is of type geometry but expression is of type geography)~~ + + +# Cross-type reference table for spatial operations +CREATE TABLE GEOSPATIALPOINTGEOM_mpsr (location geometry) +ALTER TABLE GEOSPATIALPOINTGEOM_mpsr ADD id INT IDENTITY(1,1); + +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('LINESTRING EMPTY', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('Point(47.65100 -22.34900)', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('Point(47.65100 -22.34900 32.546000)', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('Point(47.65100 -22.34900 NULL 32.546000)', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('Point(47.65100 -22.34900 32.546000 54.56300)', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('POINT EMPTY', 4326)); +~~ROW COUNT: 1~~ + + +# Test with invalid instances +CREATE TABLE GEOSPATIALMULTIPOINTGEOM_INVALID_dt (location geometry) +ALTER TABLE GEOSPATIALMULTIPOINTGEOM_INVALID_dt ADD id INT IDENTITY(1,1); + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_INVALID_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4 5), (6 7 8 9 10))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +# Views for geometry multipoint properties +CREATE VIEW DimOfGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STDimension() AS dimension FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW NumPointsOfGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STNumPoints() AS numpoints FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW TextFromGeometrymultipoint AS SELECT location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW BinaryFromGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STAsBinary() AS binary FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW SridFromGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STSrid AS srid FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW EmptyGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STIsEmpty() AS isempty FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW ValidGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STIsValid() AS isvalid FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW GeomTypeOfGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STGeometryType() AS geomtype FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +# Spatial operation views — multipoint vs multipoint +CREATE VIEW DisjointTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STDisjoint(p2.location) AS disjoints FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW DistanceTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, CAST(STDistance(p1.location, p2.location) AS numeric(20, 6)) AS distance FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW IntersectsTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STIntersects(p2.location) AS intersecting FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW EqualsTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STEquals(p2.location) AS equals FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW ContainTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STContains(p2.location) AS contain FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW equals_opgeommultipoint AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 WHERE p1.location = p2.location ORDER BY p1.id; + +CREATE VIEW notequal_opgeommultipoint AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 WHERE p1.location <> p2.location ORDER BY p1.id; + +# Spatial operation views — multipoint vs point/linestring +CREATE VIEW DisjointTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STDisjoint(p2.location) AS disjoints FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW DistanceTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, CAST(STDistance(p1.location, p2.location) AS numeric(20, 6)) AS distance FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW IntersectsTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STIntersects(p2.location) AS intersecting FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW EqualsTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STEquals(p2.location) AS equals FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW ContainTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STContains(p2.location) AS contain FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW equals_opgeommpsr AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 WHERE p1.location = p2.location ORDER BY p1.id; + +CREATE VIEW notequal_opgeommpsr AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 WHERE p1.location <> p2.location ORDER BY p1.id; + +# STMPointFromText view +CREATE VIEW MultipointGeomFromText AS SELECT geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326) AS geom1, geometry::STMPointFromText('MULTIPOINT((5 6 7), (8 9 10))', 4326) AS geom2; + +# CAST to VARBINARY table +CREATE TABLE geometryAsVarbinarymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData VARBINARY(2000)); + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 NULL 8), (9 10))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + + +# CAST to VARCHAR table +CREATE TABLE geometryAsVarcharmultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData VARCHAR(500)); + +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(500))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS VARCHAR(500))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS VARCHAR(500))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS VARCHAR(500))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS VARCHAR(500))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS VARCHAR(500))); +~~ROW COUNT: 1~~ + +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARCHAR(500))); +~~ROW COUNT: 1~~ + + +# VARBINARY back to geometry table +CREATE TABLE VarbinaryAsgeometrymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData geometry); + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(2000)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS VARBINARY(2000)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS VARBINARY(2000)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS VARBINARY(2000)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS VARBINARY(2000)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS VARBINARY(2000)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326) AS VARBINARY(2000)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326) AS VARBINARY(2000)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARBINARY(2000)) AS geometry)); +~~ROW COUNT: 1~~ + + +# VARCHAR to geometry table +CREATE TABLE VarCharAsgeometrymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData geometry); + +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2), (3 4))' AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2), (3 4), (5 6))' AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2 3), (4 5 6))' AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))' AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2 3 4), (5 6 7 8))' AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2 3), (4 5))' AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT EMPTY' AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + + +# GeoVarChar (geometry to VARCHAR back to geometry) +CREATE TABLE GeoVarCharAsgeometrymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData geometry); + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326) AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326) AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARCHAR(500)) AS geometry)); +~~ROW COUNT: 1~~ + + + +# ============================================================================ +# Multipoint Geography Test Cases +# ============================================================================ + +CREATE TABLE GEOSPATIALMULTIPOINTGEOG_dt (location geography) +ALTER TABLE GEOSPATIALMULTIPOINTGEOG_dt ADD id INT IDENTITY(1,1); + +# Positive Test for geography multipoint +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((0 0), (10 20), (30 40), (50 60), (70 80))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((-45 -90), (-50 -100))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((90 0), (-90 0))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT EMPTY', 4326)); +~~ROW COUNT: 1~~ + + +# Cross-type reference table for geography +CREATE TABLE geospatialpointxgeog_mpsr (location geography) +ALTER TABLE geospatialpointxgeog_mpsr ADD id INT IDENTITY(1,1); + +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('LINESTRING EMPTY', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('Point(47.65100 -22.34900)', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('Point(47.65100 -22.34900 32.546000)', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('Point(47.65100 -22.34900 NULL 32.546000)', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('Point(47.65100 -22.34900 32.546000 54.56300)', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('POINT EMPTY', 4326)); +~~ROW COUNT: 1~~ + + +# Views for geography multipoint properties +CREATE VIEW DimOfGeographymultipoint AS SELECT location.STAsText() AS geography, location.STDimension() AS dimension FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW NumPointsOfGeographymultipoint AS SELECT location.STAsText() AS geography, location.STNumPoints() AS numpoints FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW TextFromGeographymultipoint AS SELECT location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW BinaryFromGeographymultipoint AS SELECT location.STAsText() AS geography, location.STAsBinary() AS binary FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW SridFromGeographymultipoint AS SELECT location.STAsText() AS geography, location.STSrid AS srid FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW EmptyGeographymultipoint AS SELECT location.STAsText() AS geography, location.STIsEmpty() AS isempty FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW ValidGeographymultipoint AS SELECT location.STAsText() AS geography, location.STIsValid() AS isvalid FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW GeomTypeOfGeographymultipoint AS SELECT location.STAsText() AS geography, location.STGeometryType() AS geomtype FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +# Spatial operation views — geography multipoint vs multipoint +CREATE VIEW DisjointTempGeogmultipoint AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STDisjoint(p2.location) AS disjoints FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 ORDER BY p1.id; + +CREATE VIEW DistanceTempGeogmultipoint AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, CAST(STDistance(p1.location, p2.location) AS numeric(20, 6)) AS distance FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 ORDER BY p1.id; + +CREATE VIEW IntersectsTempGeogmultipoint AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STIntersects(p2.location) AS intersecting FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 ORDER BY p1.id; + +CREATE VIEW EqualsTempGeogmultipoint AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STEquals(p2.location) AS equals FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 ORDER BY p1.id; + +CREATE VIEW equals_opgeogmultipoint AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 WHERE p1.location = p2.location ORDER BY p1.id; + +CREATE VIEW notequal_opgeogmultipoint AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 WHERE p1.location <> p2.location ORDER BY p1.id; + +# Spatial operation views — geography multipoint vs point +CREATE VIEW DisjointTempGeogmpsr AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STDisjoint(p2.location) AS disjoints FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 ORDER BY p1.id; + +CREATE VIEW DistanceTempGeogmpsr AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, CAST(STDistance(p1.location, p2.location) AS numeric(20, 6)) AS distance FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 ORDER BY p1.id; + +CREATE VIEW IntersectsTempGeogmpsr AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STIntersects(p2.location) AS intersecting FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 ORDER BY p1.id; + +CREATE VIEW EqualsTempGeogmpsr AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STEquals(p2.location) AS equals FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 ORDER BY p1.id; + +CREATE VIEW equals_opgeogmpsr AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 WHERE p1.location = p2.location ORDER BY p1.id; + +CREATE VIEW notequal_opgeogmpsr AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 WHERE p1.location <> p2.location ORDER BY p1.id; + +CREATE VIEW MultipointGeogFromText AS SELECT geography::STMPointFromText('MULTIPOINT((45 90), (50 100))', 4326) AS geog1, geography::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS geog2; + +# Geography CAST tables +CREATE TABLE geographyAsVarbinarymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geographyData VARBINARY(2000)); + +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326) AS VARBINARY(2000))); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326) AS VARBINARY(2000))); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326) AS VARBINARY(2000))); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326) AS VARBINARY(2000))); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARBINARY(2000))); +~~ROW COUNT: 1~~ + + +CREATE TABLE geographyAsVarcharmultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geographyData VARCHAR(500)); + +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326) AS VARCHAR(500))); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326) AS VARCHAR(500))); +~~ROW COUNT: 1~~ + +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326) AS VARCHAR(500))); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326) AS VARCHAR(500))); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARCHAR(500))); +~~ROW COUNT: 1~~ + + +CREATE TABLE VarCharAsgeographymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geographyData geography); + +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT((45 90), (50 100))' AS VARCHAR(500)) AS geography)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT((0 0), (45 90), (30 60))' AS VARCHAR(500)) AS geography)); +~~ROW COUNT: 1~~ + +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT((45 90 100), (50 100 200))' AS VARCHAR(500)) AS geography)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT((45 90 100 1), (50 100 200 2))' AS VARCHAR(500)) AS geography)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT EMPTY' AS VARCHAR(500)) AS geography)); +~~ROW COUNT: 1~~ + + +CREATE TABLE GeoVarCharAsgeographymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geographyData geography); + +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326) AS VARCHAR(500)) AS geography)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326) AS VARCHAR(500)) AS geography)); +~~ROW COUNT: 1~~ + +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326) AS VARCHAR(500)) AS geography)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326) AS VARCHAR(500)) AS geography)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326) AS VARCHAR(500)) AS geography)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARCHAR(500)) AS geography)); +~~ROW COUNT: 1~~ + + +# Geography bytea round-trip table +CREATE TABLE geographyToByteamultipoint (ID INT PRIMARY KEY, geo_multipoint geography); + +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (1, geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (2, geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326)); +~~ROW COUNT: 1~~ + +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (3, geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (4, geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (5, geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326)); +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (6, geography::STGeomFromText('MULTIPOINT EMPTY', 4326)); +~~ROW COUNT: 1~~ + + +# Tests for Geometry type Prepared Statements +CREATE TABLE GEOSPATIAL_MPGEOMRCV_dt (location geometry) + +prepst#!#INSERT INTO GEOSPATIAL_MPGEOMRCV_dt(location) values(?) #!#GEOMETRY|-|location|-|MULTIPOINT ((1 2), (3 4)):4326 +~~ROW COUNT: 1~~ + +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT EMPTY:4326 +~~ROW COUNT: 1~~ + +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 3), (4 5 6)):4326 +~~ROW COUNT: 1~~ + +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 NULL 4), (5 6 NULL 8)):4326 +~~ROW COUNT: 1~~ + +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 3 4), (5 6 7 8)):4326 +~~ROW COUNT: 1~~ + +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((0 0), (1 1), (2 2)):4326 +~~ROW COUNT: 1~~ + +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((-1 -2), (-3 -4)):4326 +~~ROW COUNT: 1~~ + + +# Tests for Geography type Prepared Statements +CREATE TABLE GEOSPATIAL_MPGEOGRCV_dt (location geography) + +prepst#!#INSERT INTO GEOSPATIAL_MPGEOGRCV_dt(location) values(?) #!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90), (50 100)):4326 +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Error converting data type varbinary to geography.)~~ + +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT EMPTY:4326 +~~ROW COUNT: 1~~ + +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((0 0), (45 90), (30 60)):4326 +~~ROW COUNT: 1~~ + +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90 100), (50 100 200)):4326 +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Error converting data type varbinary to geography.)~~ + +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90 100 1), (50 100 200 2)):4326 +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Error converting data type varbinary to geography.)~~ + +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90 NULL 1), (50 100 NULL 2)):4326 +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Error converting data type varbinary to geography.)~~ + diff --git a/test/JDBC/expected/Test-Multipoint-vu-verify.out b/test/JDBC/expected/Test-Multipoint-vu-verify.out new file mode 100644 index 00000000000..9e4820df0cc --- /dev/null +++ b/test/JDBC/expected/Test-Multipoint-vu-verify.out @@ -0,0 +1,16702 @@ + +-- ============================================================================ +-- SECTION 1: MultiPoint 2D (XY) — Text Input +-- ============================================================================ +-- TC-MP-001: MultiPoint 2D — 2 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-001: Roundtrip +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-002: MultiPoint 2D — 3 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326); +GO +~~START~~ +geometry +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-002: Roundtrip +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-003: MultiPoint 2D — 4 Points +SELECT geometry::STGeomFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3))', 4326); +GO +~~START~~ +geometry +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +~~END~~ + + +-- TC-MP-004: MultiPoint 2D — 5 Points +SELECT geometry::STGeomFromText('MULTIPOINT((0 0), (10 0), (10 10), (0 10), (5 5))', 4326); +GO +~~START~~ +geometry +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0), (10 0), (10 10), (0 10), (5 5))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +~~END~~ + + +-- TC-MP-005: MultiPoint 2D — 7 Points +SELECT geometry::STGeomFromText('MULTIPOINT((0 0), (2 3), (4 5), (6 4), (4 2), (2 1), (1 1))', 4326); +GO +~~START~~ +geometry +E610000001040700000000000000000000000000000000000000000000000000004000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000104000000000000000400000000000000040000000000000F03F000000000000F03F000000000000F03F07000000010000000001010000000102000000010300000001040000000105000000010600000008000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001000000000500000001000000000600000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0), (2 3), (4 5), (6 4), (4 2), (2 1), (1 1))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E610000001040700000000000000000000000000000000000000000000000000004000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000104000000000000000400000000000000040000000000000F03F000000000000F03F000000000000F03F07000000010000000001010000000102000000010300000001040000000105000000010600000008000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001000000000500000001000000000600000001 +~~END~~ + + +-- TC-MP-006: MultiPoint 2D — 10 Points +SELECT geometry::STGeomFromText('MULTIPOINT((0 0),(1 1),(2 2),(3 3),(4 4),(5 5),(6 6),(7 7),(8 8),(9 9))', 4326); +GO +~~START~~ +geometry +E610000001040A00000000000000000000000000000000000000000000000000F03F000000000000F03F00000000000000400000000000000040000000000000084000000000000008400000000000001040000000000000104000000000000014400000000000001440000000000000184000000000000018400000000000001C400000000000001C4000000000000020400000000000002040000000000000224000000000000022400A00000001000000000101000000010200000001030000000104000000010500000001060000000107000000010800000001090000000B000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001000000000500000001000000000600000001000000000700000001000000000800000001000000000900000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0),(1 1),(2 2),(3 3),(4 4),(5 5),(6 6),(7 7),(8 8),(9 9))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E610000001040A00000000000000000000000000000000000000000000000000F03F000000000000F03F00000000000000400000000000000040000000000000084000000000000008400000000000001040000000000000104000000000000014400000000000001440000000000000184000000000000018400000000000001C400000000000001C4000000000000020400000000000002040000000000000224000000000000022400A00000001000000000101000000010200000001030000000104000000010500000001060000000107000000010800000001090000000B000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001000000000500000001000000000600000001000000000700000001000000000800000001000000000900000001 +~~END~~ + + +-- TC-MP-007: MultiPoint 2D — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((1 2))', 4326); +GO +~~START~~ +geometry +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +-- TC-MP-008: MultiPoint 2D — Negative Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-009: MultiPoint 2D — Mixed Positive/Negative +SELECT geometry::STGeomFromText('MULTIPOINT((-1 2), (3 -4), (0 0))', 4326); +GO +~~START~~ +geometry +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((-1 2), (3 -4), (0 0))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-010: MultiPoint 2D — Decimal Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-011: MultiPoint 2D — Very Large Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((999999999 999999999), (-999999999 -999999999))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((999999999 999999999), (-999999999 -999999999))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-012: MultiPoint 2D — Very Small Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((0.000001 0.000001), (0.000002 0.000002))', 4326); +GO +~~START~~ +geometry +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0.000001 0.000001), (0.000002 0.000002))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-013: MultiPoint 2D — Zero Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326); +GO +~~START~~ +geometry +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-014: MultiPoint 2D — Duplicate Points (2 same) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (1 2))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (1 2))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-015: MultiPoint 2D — 3 Identical Points +SELECT geometry::STGeomFromText('MULTIPOINT((5 5), (5 5), (5 5))', 4326); +GO +~~START~~ +geometry +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((5 5), (5 5), (5 5))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-016: MultiPoint 2D — Alternate WKT (no inner parens) +SELECT geometry::STGeomFromText('MULTIPOINT(1 2, 3 4)', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT(1 2, 3 4)', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 2: MultiPoint 3D (XYZ) — Text Input +-- ============================================================================ +-- TC-MP-017: MultiPoint 3D — 2 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-018: MultiPoint 3D — 3 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9))', 4326); +GO +~~START~~ +geometry +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-019: MultiPoint 3D — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((10 20 30))', 4326); +GO +~~START~~ +geometry +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((10 20 30))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +-- TC-MP-020: MultiPoint 3D — 5 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9), (10 11 12), (13 14 15))', 4326); +GO +~~START~~ +geometry +E6100000010505000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C400000000000002040000000000000244000000000000026400000000000002A400000000000002C4000000000000008400000000000001840000000000000224000000000000028400000000000002E40050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9), (10 11 12), (13 14 15))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010505000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C400000000000002040000000000000244000000000000026400000000000002A400000000000002C4000000000000008400000000000001840000000000000224000000000000028400000000000002E40050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +~~END~~ + + +-- TC-MP-021: MultiPoint 3D — Negative Z +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 -3), (4 5 -6))', 4326); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 -3), (4 5 -6))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-022: MultiPoint 3D — Zero Z +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 0), (4 5 0))', 4326); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 0), (4 5 0))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-023: MultiPoint 3D — Partial Z (first has Z, second doesn't) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-024: MultiPoint 3D — Partial Z (first doesn't, second has Z) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-025: MultiPoint 3D — Partial Z (middle missing, 3 points) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5), (7 8 9))', 4326); +GO +~~START~~ +geometry +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5), (7 8 9))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-026: MultiPoint 3D — Decimal Z values +SELECT geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3), (4.4 5.5 6.6))', 4326); +GO +~~START~~ +geometry +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3), (4.4 5.5 6.6))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 3: MultiPoint 2DM (XYM) — Text Input +-- ============================================================================ +-- TC-MP-027: MultiPoint 2DM — 2 Points (Full M) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-028: MultiPoint 2DM — 3 Points (Full M) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 10), (3 4 NULL 20), (5 6 NULL 30))', 4326); +GO +~~START~~ +geometry +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 10), (3 4 NULL 20), (5 6 NULL 30))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-029: MultiPoint 2DM — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4))', 4326); +GO +~~START~~ +geometry +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +-- TC-MP-030: MultiPoint 2DM — Partial M (first has M, second doesn't) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6))', 4326); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-031: MultiPoint 2DM — Partial M (first doesn't, second has M) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (5 6 NULL 8))', 4326); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (5 6 NULL 8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-032: MultiPoint 2DM — Partial M (middle missing, 3 points) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6), (7 8 NULL 10))', 4326); +GO +~~START~~ +geometry +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6), (7 8 NULL 10))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-033: MultiPoint 2DM — Negative M values +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL -4), (5 6 NULL -8))', 4326); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL -4), (5 6 NULL -8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-034: MultiPoint 2DM — Zero M values +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 0), (5 6 NULL 0))', 4326); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 0), (5 6 NULL 0))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 4: MultiPoint 4D (XYZM) — Text Input +-- ============================================================================ +-- TC-MP-035: MultiPoint 4D — 2 Points (Full XYZM) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-036: MultiPoint 4D — 3 Points (Full XYZM) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12))', 4326); +GO +~~START~~ +geometry +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-037: MultiPoint 4D — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4))', 4326); +GO +~~START~~ +geometry +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +-- TC-MP-038: MultiPoint 4D — 5 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12), (13 14 15 16), (17 18 19 20))', 4326); +GO +~~START~~ +geometry +E6100000010705000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000002A400000000000002C400000000000003140000000000000324000000000000008400000000000001C4000000000000026400000000000002E40000000000000334000000000000010400000000000002040000000000000284000000000000030400000000000003440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12), (13 14 15 16), (17 18 19 20))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010705000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000002A400000000000002C400000000000003140000000000000324000000000000008400000000000001C4000000000000026400000000000002E40000000000000334000000000000010400000000000002040000000000000284000000000000030400000000000003440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +~~END~~ + + +-- TC-MP-039: MultiPoint 4D — Partial (Z on some, M on some) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7), (8 9))', 4326); +GO +~~START~~ +geometry +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7), (8 9))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-040: MultiPoint 4D — First has Z only, second has ZM +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 7 8))', 4326); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-041: MultiPoint 4D — First has M only, second has ZM +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-042: MultiPoint 4D — All partial (no point has full dims) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 NULL 8), (9 10))', 4326); +GO +~~START~~ +geometry +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 NULL 8), (9 10))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-043: MultiPoint 4D — Negative Z and M +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 -3 -4), (5 6 -7 -8))', 4326); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 -3 -4), (5 6 -7 -8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-044: MultiPoint 4D — Decimal Z and M +SELECT geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3 4.4), (5.5 6.6 7.7 8.8))', 4326); +GO +~~START~~ +geometry +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3 4.4), (5.5 6.6 7.7 8.8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 5: MultiPoint EMPTY +-- ============================================================================ +-- TC-MP-045: MultiPoint EMPTY — SRID 4326 +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326); +GO +~~START~~ +geometry +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- TC-MP-046: MultiPoint EMPTY — SRID 0 +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 0); +GO +~~START~~ +geometry +000000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 0) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +000000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 6: MultiPoint — SRID Variations +-- ============================================================================ +-- TC-MP-048: SRID 0 +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 0); +GO +~~START~~ +geometry +00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 0) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-049: SRID 4326 +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-050: SRID 4269 +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4269); +GO +~~START~~ +geometry +AD100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4269) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +AD100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-051: SRID 3857 +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 3857); +GO +~~START~~ +geometry +110F0000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 3857) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +110F0000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-052: Large SRID (999999) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 999999); +GO +~~START~~ +geometry +3F420F00010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 999999) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +3F420F00010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-053: SRID 1 (minimum non-zero) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 1); +GO +~~START~~ +geometry +01000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 1) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +01000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-054: SRID Out of Range — Negative (should ERROR) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', -1); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: SRID value should be between 0 and 999999)~~ + + +-- TC-MP-055: SRID Out of Range — Too Large (should ERROR) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 1000000); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: SRID value should be between 0 and 999999)~~ + + +-- TC-MP-056: SRID Out of Range — Very Large (should ERROR) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 99999999); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: SRID value should be between 0 and 999999)~~ + + + + +-- ============================================================================ +-- SECTION 7: MultiPoint — STAsText Output +-- ============================================================================ +-- TC-MP-057: STAsText — 2D, 2 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- TC-MP-058: STAsText — 2D, 3 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4),(5 6)) +~~END~~ + + +-- TC-MP-059: STAsText — 2D, Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((42 84))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((42 84)) +~~END~~ + + +-- TC-MP-060: STAsText — 3D (Z stripped) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(4 5)) +~~END~~ + + +-- TC-MP-061: STAsText — 4D (ZM stripped) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(5 6)) +~~END~~ + + +-- TC-MP-062: STAsText — 2DM (M stripped) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(5 6)) +~~END~~ + + +-- TC-MP-063: STAsText — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +~~END~~ + + +-- TC-MP-064: STAsText — Decimal Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1.5 2.7),(3.14159 4.00001)) +~~END~~ + + +-- TC-MP-065: STAsText — Negative Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((-1 -2),(-3 -4)) +~~END~~ + + +-- TC-MP-066: STAsText — Large Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((999999999 999999999), (-999999999 -999999999))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((999999999 999999999),(-999999999 -999999999)) +~~END~~ + + + + +-- ============================================================================ +-- SECTION 8: MultiPoint — STAsBinary Output +-- ============================================================================ +-- TC-MP-067: STAsBinary — 2D, 2 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +GO +~~START~~ +varbinary +0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000008400000000000001040 +~~END~~ + + +-- TC-MP-068: STAsBinary — 2D, 3 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326).STAsBinary(); +GO +~~START~~ +varbinary +0104000000030000000101000000000000000000F03F0000000000000040010100000000000000000008400000000000001040010100000000000000000014400000000000001840 +~~END~~ + + +-- TC-MP-069: STAsBinary — 3D (Z stripped in WKB) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326).STAsBinary(); +GO +~~START~~ +varbinary +0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000010400000000000001440 +~~END~~ + + +-- TC-MP-070: STAsBinary — 4D (ZM stripped in WKB) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326).STAsBinary(); +GO +~~START~~ +varbinary +0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +~~END~~ + + +-- TC-MP-071: STAsBinary — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STAsBinary(); +GO +~~START~~ +varbinary +010400000000000000 +~~END~~ + + +-- TC-MP-072: STAsBinary — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((42 84))', 4326).STAsBinary(); +GO +~~START~~ +varbinary +010400000001000000010100000000000000000045400000000000005540 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 9: MultiPoint — CAST to/from VARCHAR +-- ============================================================================ +-- TC-MP-073: CAST geometry to VARCHAR(MAX) +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(MAX)); +GO +~~START~~ +varchar +MULTIPOINT((1 2), (3 4)) +~~END~~ + + +-- TC-MP-074: CAST geometry to NVARCHAR(MAX) +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS NVARCHAR(MAX)); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2), (3 4)) +~~END~~ + + +-- TC-MP-075: CAST geometry to VARCHAR(100) — enough room +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(100)); +GO +~~START~~ +varchar +MULTIPOINT((1 2), (3 4)) +~~END~~ + + +-- TC-MP-076: CAST geometry to VARCHAR(5) — truncation +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(5)); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: There is insufficient result space to convert a geometry value to varchar/nvarchar.)~~ + + +-- TC-MP-077: CAST VARCHAR to geometry +SELECT CAST('MULTIPOINT((1 2), (3 4))' AS geometry); +GO +~~START~~ +geometry +00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-078: CAST NVARCHAR to geometry +SELECT CAST(N'MULTIPOINT((1 2), (3 4))' AS geometry); +GO +~~START~~ +geometry +00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-079: CAST empty MultiPoint string to geometry +SELECT CAST('MULTIPOINT EMPTY' AS geometry); +GO +~~START~~ +geometry +000000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- TC-MP-080: CAST 3D MultiPoint string to geometry +SELECT CAST('MULTIPOINT((1 2 3), (4 5 6))' AS geometry); +GO +~~START~~ +geometry +00000000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-081: CAST 4D MultiPoint string to geometry +SELECT CAST('MULTIPOINT((1 2 3 4), (5 6 7 8))' AS geometry); +GO +~~START~~ +geometry +00000000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-082: Implicit conversion via variable assignment +DECLARE @g geometry = 'MULTIPOINT((1 2), (3 4))'; +SELECT CAST(@g AS varbinary(max)); +GO +~~START~~ +varbinary +00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 10: MultiPoint — CAST to/from VARBINARY +-- ============================================================================ +-- TC-MP-083: CAST geometry to VARBINARY(MAX) +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +GO +~~START~~ +varbinary +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-084: CAST VARBINARY back to geometry — 2D +DECLARE @g084 geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +DECLARE @bin084 VARBINARY(MAX) = CAST(@g084 AS VARBINARY(MAX)); +SELECT CAST(@bin084 AS geometry).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- TC-MP-085: CAST VARBINARY back to geometry — 3D +DECLARE @g085 geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +DECLARE @bin085 VARBINARY(MAX) = CAST(@g085 AS VARBINARY(MAX)); +SELECT CAST(@bin085 AS geometry).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(4 5)) +~~END~~ + + +-- TC-MP-086: CAST VARBINARY back to geometry — 4D +DECLARE @g086 geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326); +DECLARE @bin086 VARBINARY(MAX) = CAST(@g086 AS VARBINARY(MAX)); +SELECT CAST(@bin086 AS geometry).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(5 6)) +~~END~~ + + +-- TC-MP-087: CAST VARBINARY back to geometry — Empty +DECLARE @g087 geometry = geometry::STGeomFromText('MULTIPOINT EMPTY', 4326); +DECLARE @bin087 VARBINARY(MAX) = CAST(@g087 AS VARBINARY(MAX)); +SELECT CAST(@bin087 AS geometry).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +~~END~~ + + + +-- TC-MP-088: CAST to VARBINARY(1) — truncation +DECLARE @g088 geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +SELECT CAST(@g088 AS VARBINARY(1)); +GO +~~START~~ +varbinary +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Error converting sys.geometry to binary. The result would be truncated.)~~ + + + + +-- ============================================================================ +-- SECTION 11: MultiPoint — Full Round-Trip Chains +-- ============================================================================ +-- TC-MP-089: WKT → geometry → VARBINARY → geometry → WKT (2D) +DECLARE @wkt089 VARCHAR(MAX) = 'MULTIPOINT((1 2), (3 4), (5 6))'; +DECLARE @g089a geometry = geometry::STGeomFromText(@wkt089, 4326); +DECLARE @bin089 VARBINARY(MAX) = CAST(@g089a AS VARBINARY(MAX)); +DECLARE @g089b geometry = CAST(@bin089 AS geometry); +SELECT @g089b.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4),(5 6)) +~~END~~ + + +-- TC-MP-090: WKT → geometry → WKB → geometry → WKT (2D) +DECLARE @wkt090 VARCHAR(MAX) = 'MULTIPOINT((1 2), (3 4))'; +DECLARE @g090a geometry = geometry::STGeomFromText(@wkt090, 4326); +DECLARE @wkb090 VARBINARY(MAX) = @g090a.STAsBinary(); +DECLARE @g090b geometry = geometry::STGeomFromWKB(@wkb090, 4326); +SELECT @g090b.STAsText(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Could not find method 'STGeomFromWKB' for type geometry.)~~ + + +-- TC-MP-091: Double round-trip WKT → geom → WKT → geom → WKT +DECLARE @wkt091a VARCHAR(MAX) = 'MULTIPOINT((1.5 2.5), (3.5 4.5))'; +DECLARE @g091a geometry = geometry::STGeomFromText(@wkt091a, 4326); +DECLARE @wkt091b VARCHAR(MAX) = @g091a.STAsText(); +DECLARE @g091b geometry = geometry::STGeomFromText(@wkt091b, 4326); +DECLARE @wkt091c VARCHAR(MAX) = @g091b.STAsText(); +SELECT @wkt091b, @wkt091c; +GO +~~START~~ +varchar#!#varchar +MULTIPOINT((1.5 2.5),(3.5 4.5))#!#MULTIPOINT((1.5 2.5),(3.5 4.5)) +~~END~~ + + + +-- TC-MP-092: Double round-trip VARBINARY → geom → VARBINARY → geom → VARBINARY +DECLARE @g092a geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +DECLARE @bin092a VARBINARY(MAX) = CAST(@g092a AS VARBINARY(MAX)); +DECLARE @g092b geometry = CAST(@bin092a AS geometry); +DECLARE @bin092b VARBINARY(MAX) = CAST(@g092b AS VARBINARY(MAX)); +DECLARE @g092c geometry = CAST(@bin092b AS geometry); +DECLARE @bin092c VARBINARY(MAX) = CAST(@g092c AS VARBINARY(MAX)); +SELECT @bin092a, @bin092b, @bin092c; +GO +~~START~~ +varbinary#!#varbinary#!#varbinary +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-093: WKT → geom → VARBINARY → geom → WKB → geom → WKT +DECLARE @wkt093 VARCHAR(MAX) = 'MULTIPOINT((10 20), (30 40))'; +DECLARE @g093a geometry = geometry::STGeomFromText(@wkt093, 4326); +DECLARE @bin093 VARBINARY(MAX) = CAST(@g093a AS VARBINARY(MAX)); +DECLARE @g093b geometry = CAST(@bin093 AS geometry); +DECLARE @wkb093 VARBINARY(MAX) = @g093b.STAsBinary(); +DECLARE @g093c geometry = geometry::STGeomFromWKB(@wkb093, 4326); +SELECT @g093c.STAsText(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Could not find method 'STGeomFromWKB' for type geometry.)~~ + + +-- TC-MP-094: Round-trip 3D — Verify Z preserved through internal binary +DECLARE @g094a geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +DECLARE @bin094 VARBINARY(MAX) = CAST(@g094a AS VARBINARY(MAX)); +DECLARE @g094b geometry = CAST(@bin094 AS geometry); +DECLARE @bin094b VARBINARY(MAX) = CAST(@g094b AS VARBINARY(MAX)); +SELECT @bin094, @bin094b; +GO +~~START~~ +varbinary#!#varbinary +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-095: Round-trip 4D — Verify ZM preserved through internal binary +DECLARE @g095a geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326); +DECLARE @bin095 VARBINARY(MAX) = CAST(@g095a AS VARBINARY(MAX)); +DECLARE @g095b geometry = CAST(@bin095 AS geometry); +DECLARE @bin095b VARBINARY(MAX) = CAST(@g095b AS VARBINARY(MAX)); +SELECT @bin095, @bin095b; +GO +~~START~~ +varbinary#!#varbinary +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-096: Round-trip Empty +DECLARE @g096a geometry = geometry::STGeomFromText('MULTIPOINT EMPTY', 4326); +DECLARE @bin096 VARBINARY(MAX) = CAST(@g096a AS VARBINARY(MAX)); +DECLARE @g096b geometry = CAST(@bin096 AS geometry); +SELECT @g096b.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +~~END~~ + + +-- TC-MP-097: Round-trip — SRID preservation +DECLARE @g097a geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +DECLARE @bin097 VARBINARY(MAX) = CAST(@g097a AS VARBINARY(MAX)); +DECLARE @g097b geometry = CAST(@bin097 AS geometry); +SELECT @g097a.STSrid, @g097b.STSrid; +GO +~~START~~ +int#!#int +4326#!#4326 +~~END~~ + + +-- TC-MP-098: Round-trip — SRID 0 preservation +DECLARE @g098a geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 0); +DECLARE @bin098 VARBINARY(MAX) = CAST(@g098a AS VARBINARY(MAX)); +DECLARE @g098b geometry = CAST(@bin098 AS geometry); +SELECT @g098a.STSrid, @g098b.STSrid; +GO +~~START~~ +int#!#int +0#!#0 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 12: MultiPoint — STMPointFromText / STMPointFromWKB +-- ============================================================================ +-- TC-MP-099: STMPointFromText — Basic 2D +SELECT geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-100: STMPointFromText — 3D +SELECT geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-101: STMPointFromText — 4D +SELECT geometry::STMPointFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STMPointFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-102: STMPointFromText — Empty +SELECT geometry::STMPointFromText('MULTIPOINT EMPTY', 4326); +GO +~~START~~ +geometry +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +SELECT CAST(CAST(geometry::STMPointFromText('MULTIPOINT EMPTY', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- TC-MP-103: STMPointFromText — Wrong geometry type LINESTRING (should ERROR) +SELECT geometry::STMPointFromText('LINESTRING(1 2, 3 4)', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has LINESTRING(1 2, 3 4)s)~~ + + +-- TC-MP-104: STMPointFromText — Wrong geometry type POINT (should ERROR) +SELECT geometry::STMPointFromText('POINT(1 2)', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has POINT(1 2)s)~~ + + +-- TC-MP-105: STMPointFromText — Wrong geometry type POLYGON (should ERROR) +SELECT geometry::STMPointFromText('POLYGON((0 0, 1 0, 1 1, 0 0))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has POLYGON((0 0, 1 0, 1 1, 0 0))s)~~ + + +-- TC-MP-106: STMPointFromText — NULL input +SELECT geometry::STMPointFromText(NULL, 4326); +GO +~~START~~ +geometry + +~~END~~ + + +-- TC-MP-107: STMPointFromWKB — Basic +DECLARE @wkb107 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STMPointFromWKB(@wkb107, 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- TC-MP-108: STMPointFromWKB — Wrong type binary (should ERROR) +DECLARE @wkb108 VARBINARY(MAX) = geometry::STGeomFromText('LINESTRING(1 2, 3 4)', 4326).STAsBinary(); +SELECT geometry::STMPointFromWKB(@wkb108, 4326); +GO +~~START~~ +geometry +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has ST_LineStrings)~~ + + +-- TC-MP-109: STMPointFromWKB — NULL +SELECT geometry::STMPointFromWKB(NULL, 4326); +GO +~~START~~ +geometry + +~~END~~ + + + + +-- ============================================================================ +-- SECTION 13: MultiPoint — Parse / Direct Assignment +-- ============================================================================ +-- TC-MP-110: geometry::Parse — 2D +SELECT geometry::Parse('MULTIPOINT((1 2), (3 4))'); +GO +~~START~~ +geometry +00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::Parse('MULTIPOINT((1 2), (3 4))') AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-111: geometry::Parse — 3D +SELECT geometry::Parse('MULTIPOINT((1 2 3), (4 5 6))'); +GO +~~START~~ +geometry +00000000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::Parse('MULTIPOINT((1 2 3), (4 5 6))') AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +00000000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-112: geometry::Parse — 4D +SELECT geometry::Parse('MULTIPOINT((1 2 3 4), (5 6 7 8))'); +GO +~~START~~ +geometry +00000000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-113: geometry::Parse — Empty +SELECT geometry::Parse('MULTIPOINT EMPTY'); +GO +~~START~~ +geometry +000000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +SELECT CAST(CAST(geometry::Parse('MULTIPOINT EMPTY') AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +000000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- TC-MP-114: Direct string assignment to variable +DECLARE @g114 geometry; +SET @g114 = 'MULTIPOINT((1 2), (3 4))'; +SELECT @g114.STAsText(); +SELECT CAST(@g114 AS varbinary(max)); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + +~~START~~ +varbinary +00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 14: MultiPoint — STGeomFromWKB +-- ============================================================================ +-- TC-MP-115: STGeomFromWKB — 2D +DECLARE @wkb115 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb115, 4326).STAsText(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Could not find method 'STGeomFromWKB' for type geometry.)~~ + + +-- TC-MP-116: STGeomFromWKB — 3D (note: WKB is 2D, Z lost) +DECLARE @g116 geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +DECLARE @wkb116 VARBINARY(MAX) = @g116.STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb116, 4326).STAsText(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Could not find method 'STGeomFromWKB' for type geometry.)~~ + + +-- TC-MP-117: STGeomFromWKB — Empty +DECLARE @wkb117 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb117, 4326).STAsText(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Could not find method 'STGeomFromWKB' for type geometry.)~~ + + +-- TC-MP-118: STGeomFromWKB — NULL +SELECT geometry::STGeomFromWKB(NULL, 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Could not find method 'STGeomFromWKB' for type geometry.)~~ + + +-- TC-MP-119: STGeomFromWKB — SRID preservation +DECLARE @wkb119 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb119, 4326).STSrid; +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Could not find method 'STGeomFromWKB' for type geometry.)~~ + + +-- TC-MP-120: STGeomFromWKB — Different SRID +DECLARE @wkb120 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb120, 0).STSrid; +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Could not find method 'STGeomFromWKB' for type geometry.)~~ + + + + +-- ============================================================================ +-- SECTION 15: MultiPoint — Case Insensitivity in WKT +-- ============================================================================ +-- TC-MP-121: lowercase +SELECT geometry::STGeomFromText('multipoint((1 2), (3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('multipoint((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-122: UPPERCASE +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-123: MixedCase +SELECT geometry::STGeomFromText('Multipoint((1 2), (3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('Multipoint((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-124: Random case +SELECT geometry::STGeomFromText('MuLtIpOiNt((1 2), (3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MuLtIpOiNt((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-125: Verify all cases produce same binary +DECLARE @bin_lower VARBINARY(MAX) = CAST(geometry::STGeomFromText('multipoint((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +DECLARE @bin_upper VARBINARY(MAX) = CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +DECLARE @bin_mixed VARBINARY(MAX) = CAST(geometry::STGeomFromText('Multipoint((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +SELECT @bin_lower, @bin_upper, @bin_mixed; +GO +~~START~~ +varbinary#!#varbinary#!#varbinary +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 16: MultiPoint — Whitespace Handling in WKT +-- ============================================================================ +-- TC-MP-126: Extra whitespace everywhere +SELECT geometry::STGeomFromText(' MULTIPOINT ( ( 1 2 ) , ( 3 4 ) ) ', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText(' MULTIPOINT ( ( 1 2 ) , ( 3 4 ) ) ', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-127: Tab characters +SELECT geometry::STGeomFromText('MULTIPOINT ((1 2), (3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-128: Newline characters +SELECT geometry::STGeomFromText('MULTIPOINT((1 2),(3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-129: No spaces +SELECT geometry::STGeomFromText('MULTIPOINT((1 2),(3 4))', 4326); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2),(3 4))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-130: Verify whitespace variations produce same binary +DECLARE @bin_normal VARBINARY(MAX) = CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +DECLARE @bin_extra VARBINARY(MAX) = CAST(geometry::STGeomFromText(' MULTIPOINT ( ( 1 2 ) , ( 3 4 ) ) ', 4326) AS VARBINARY(MAX)); +DECLARE @bin_tight VARBINARY(MAX) = CAST(geometry::STGeomFromText('MULTIPOINT((1 2),(3 4))', 4326) AS VARBINARY(MAX)); +SELECT @bin_normal, @bin_extra, @bin_tight; +GO +~~START~~ +varbinary#!#varbinary#!#varbinary +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 17: MultiPoint — WKT Error Cases (Negative Tests) +-- ============================================================================ +-- TC-MP-131: Missing closing parenthesis +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4)', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-132: Missing opening parenthesis +SELECT geometry::STGeomFromText('MULTIPOINT(1 2), (3 4))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-133: Extra comma at end +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4),)', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-134: Extra comma at beginning +SELECT geometry::STGeomFromText('MULTIPOINT(,(1 2), (3 4))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-135: Double comma +SELECT geometry::STGeomFromText('MULTIPOINT((1 2),, (3 4))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-136: Empty inner parentheses +SELECT geometry::STGeomFromText('MULTIPOINT(())', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-137: Letters in coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((abc def), (3 4))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-138: Only one coordinate per point +SELECT geometry::STGeomFromText('MULTIPOINT((1), (3))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-139: Too many coordinates per point (5D — beyond XYZM) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4 5), (6 7 8 9 10))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-140: NULL WKT +SELECT geometry::STGeomFromText(NULL, 4326); +GO +~~START~~ +geometry + +~~END~~ + + +-- TC-MP-141: NULL SRID +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', NULL); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'geometry::STGeomFromText' failed because parameter 2 is not allowed to be null.)~~ + + +-- TC-MP-142: Empty string WKT +SELECT geometry::STGeomFromText('', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid input: string is empty or contains only whitespace characters)~~ + + +-- TC-MP-143: Typo in type name +SELECT geometry::STGeomFromText('MULTPOINT((1 2), (3 4))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-144: Wrong type keyword +SELECT geometry::STGeomFromText('MULTILINESTRING((1 2), (3 4))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: MULTILINESTRING is not supported)~~ + + +-- TC-MP-145: Special characters in WKT +SELECT geometry::STGeomFromText('MULTIPOINT((1 2); (3 4))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-146: Completely invalid string +SELECT geometry::STGeomFromText('hello world', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-147: Just the keyword +SELECT geometry::STGeomFromText('MULTIPOINT', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-148: Empty parentheses only +SELECT geometry::STGeomFromText('MULTIPOINT()', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + + + +-- ============================================================================ +-- SECTION 18: MultiPoint — Geography Type +-- ============================================================================ +-- TC-MP-149: Geography MultiPoint — Basic 2D, 2 Points +SELECT geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326) AS varbinary(max)) AS geography); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-150: Geography MultiPoint — 3 Points +SELECT geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326); +GO +~~START~~ +geography +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326) AS varbinary(max)) AS geography); +GO +~~START~~ +geography +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-151: Geography MultiPoint — Single Point +SELECT geography::STGeomFromText('MULTIPOINT((45 90))', 4326); +GO +~~START~~ +geography +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90))', 4326) AS varbinary(max)) AS geography); +GO +~~START~~ +geography +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +~~END~~ + + +-- TC-MP-152: Geography MultiPoint — 5 Points +SELECT geography::STGeomFromText('MULTIPOINT((0 0), (10 20), (30 40), (50 60), (70 80))', 4326); +GO +~~START~~ +geography +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +~~END~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((0 0), (10 20), (30 40), (50 60), (70 80))', 4326) AS varbinary(max)) AS geography); +GO +~~START~~ +geography +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +~~END~~ + + +-- TC-MP-153: Geography MultiPoint EMPTY +SELECT geography::STGeomFromText('MULTIPOINT EMPTY', 4326); +GO +~~START~~ +geography +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT EMPTY', 4326) AS varbinary(max)) AS geography); +GO +~~START~~ +geography +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- TC-MP-154: Geography MultiPoint — 3D (Z) +SELECT geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326) AS varbinary(max)) AS geography); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-155: Geography MultiPoint — 4D (ZM) +SELECT geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326) AS varbinary(max)) AS geography); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-156: Geography MultiPoint — 2DM +SELECT geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326) AS varbinary(max)) AS geography); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-157: Geography MultiPoint — STAsText +SELECT geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326).STAsText(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- Expected: MULTIPOINT ((45 90), (50 100)) +-- TC-MP-158: Geography MultiPoint — STAsBinary +SELECT geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326).STAsBinary(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-159: Geography MultiPoint — Longitude > 180 but < 15069 (valid) +SELECT geography::STGeomFromText('MULTIPOINT((181 0), (200 45))', 4326); +GO +~~START~~ +geography +E610000001040200000000000000000000000000000000A0664000000000008046400000000000006940020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((181 0), (200 45))', 4326) AS varbinary(max)) AS geography); +GO +~~START~~ +geography +E610000001040200000000000000000000000000000000A0664000000000008046400000000000006940020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-160: Geography MultiPoint — Boundary values +SELECT geography::STGeomFromText('MULTIPOINT((90 0), (-90 0))', 4326); +GO +~~START~~ +geography +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((90 0), (-90 0))', 4326) AS varbinary(max)) AS geography); +GO +~~START~~ +geography +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-161: Geography MultiPoint — Max longitude boundary +SELECT geography::STGeomFromText('MULTIPOINT((15069 45), (-15069 45))', 4326); +GO +~~START~~ +geography +E6100000010402000000000000000080464000000000806ECD40000000000080464000000000806ECDC0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((15069 45), (-15069 45))', 4326) AS varbinary(max)) AS geography); +GO +~~START~~ +geography +E6100000010402000000000000000080464000000000806ECD40000000000080464000000000806ECDC0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-162: Geography MultiPoint — Negative coordinates +SELECT geography::STGeomFromText('MULTIPOINT((-45 -90), (-50 -100))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((-45 -90), (-50 -100))', 4326) AS varbinary(max)) AS geography); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-163: Geography MultiPoint — Zero coordinates +SELECT geography::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326); +GO +~~START~~ +geography +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326) AS varbinary(max)) AS geography); +GO +~~START~~ +geography +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + + + +-- ============================================================================ +-- SECTION 19: Geography MultiPoint — Lat/Lon Validation (Negative Tests) +-- ============================================================================ +-- TC-MP-164: Latitude overflow (>90) — first point +SELECT geography::STGeomFromText('MULTIPOINT((91 0), (1 2))', 4326); +GO +~~START~~ +geography +E610000001040200000000000000000000000000000000C056400000000000000040000000000000F03F020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-165: Latitude negative overflow (<-90) — first point +SELECT geography::STGeomFromText('MULTIPOINT((-91 0), (1 2))', 4326); +GO +~~START~~ +geography +E610000001040200000000000000000000000000000000C056C00000000000000040000000000000F03F020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-166: Latitude overflow — second point +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (91 0))', 4326); +GO +~~START~~ +geography +E61000000104020000000000000000000040000000000000F03F00000000000000000000000000C05640020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-167: Latitude overflow — middle point (3 points) +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (91 0), (3 4))', 4326); +GO +~~START~~ +geography +E61000000104030000000000000000000040000000000000F03F00000000000000000000000000C05640000000000000104000000000000008400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-168: Latitude overflow — last point (3 points) +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (3 4), (91 0))', 4326); +GO +~~START~~ +geography +E61000000104030000000000000000000040000000000000F03F0000000000001040000000000000084000000000000000000000000000C056400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +-- TC-MP-169: Longitude overflow (>15069) — first point +SELECT geography::STGeomFromText('MULTIPOINT((20000 45), (1 2))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Longitude values must be between -15069 and 15069 degrees)~~ + + +-- TC-MP-170: Longitude negative overflow (<-15069) — first point +SELECT geography::STGeomFromText('MULTIPOINT((-20000 45), (1 2))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Longitude values must be between -15069 and 15069 degrees)~~ + + +-- TC-MP-171: Longitude overflow — second point +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (20000 45))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Longitude values must be between -15069 and 15069 degrees)~~ + + +-- TC-MP-172: Longitude overflow — middle point +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (20000 45), (3 4))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Longitude values must be between -15069 and 15069 degrees)~~ + + +-- TC-MP-173: STMPointFromText — NULL SRID (should ERROR) +SELECT geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', NULL); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'geometry::STMPointFromText' failed because parameter 2 is not allowed to be null.)~~ + + +DECLARE @wkb VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STMPointFromWKB(@wkb, NULL); +GO +~~START~~ +geometry +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'geometry::STMPointFromWKB' failed because parameter 2 is not allowed to be null.)~~ + + +-- TC-MP-175: Geography STMPointFromText — Basic +SELECT geography::STMPointFromText('MULTIPOINT((45 90), (50 100))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +SELECT CAST(CAST(geography::STMPointFromText('MULTIPOINT((45 90), (50 100))', 4326) AS varbinary(max)) AS geography); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-176: Geography STMPointFromText — Empty +SELECT geography::STMPointFromText('MULTIPOINT EMPTY', 4326); +GO +~~START~~ +geography +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- TC-MP-177: Geography STMPointFromText — Wrong type (should ERROR) +SELECT geography::STMPointFromText('POINT(45 90)', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has POINT(45 90)s)~~ + + +-- TC-MP-178: Geography STMPointFromText — NULL input +SELECT geography::STMPointFromText(NULL, 4326); +GO +~~START~~ +geography + +~~END~~ + + +-- TC-MP-179: Geography STMPointFromText — NULL SRID (should ERROR) +SELECT geography::STMPointFromText('MULTIPOINT((45 90), (50 100))', NULL); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'geography::STMPointFromText' failed because parameter 2 is not allowed to be null.)~~ + + +-- TC-MP-180: Geography STMPointFromWKB — Basic +DECLARE @wkb180 VARBINARY(MAX) = geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326).STAsBinary(); +SELECT geography::STMPointFromWKB(@wkb180, 4326).STAsText(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-181: Geography STMPointFromWKB — Wrong type (should ERROR) +DECLARE @wkb181 VARBINARY(MAX) = geography::STGeomFromText('LINESTRING(45 90, 50 100)', 4326).STAsBinary(); +SELECT geography::STMPointFromWKB(@wkb181, 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-182: Geography STMPointFromWKB — NULL input +SELECT geography::STMPointFromWKB(NULL, 4326); +GO +~~START~~ +geography + +~~END~~ + + +-- TC-MP-183: STNumPoints — 2 points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STNumPoints(); +GO +~~START~~ +int +2 +~~END~~ + + +-- TC-MP-184: STNumPoints — 5 points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6), (7 8), (9 10))', 4326).STNumPoints(); +GO +~~START~~ +int +5 +~~END~~ + + +-- TC-MP-185: STNumPoints — Single point +SELECT geometry::STGeomFromText('MULTIPOINT((1 2))', 4326).STNumPoints(); +GO +~~START~~ +int +1 +~~END~~ + + +-- TC-MP-186: STNumPoints — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STNumPoints(); +GO +~~START~~ +int +0 +~~END~~ + + +-- TC-MP-187: STGeometryType — 2D +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STGeometryType(); +GO +~~START~~ +nvarchar +MultiPoint +~~END~~ + + +-- TC-MP-188: STGeometryType — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STGeometryType(); +GO +~~START~~ +nvarchar +MultiPoint +~~END~~ + + +-- TC-MP-189: STGeometryType — Geography +SELECT geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326).STGeometryType(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- TC-MP-190: STIsEmpty — Not empty +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STIsEmpty(); +GO +~~START~~ +bit +0 +~~END~~ + + +-- TC-MP-191: STIsEmpty — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STIsEmpty(); +GO +~~START~~ +bit +1 +~~END~~ + + +-- TC-MP-192: STIsValid — Valid multipoint +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STIsValid(); +GO +~~START~~ +bit +1 +~~END~~ + + +-- TC-MP-193: STIsValid — Empty (still valid) +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STIsValid(); +GO +~~START~~ +bit +1 +~~END~~ + + +-- TC-MP-208: MULTIPOINT Z syntax +SELECT geometry::STGeomFromText('MULTIPOINT Z((1 2 3), (4 5 6))', 4326); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT Z((1 2 3), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-209: MULTIPOINT M syntax +SELECT geometry::STGeomFromText('MULTIPOINT M((1 2 3), (4 5 6))', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: parse error - invalid geometry)~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT M((1 2 3), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: parse error - invalid geometry)~~ + + +-- TC-MP-210: MULTIPOINT ZM syntax +SELECT geometry::STGeomFromText('MULTIPOINT ZM((1 2 3 4), (5 6 7 8))', 4326); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT ZM((1 2 3 4), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- TC-MP-211: MULTIPOINT Z EMPTY +SELECT geometry::STGeomFromText('MULTIPOINT Z EMPTY', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-212: MULTIPOINT M EMPTY +SELECT geometry::STGeomFromText('MULTIPOINT M EMPTY', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-213: MULTIPOINT ZM EMPTY +SELECT geometry::STGeomFromText('MULTIPOINT ZM EMPTY', 4326); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- TC-MP-214: MULTIPOINT Z without inner parens +SELECT geometry::STGeomFromText('MULTIPOINT Z(1 2 3, 4 5 6)', 4326); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT Z(1 2 3, 4 5 6)', 4326) AS varbinary(max)) AS geometry); +GO +~~START~~ +geometry +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- Verify STAsText output +SELECT * FROM TextFromGeometrymultipoint; +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +MULTIPOINT((1 2),(3 4),(5 6)) +MULTIPOINT((0 0),(1 1),(2 2),(3 3)) +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5)) +MULTIPOINT((1 2)) +MULTIPOINT((-1 -2),(-3 -4)) +MULTIPOINT((-1 2),(3 -4),(0 0)) +MULTIPOINT((1.5 2.7),(3.14159 4.00001)) +MULTIPOINT((999999999 999999999),(-999999999 -999999999)) +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002)) +MULTIPOINT((0 0),(0 0)) +MULTIPOINT((1 2),(1 2)) +MULTIPOINT((5 5),(5 5),(5 5)) +MULTIPOINT((1 2),(3 4)) +MULTIPOINT((1 2),(4 5)) +MULTIPOINT((1 2),(4 5),(7 8)) +MULTIPOINT((10 20)) +MULTIPOINT((1 2),(4 5)) +MULTIPOINT((1 2),(4 5)) +MULTIPOINT((1.1 2.2),(4.4 5.5)) +MULTIPOINT((1 2),(4 5)) +MULTIPOINT((1 2),(4 5)) +MULTIPOINT((1 2),(4 5),(7 8)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(3 4),(5 6)) +MULTIPOINT((1 2)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(5 6),(7 8)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(5 6),(9 10)) +MULTIPOINT((1 2)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1.1 2.2),(5.5 6.6)) +MULTIPOINT((1 2),(5 6),(8 9)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(5 6),(9 10)) +MULTIPOINT EMPTY +~~END~~ + + +-- Verify STDimension (should be 0 for points) +SELECT * FROM DimOfGeometrymultipoint; +GO +~~START~~ +nvarchar#!#int +MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT EMPTY#!#-1 +~~END~~ + + +-- Verify STNumPoints +SELECT * FROM NumPointsOfGeometrymultipoint; +GO +~~START~~ +nvarchar#!#int +MULTIPOINT((1 2),(3 4))#!#2 +MULTIPOINT((1 2),(3 4),(5 6))#!#3 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#4 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#5 +MULTIPOINT((1 2))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#2 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#3 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#2 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#2 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2 +MULTIPOINT((0 0),(0 0))#!#2 +MULTIPOINT((1 2),(1 2))#!#2 +MULTIPOINT((5 5),(5 5),(5 5))#!#3 +MULTIPOINT((1 2),(3 4))#!#2 +MULTIPOINT((1 2),(4 5))#!#2 +MULTIPOINT((1 2),(4 5),(7 8))#!#3 +MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(4 5))#!#2 +MULTIPOINT((1 2),(4 5))#!#2 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#2 +MULTIPOINT((1 2),(4 5))#!#2 +MULTIPOINT((1 2),(4 5))#!#2 +MULTIPOINT((1 2),(4 5),(7 8))#!#3 +MULTIPOINT((1 2),(5 6))#!#2 +MULTIPOINT((1 2),(3 4),(5 6))#!#3 +MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#2 +MULTIPOINT((1 2),(5 6))#!#2 +MULTIPOINT((1 2),(5 6))#!#2 +MULTIPOINT((1 2),(5 6))#!#2 +MULTIPOINT((1 2),(5 6),(7 8))#!#3 +MULTIPOINT((1 2),(5 6))#!#2 +MULTIPOINT((1 2),(5 6),(9 10))#!#3 +MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#2 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#2 +MULTIPOINT((1 2),(5 6),(8 9))#!#3 +MULTIPOINT((1 2),(5 6))#!#2 +MULTIPOINT((1 2),(5 6))#!#2 +MULTIPOINT((1 2),(5 6),(9 10))#!#3 +MULTIPOINT EMPTY#!#0 +~~END~~ + + +-- Verify STAsBinary +SELECT * FROM BinaryFromGeometrymultipoint; +GO +~~START~~ +nvarchar#!#varbinary +MULTIPOINT((1 2),(3 4))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000008400000000000001040 +MULTIPOINT((1 2),(3 4),(5 6))#!#0104000000030000000101000000000000000000F03F0000000000000040010100000000000000000008400000000000001040010100000000000000000014400000000000001840 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0104000000040000000101000000000000000000000000000000000000000101000000000000000000F03F000000000000F03F010100000000000000000000400000000000000040010100000000000000000008400000000000000840 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#010400000005000000010100000000000000000000000000000000000000010100000000000000000024400000000000000000010100000000000000000024400000000000002440010100000000000000000000000000000000002440010100000000000000000014400000000000001440 +MULTIPOINT((1 2))#!#0104000000010000000101000000000000000000F03F0000000000000040 +MULTIPOINT((-1 -2),(-3 -4))#!#0104000000020000000101000000000000000000F0BF00000000000000C0010100000000000000000008C000000000000010C0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#0104000000030000000101000000000000000000F0BF00000000000000400101000000000000000000084000000000000010C0010100000000000000000000000000000000000000 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0104000000020000000101000000000000000000F83F9A9999999999054001010000006E861BF0F92109401CB1169F02001040 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0104000000020000000101000000000080FF64CDCD41000080FF64CDCD410101000000000080FF64CDCDC1000080FF64CDCDC1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#01040000000200000001010000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E01010000008DEDB5A0F7C6C03E8DEDB5A0F7C6C03E +MULTIPOINT((0 0),(0 0))#!#010400000002000000010100000000000000000000000000000000000000010100000000000000000000000000000000000000 +MULTIPOINT((1 2),(1 2))#!#0104000000020000000101000000000000000000F03F00000000000000400101000000000000000000F03F0000000000000040 +MULTIPOINT((5 5),(5 5),(5 5))#!#010400000003000000010100000000000000000014400000000000001440010100000000000000000014400000000000001440010100000000000000000014400000000000001440 +MULTIPOINT((1 2),(3 4))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000008400000000000001040 +MULTIPOINT((1 2),(4 5))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000010400000000000001440 +MULTIPOINT((1 2),(4 5),(7 8))#!#0104000000030000000101000000000000000000F03F000000000000004001010000000000000000001040000000000000144001010000000000000000001C400000000000002040 +MULTIPOINT((10 20))#!#010400000001000000010100000000000000000024400000000000003440 +MULTIPOINT((1 2),(4 5))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000010400000000000001440 +MULTIPOINT((1 2),(4 5))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000010400000000000001440 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#01040000000200000001010000009A9999999999F13F9A9999999999014001010000009A999999999911400000000000001640 +MULTIPOINT((1 2),(4 5))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000010400000000000001440 +MULTIPOINT((1 2),(4 5))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000010400000000000001440 +MULTIPOINT((1 2),(4 5),(7 8))#!#0104000000030000000101000000000000000000F03F000000000000004001010000000000000000001040000000000000144001010000000000000000001C400000000000002040 +MULTIPOINT((1 2),(5 6))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +MULTIPOINT((1 2),(3 4),(5 6))#!#0104000000030000000101000000000000000000F03F0000000000000040010100000000000000000008400000000000001040010100000000000000000014400000000000001840 +MULTIPOINT((1 2))#!#0104000000010000000101000000000000000000F03F0000000000000040 +MULTIPOINT((1 2),(5 6))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +MULTIPOINT((1 2),(5 6))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +MULTIPOINT((1 2),(5 6))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +MULTIPOINT((1 2),(5 6))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +MULTIPOINT((1 2),(5 6),(7 8))#!#0104000000030000000101000000000000000000F03F000000000000004001010000000000000000001440000000000000184001010000000000000000001C400000000000002040 +MULTIPOINT((1 2),(5 6))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +MULTIPOINT((1 2),(5 6),(9 10))#!#0104000000030000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840010100000000000000000022400000000000002440 +MULTIPOINT((1 2))#!#0104000000010000000101000000000000000000F03F0000000000000040 +MULTIPOINT((1 2),(5 6))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#01040000000200000001010000009A9999999999F13F9A99999999990140010100000000000000000016406666666666661A40 +MULTIPOINT((1 2),(5 6),(8 9))#!#0104000000030000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840010100000000000000000020400000000000002240 +MULTIPOINT((1 2),(5 6))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +MULTIPOINT((1 2),(5 6))#!#0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840 +MULTIPOINT((1 2),(5 6),(9 10))#!#0104000000030000000101000000000000000000F03F0000000000000040010100000000000000000014400000000000001840010100000000000000000022400000000000002440 +MULTIPOINT EMPTY#!#010400000000000000 +~~END~~ + + +-- Verify STSrid +SELECT * FROM SridFromGeometrymultipoint; +GO +~~START~~ +nvarchar#!#int +MULTIPOINT((1 2),(3 4))#!#4326 +MULTIPOINT((1 2),(3 4),(5 6))#!#4326 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#4326 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#4326 +MULTIPOINT((1 2))#!#4326 +MULTIPOINT((-1 -2),(-3 -4))#!#4326 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#4326 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#4326 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#4326 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#4326 +MULTIPOINT((0 0),(0 0))#!#4326 +MULTIPOINT((1 2),(1 2))#!#4326 +MULTIPOINT((5 5),(5 5),(5 5))#!#4326 +MULTIPOINT((1 2),(3 4))#!#4326 +MULTIPOINT((1 2),(4 5))#!#4326 +MULTIPOINT((1 2),(4 5),(7 8))#!#4326 +MULTIPOINT((10 20))#!#4326 +MULTIPOINT((1 2),(4 5))#!#4326 +MULTIPOINT((1 2),(4 5))#!#4326 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#4326 +MULTIPOINT((1 2),(4 5))#!#4326 +MULTIPOINT((1 2),(4 5))#!#4326 +MULTIPOINT((1 2),(4 5),(7 8))#!#4326 +MULTIPOINT((1 2),(5 6))#!#4326 +MULTIPOINT((1 2),(3 4),(5 6))#!#4326 +MULTIPOINT((1 2))#!#4326 +MULTIPOINT((1 2),(5 6))#!#4326 +MULTIPOINT((1 2),(5 6))#!#4326 +MULTIPOINT((1 2),(5 6))#!#4326 +MULTIPOINT((1 2),(5 6))#!#4326 +MULTIPOINT((1 2),(5 6),(7 8))#!#4326 +MULTIPOINT((1 2),(5 6))#!#4326 +MULTIPOINT((1 2),(5 6),(9 10))#!#4326 +MULTIPOINT((1 2))#!#4326 +MULTIPOINT((1 2),(5 6))#!#4326 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#4326 +MULTIPOINT((1 2),(5 6),(8 9))#!#4326 +MULTIPOINT((1 2),(5 6))#!#4326 +MULTIPOINT((1 2),(5 6))#!#4326 +MULTIPOINT((1 2),(5 6),(9 10))#!#4326 +MULTIPOINT EMPTY#!#4326 +~~END~~ + + +-- Verify STIsEmpty +SELECT * FROM EmptyGeometrymultipoint; +GO +~~START~~ +nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT EMPTY#!#1 +~~END~~ + + +-- Verify STIsValid +SELECT * FROM ValidGeometrymultipoint; +GO +~~START~~ +nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT EMPTY#!#1 +~~END~~ + + +-- Verify STGeometryType +SELECT * FROM GeomTypeOfGeometrymultipoint; +GO +~~START~~ +nvarchar#!#nvarchar +MULTIPOINT((1 2),(3 4))#!#MultiPoint +MULTIPOINT((1 2),(3 4),(5 6))#!#MultiPoint +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MultiPoint +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MultiPoint +MULTIPOINT((1 2))#!#MultiPoint +MULTIPOINT((-1 -2),(-3 -4))#!#MultiPoint +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MultiPoint +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MultiPoint +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MultiPoint +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MultiPoint +MULTIPOINT((0 0),(0 0))#!#MultiPoint +MULTIPOINT((1 2),(1 2))#!#MultiPoint +MULTIPOINT((5 5),(5 5),(5 5))#!#MultiPoint +MULTIPOINT((1 2),(3 4))#!#MultiPoint +MULTIPOINT((1 2),(4 5))#!#MultiPoint +MULTIPOINT((1 2),(4 5),(7 8))#!#MultiPoint +MULTIPOINT((10 20))#!#MultiPoint +MULTIPOINT((1 2),(4 5))#!#MultiPoint +MULTIPOINT((1 2),(4 5))#!#MultiPoint +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MultiPoint +MULTIPOINT((1 2),(4 5))#!#MultiPoint +MULTIPOINT((1 2),(4 5))#!#MultiPoint +MULTIPOINT((1 2),(4 5),(7 8))#!#MultiPoint +MULTIPOINT((1 2),(5 6))#!#MultiPoint +MULTIPOINT((1 2),(3 4),(5 6))#!#MultiPoint +MULTIPOINT((1 2))#!#MultiPoint +MULTIPOINT((1 2),(5 6))#!#MultiPoint +MULTIPOINT((1 2),(5 6))#!#MultiPoint +MULTIPOINT((1 2),(5 6))#!#MultiPoint +MULTIPOINT((1 2),(5 6))#!#MultiPoint +MULTIPOINT((1 2),(5 6),(7 8))#!#MultiPoint +MULTIPOINT((1 2),(5 6))#!#MultiPoint +MULTIPOINT((1 2),(5 6),(9 10))#!#MultiPoint +MULTIPOINT((1 2))#!#MultiPoint +MULTIPOINT((1 2),(5 6))#!#MultiPoint +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MultiPoint +MULTIPOINT((1 2),(5 6),(8 9))#!#MultiPoint +MULTIPOINT((1 2),(5 6))#!#MultiPoint +MULTIPOINT((1 2),(5 6))#!#MultiPoint +MULTIPOINT((1 2),(5 6),(9 10))#!#MultiPoint +MULTIPOINT EMPTY#!#MultiPoint +~~END~~ + + + +-- ============================================================================ +-- SECTION: Geometry Spatial Operations (MultiPoint vs MultiPoint) +-- ============================================================================ +-- Verify STDisjoint +SELECT * FROM DisjointTempGeommultipoint; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT EMPTY#!#1 +~~END~~ + + +-- Verify STDistance +SELECT * FROM DistanceTempGeommultipoint; +GO +~~START~~ +nvarchar#!#nvarchar#!#numeric +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#2.236068 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.141590 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213556.009130 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#2.236068 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#17.464249 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.141590 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 -2),(-3 -4))#!#2.236068 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213556.716240 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0.000001 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(0 0))#!#0.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(1 2))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#2.828427 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((10 20))#!#18.384776 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.921954 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.921954 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1.000000 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#2.236068 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#2.236068 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#2.236068 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#2.110371 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213546.816750 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0.000001 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#0.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#2.236068 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#2.236068 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((10 20))#!#10.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.781025 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#2.236068 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#2.236068 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1.676305 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1.000000 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#2.236068 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213558.837560 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#5.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#20.124612 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#2.236068 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#2.236068 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0.000000 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.236068 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#5.323533 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213556.009130 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236069 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(1 2))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#9.219544 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((10 20))#!#24.596748 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#4.695743 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#4.695743 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#4.472136 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#2.236068 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#2.596151 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213560.251770 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0.000001 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#0.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#6.708204 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((10 20))#!#21.095023 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#2.109502 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#2.109502 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#2.000000 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#0.141590 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.141590 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#2.110371 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 -2),(-3 -4))#!#5.323533 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.596151 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.000000 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213555.909010 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#3.088686 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(0 0))#!#3.088689 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(1 2))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#2.110371 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#0.141590 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((10 20))#!#17.407971 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.640312 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.141590 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.640312 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.860233 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#1414213556.009130 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1414213556.716240 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1414213546.816750 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#1414213558.837560 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1414213556.009130 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1414213560.251770 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1414213555.909010 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0.000000 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1414213560.958880 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(0 0))#!#1414213560.958880 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(1 2))#!#1414213558.837560 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1414213553.887810 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#1414213556.009130 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1414213554.594920 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1414213550.352280 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((10 20))#!#1414213539.745680 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1414213554.594920 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1414213554.594920 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1414213553.958520 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1414213554.594920 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#1414213554.594920 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1414213550.352280 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#1414213558.837560 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1414213550.352280 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1414213547.523850 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#1414213558.837560 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1414213552.402890 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1414213548.938070 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#1414213553.180710 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1414213547.523850 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0.000001 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0.000001 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 -2),(-3 -4))#!#2.236069 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0.000001 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#3.088686 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213560.958880 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0.000000 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(0 0))#!#0.000001 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(1 2))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#7.071065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((10 20))#!#22.360677 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#2.459672 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#2.459672 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#2.236065 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0.000000 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0.000000 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0.000000 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#3.088689 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213560.958880 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0.000001 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#0.000000 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#7.071068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((10 20))#!#22.360680 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#2.459675 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#2.459675 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#2.236068 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#2.236068 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213558.837560 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#5.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((10 20))#!#20.124612 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#2.236068 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#2.828427 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#5.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#9.219544 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#6.708204 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#2.110371 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.887810 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#7.071065 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#7.071068 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#5.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#2.236068 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((10 20))#!#15.811388 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.781025 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#5.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#5.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1.676305 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1.000000 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#2.236068 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.141590 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213556.009130 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#2.236068 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#17.464249 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213554.594920 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#16.155494 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213550.352280 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#12.369317 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#17.464249 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#18.384776 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#10.000000 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#20.124612 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 -2),(-3 -4))#!#24.596748 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#21.095023 +MULTIPOINT((10 20))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#17.407971 +MULTIPOINT((10 20))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213539.745680 +MULTIPOINT((10 20))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#22.360677 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(0 0))#!#22.360680 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(1 2))#!#20.124612 +MULTIPOINT((10 20))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#15.811388 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#17.464249 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#16.155494 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#12.369317 +MULTIPOINT((10 20))#!#MULTIPOINT((10 20))#!#0.000000 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#16.155494 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#16.155494 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#15.543809 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#16.155494 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#16.155494 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#12.369317 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#20.124612 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#12.369317 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#10.049876 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#20.124612 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#14.135417 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#11.180340 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#14.866069 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#10.049876 +MULTIPOINT((10 20))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213554.594920 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#16.155494 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213554.594920 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#16.155494 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0.921954 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0.781025 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.695743 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.109502 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.640312 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.958520 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.459672 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(0 0))#!#2.459675 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(1 2))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0.781025 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((10 20))#!#15.543809 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.000000 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.000000 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.223607 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213554.594920 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#16.155494 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213554.594920 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#16.155494 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213550.352280 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#12.369317 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.141590 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#2.236068 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213558.837560 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#5.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#20.124612 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213550.352280 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((10 20))#!#12.369317 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213547.523850 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#10.049876 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#2.236068 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213558.837560 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#5.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#20.124612 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0.921954 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.676305 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.695743 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.109502 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.640312 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213552.402890 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.459672 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(0 0))#!#2.459675 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(1 2))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.676305 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((10 20))#!#14.135417 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.000000 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.000000 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.223607 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213548.938070 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((10 20))#!#11.180340 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213553.180710 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#14.866069 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#4.472136 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#2.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0.860233 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1414213547.523850 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#2.236065 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#2.236068 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#10.049876 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0.223607 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0.223607 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0.000000 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((-1 -2),(-3 -4))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(0 0))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(1 2))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((5 5),(5 5),(5 5))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((10 20))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(7 8))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(8 9))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!# +MULTIPOINT EMPTY#!#MULTIPOINT EMPTY#!# +~~END~~ + + +-- Verify STIntersects +SELECT * FROM IntersectsTempGeommultipoint; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT EMPTY#!#0 +~~END~~ + + +-- Verify STEquals +SELECT * FROM EqualsTempGeommultipoint; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT EMPTY#!#1 +~~END~~ + + +-- Verify STContains +SELECT * FROM ContainTempGeommultipoint; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((10 20))#!#1 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((10 20))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT((1 2),(5 6))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((-1 -2),(-3 -4))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((10 20))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(4 5),(7 8))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(8 9))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((1 2),(5 6),(9 10))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT EMPTY#!#0 +~~END~~ + + +-- Verify = operator +SELECT * FROM equals_opgeommultipoint; +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- Verify <> operator +SELECT * FROM notequal_opgeommultipoint; +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + + +-- ============================================================================ +-- SECTION: Geometry Spatial Operations (MultiPoint vs Point/LineString) +-- ============================================================================ +-- Verify STDisjoint cross-type +SELECT * FROM DisjointTempGeommpsr; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT EMPTY#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT EMPTY#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT EMPTY#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT EMPTY#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT EMPTY#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT EMPTY#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT EMPTY#!#1 +MULTIPOINT((0 0),(0 0))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(1 2))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(1 2))#!#POINT EMPTY#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!#1 +MULTIPOINT((10 20))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((10 20))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!#1 +MULTIPOINT EMPTY#!#LINESTRING EMPTY#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT EMPTY#!#POINT EMPTY#!#1 +~~END~~ + + +-- Verify STDistance cross-type +SELECT * FROM DistanceTempGeommpsr; +GO +~~START~~ +nvarchar#!#nvarchar#!#numeric +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#51.845748 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#51.845748 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#51.845748 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#51.845748 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#LINESTRING EMPTY#!# +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#51.344752 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#51.344752 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#51.344752 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#51.344752 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT EMPTY#!# +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#LINESTRING EMPTY#!# +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#43.784422 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#43.784422 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#43.784422 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#43.784422 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT EMPTY#!# +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT EMPTY#!# +MULTIPOINT((-1 -2),(-3 -4))#!#LINESTRING EMPTY#!# +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#52.735203 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#52.735203 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#52.735203 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#52.735203 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT EMPTY#!# +MULTIPOINT((-1 2),(3 -4),(0 0))#!#LINESTRING EMPTY#!# +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#48.274192 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#48.274192 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#48.274192 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#48.274192 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT EMPTY#!# +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#LINESTRING EMPTY#!# +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#51.723862 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#51.723862 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#51.723862 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#51.723862 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT EMPTY#!# +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#LINESTRING EMPTY#!# +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#1414213543.067670 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#1414213543.067670 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#1414213543.067670 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#1414213543.067670 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT EMPTY#!# +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#LINESTRING EMPTY#!# +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#52.631697 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#52.631697 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#52.631697 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#52.631697 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT EMPTY#!# +MULTIPOINT((0 0),(0 0))#!#LINESTRING EMPTY#!# +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#52.631698 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#52.631698 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#52.631698 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#52.631698 +MULTIPOINT((0 0),(0 0))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(1 2))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2),(1 2))#!#POINT EMPTY#!# +MULTIPOINT((5 5),(5 5),(5 5))#!#LINESTRING EMPTY#!# +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#50.666316 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#50.666316 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#50.666316 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#50.666316 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#51.845748 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#51.845748 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#51.845748 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#51.845748 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!# +MULTIPOINT((10 20))#!#LINESTRING EMPTY#!# +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#56.666000 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#56.666000 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#56.666000 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#56.666000 +MULTIPOINT((10 20))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!# +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#LINESTRING EMPTY#!# +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#51.441382 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#51.441382 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#51.441382 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#51.441382 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#51.510946 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6),(7 8))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#50.730322 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#50.401960 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#50.401960 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#50.401960 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#50.401960 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!# +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#52.623090 +MULTIPOINT((1 2))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#51.134640 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#51.134640 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#51.134640 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#51.134640 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6),(8 9))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#50.546628 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#50.546628 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#50.546628 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#50.546628 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#51.213022 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!# +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!# +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#50.401960 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#50.401960 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#50.401960 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#50.401960 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!# +MULTIPOINT EMPTY#!#LINESTRING EMPTY#!# +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!# +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!# +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!# +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!# +MULTIPOINT EMPTY#!#POINT EMPTY#!# +~~END~~ + + +-- Verify STIntersects cross-type +SELECT * FROM IntersectsTempGeommpsr; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT EMPTY#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT EMPTY#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT EMPTY#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT EMPTY#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!#0 +MULTIPOINT((10 20))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!#0 +MULTIPOINT EMPTY#!#LINESTRING EMPTY#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT EMPTY#!#0 +~~END~~ + + +-- Verify STEquals cross-type +SELECT * FROM EqualsTempGeommpsr; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT EMPTY#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT EMPTY#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT EMPTY#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT EMPTY#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!#0 +MULTIPOINT((10 20))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!#0 +MULTIPOINT EMPTY#!#LINESTRING EMPTY#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT EMPTY#!#1 +~~END~~ + + +-- Verify STContains cross-type +SELECT * FROM ContainTempGeommpsr; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 -2),(-3 -4))#!#POINT EMPTY#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((-1 2),(3 -4),(0 0))#!#POINT EMPTY#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#POINT EMPTY#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#POINT EMPTY#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((5 5),(5 5),(5 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!#0 +MULTIPOINT((10 20))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((10 20))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(4.4 5.5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(4 5),(7 8))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(3 4),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(7 8))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1.1 2.2),(5.5 6.6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(8 9))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6))#!#POINT EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((1 2),(5 6),(9 10))#!#POINT EMPTY#!#0 +MULTIPOINT EMPTY#!#LINESTRING EMPTY#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT EMPTY#!#0 +~~END~~ + + +-- Verify = operator cross-type +SELECT * FROM equals_opgeommpsr; +GO +~~START~~ +geometry +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- Verify <> operator cross-type +SELECT * FROM notequal_opgeommpsr; +GO +~~START~~ +geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E610000001040400000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400000000000000840000000000000084004000000010000000001010000000102000000010300000005000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104050000000000000000000000000000000000000000000000000024400000000000000000000000000000244000000000000024400000000000000000000000000000244000000000000014400000000000001440050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010403000000000000000000F0BF0000000000000040000000000000084000000000000010C0000000000000000000000000000000000300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F83F9A999999999905406E861BF0F92109401CB1169F02001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000080FF64CDCD41000080FF64CDCD41000080FF64CDCDC1000080FF64CDCDC1020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000008DEDB5A0F7C6B03E8DEDB5A0F7C6B03E8DEDB5A0F7C6C03E8DEDB5A0F7C6C03E020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F0000000000000040000000000000F03F0000000000000040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104030000000000000000001440000000000000144000000000000014400000000000001440000000000000144000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000184000000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010501000000000000000000244000000000000034400000000000003E4001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008C000000000000018C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000105020000009A9999999999F13F9A999999999901409A9999999999114000000000000016406666666666660A406666666666661A40020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010503000000000000000000F03F0000000000000040000000000000104000000000000014400000000000001C4000000000000020400000000000000840000000000000F8FF00000000000022400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F00000000000000400000000000000840000000000000104000000000000014400000000000001840000000000000244000000000000034400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010601000000000000000000F03F0000000000000040000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010603000000000000000000F03F0000000000000040000000000000144000000000000018400000000000001C4000000000000020400000000000001040000000000000F8FF00000000000024400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002240000000000000244000000000000008400000000000001C4000000000000026400000000000001040000000000000204000000000000028400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010701000000000000000000F03F00000000000000400000000000000840000000000000104001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008C00000000000001CC000000000000010C000000000000020C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000107020000009A9999999999F13F9A9999999999014000000000000016406666666666661A406666666666660A40CDCCCCCCCCCC1E409A999999999911409A99999999992140020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F0000000000000040000000000000144000000000000018400000000000002040000000000000224000000000000008400000000000001C40000000000000F8FF0000000000001040000000000000F8FF000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C40000000000000F8FF0000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +SELECT * FROM MultipointGeomFromText; +GO +~~START~~ +geometry#!#geometry +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E610000001050200000000000000000014400000000000001840000000000000204000000000000022400000000000001C400000000000002440020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +-- Verify geometry stored as VARBINARY +SELECT ID, CAST(geometryData AS geometry).STAsText() AS text FROM geometryAsVarbinarymultipoint ORDER BY ID; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((1 2),(3 4)) +2#!#MULTIPOINT((1 2),(3 4),(5 6)) +3#!#MULTIPOINT((1 2),(4 5)) +4#!#MULTIPOINT((1 2),(5 6)) +5#!#MULTIPOINT((1 2),(5 6)) +6#!#MULTIPOINT((1 2),(4 5)) +7#!#MULTIPOINT((1 2),(4 5)) +8#!#MULTIPOINT((1 2),(5 6)) +9#!#MULTIPOINT((1 2),(5 6),(9 10)) +10#!#MULTIPOINT((-1 -2),(-3 -4)) +11#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001)) +12#!#MULTIPOINT((1 2)) +13#!#MULTIPOINT EMPTY +~~END~~ + + +-- Verify VARBINARY back to geometry +SELECT ID, geometryData.STAsText() AS text FROM VarbinaryAsgeometrymultipoint ORDER BY ID; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((1 2),(3 4)) +2#!#MULTIPOINT((1 2),(3 4),(5 6)) +3#!#MULTIPOINT((1 2),(4 5)) +4#!#MULTIPOINT((1 2),(5 6)) +5#!#MULTIPOINT((1 2),(5 6)) +6#!#MULTIPOINT((1 2),(4 5)) +7#!#MULTIPOINT((1 2),(4 5)) +8#!#MULTIPOINT((1 2),(5 6)) +9#!#MULTIPOINT EMPTY +~~END~~ + + +-- Verify binary round-trip matches +SELECT a.ID, a.geometryData, CAST(b.geometryData AS VARBINARY(2000)) AS roundtrip_bin +FROM geometryAsVarbinarymultipoint a +JOIN VarbinaryAsgeometrymultipoint b ON a.ID = b.ID +ORDER BY a.ID; +GO +~~START~~ +int#!#varbinary#!#varbinary +1#!#E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +2#!#E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001#!#E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +3#!#E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +4#!#E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +5#!#E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +6#!#E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +7#!#E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010502000000000000000000F03F000000000000004000000000000010400000000000001440000000000000F8FF0000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +8#!#E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001#!#E6100000010702000000000000000000F03F000000000000004000000000000014400000000000001840000000000000F8FF0000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +9#!#E6100000010703000000000000000000F03F000000000000004000000000000014400000000000001840000000000000224000000000000024400000000000000840000000000000F8FF000000000000F8FF000000000000F8FF0000000000002040000000000000F8FF0300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001#!#E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- Verify geometry stored as VARCHAR +SELECT ID, geometryData FROM geometryAsVarcharmultipoint ORDER BY ID; +GO +~~START~~ +int#!#varchar +1#!#MULTIPOINT((1 2), (3 4)) +2#!#MULTIPOINT((1 2), (3 4), (5 6)) +3#!#MULTIPOINT((1 2 3), (4 5 6)) +4#!#MULTIPOINT((1 2 NULL 4), (5 6 NULL 8)) +5#!#MULTIPOINT((1 2 3 4), (5 6 7 8)) +6#!#MULTIPOINT((1 2 3), (4 5)) +7#!#MULTIPOINT EMPTY +~~END~~ + + +-- Verify VARCHAR to geometry +SELECT ID, geometryData.STAsText() AS text FROM VarCharAsgeometrymultipoint ORDER BY ID; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((1 2),(3 4)) +2#!#MULTIPOINT((1 2),(3 4),(5 6)) +3#!#MULTIPOINT((1 2),(4 5)) +4#!#MULTIPOINT((1 2),(5 6)) +5#!#MULTIPOINT((1 2),(5 6)) +6#!#MULTIPOINT((1 2),(4 5)) +7#!#MULTIPOINT EMPTY +~~END~~ + + +-- Verify geometry to VARCHAR back to geometry +SELECT ID, geometryData.STAsText() AS text FROM GeoVarCharAsgeometrymultipoint ORDER BY ID; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((1 2),(3 4)) +2#!#MULTIPOINT((1 2),(3 4),(5 6)) +3#!#MULTIPOINT((1 2),(4 5)) +4#!#MULTIPOINT((1 2),(5 6)) +5#!#MULTIPOINT((1 2),(5 6)) +6#!#MULTIPOINT((1 2),(4 5)) +7#!#MULTIPOINT((1 2),(4 5)) +8#!#MULTIPOINT((1 2),(5 6)) +9#!#MULTIPOINT EMPTY +~~END~~ + + + +-- ============================================================================ +-- SECTION: Geography MultiPoint Property Views +-- ============================================================================ +-- Verify STAsText output +SELECT * FROM TextFromGeographymultipoint; +GO +~~START~~ +nvarchar +MULTIPOINT((0 0),(45 90),(30 60)) +MULTIPOINT((45 90)) +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80)) +MULTIPOINT((0 0),(0 0)) +MULTIPOINT((90 0),(-90 0)) +MULTIPOINT EMPTY +~~END~~ + + +-- Verify STDimension +SELECT * FROM DimOfGeographymultipoint; +GO +~~START~~ +nvarchar#!#int +MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((45 90))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT EMPTY#!#-1 +~~END~~ + + +-- Verify STNumPoints +SELECT * FROM NumPointsOfGeographymultipoint; +GO +~~START~~ +nvarchar#!#int +MULTIPOINT((0 0),(45 90),(30 60))#!#3 +MULTIPOINT((45 90))#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#5 +MULTIPOINT((0 0),(0 0))#!#2 +MULTIPOINT((90 0),(-90 0))#!#2 +MULTIPOINT EMPTY#!#0 +~~END~~ + + +-- Verify STAsBinary +SELECT * FROM BinaryFromGeographymultipoint; +GO +~~START~~ +nvarchar#!#varbinary +MULTIPOINT((0 0),(45 90),(30 60))#!#01040000000300000001010000000000000000000000000000000000000001010000000000000000804640000000000080564001010000000000000000003E400000000000004E40 +MULTIPOINT((45 90))#!#010400000001000000010100000000000000008046400000000000805640 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#01040000000500000001010000000000000000000000000000000000000001010000000000000000002440000000000000344001010000000000000000003E400000000000004440010100000000000000000049400000000000004E40010100000000000000008051400000000000005440 +MULTIPOINT((0 0),(0 0))#!#010400000002000000010100000000000000000000000000000000000000010100000000000000000000000000000000000000 +MULTIPOINT((90 0),(-90 0))#!#010400000002000000010100000000000000008056400000000000000000010100000000000000008056C00000000000000000 +MULTIPOINT EMPTY#!#010400000000000000 +~~END~~ + + +-- Verify STSrid +SELECT * FROM SridFromGeographymultipoint; +GO +~~START~~ +nvarchar#!#int +MULTIPOINT((0 0),(45 90),(30 60))#!#4326 +MULTIPOINT((45 90))#!#4326 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#4326 +MULTIPOINT((0 0),(0 0))#!#4326 +MULTIPOINT((90 0),(-90 0))#!#4326 +MULTIPOINT EMPTY#!#4326 +~~END~~ + + +-- Verify STIsEmpty +SELECT * FROM EmptyGeographymultipoint; +GO +~~START~~ +nvarchar#!#bit +MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((45 90))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT EMPTY#!#1 +~~END~~ + + +-- Verify STIsValid +SELECT * FROM ValidGeographymultipoint; +GO +~~START~~ +nvarchar#!#bit +MULTIPOINT((0 0),(45 90),(30 60))#!#1 +MULTIPOINT((45 90))#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#1 +MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((90 0),(-90 0))#!#1 +MULTIPOINT EMPTY#!#1 +~~END~~ + + +-- Verify STGeometryType +SELECT * FROM GeomTypeOfGeographymultipoint; +GO +~~START~~ +nvarchar#!#nvarchar +MULTIPOINT((0 0),(45 90),(30 60))#!#MultiPoint +MULTIPOINT((45 90))#!#MultiPoint +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MultiPoint +MULTIPOINT((0 0),(0 0))#!#MultiPoint +MULTIPOINT((90 0),(-90 0))#!#MultiPoint +MULTIPOINT EMPTY#!#MultiPoint +~~END~~ + + + +-- ============================================================================ +-- SECTION: Geography Bytea Round-Trip +-- ============================================================================ +SELECT ID, geo_multipoint.STAsText() AS text FROM geographyToByteamultipoint ORDER BY ID; +GO +~~START~~ +int#!#nvarchar +2#!#MULTIPOINT((0 0),(45 90),(30 60)) +6#!#MULTIPOINT EMPTY +~~END~~ + + +SELECT ID, geo_multipoint.STSrid AS srid FROM geographyToByteamultipoint ORDER BY ID; +GO +~~START~~ +int#!#int +2#!#4326 +6#!#4326 +~~END~~ + + +SELECT ID, geo_multipoint.STNumPoints() AS numpoints FROM geographyToByteamultipoint ORDER BY ID; +GO +~~START~~ +int#!#int +2#!#3 +6#!#0 +~~END~~ + + +SELECT ID, CAST(geo_multipoint AS VARBINARY(MAX)) AS binary FROM geographyToByteamultipoint ORDER BY ID; +GO +~~START~~ +int#!#varbinary +2#!#E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +6#!#E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- Round-trip: geography → VARBINARY → geography → STAsText +SELECT ID, CAST(CAST(geo_multipoint AS VARBINARY(MAX)) AS geography).STAsText() AS roundtrip_text FROM geographyToByteamultipoint ORDER BY ID; +GO +~~START~~ +int#!#nvarchar +2#!#MULTIPOINT((0 0),(45 90),(30 60)) +6#!#MULTIPOINT EMPTY +~~END~~ + + + +-- ============================================================================ +-- SECTION: Prepared Statement Tables — Geometry +-- ============================================================================ +SELECT location.STAsText() AS text FROM GEOSPATIAL_MPGEOMRCV_dt; +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +MULTIPOINT EMPTY +MULTIPOINT((1 2),(4 5)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((0 0),(1 1),(2 2)) +MULTIPOINT((-1 -2),(-3 -4)) +~~END~~ + + +SELECT location.STSrid AS srid FROM GEOSPATIAL_MPGEOMRCV_dt; +GO +~~START~~ +int +4326 +4326 +4326 +4326 +4326 +4326 +4326 +~~END~~ + + +SELECT CAST(location AS VARBINARY(MAX)) AS binary FROM GEOSPATIAL_MPGEOMRCV_dt; +GO +~~START~~ +varbinary +E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010602000000000000000000F03F00000000000000400000000000001440000000000000184000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040300000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E6100000010402000000000000000000F0BF00000000000000C000000000000008C000000000000010C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +~~END~~ + + +SELECT CAST(CAST(location AS VARBINARY(MAX)) AS geometry).STAsText() AS roundtrip FROM GEOSPATIAL_MPGEOMRCV_dt; +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +MULTIPOINT EMPTY +MULTIPOINT((1 2),(4 5)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((1 2),(5 6)) +MULTIPOINT((0 0),(1 1),(2 2)) +MULTIPOINT((-1 -2),(-3 -4)) +~~END~~ + + + +-- ============================================================================ +-- SECTION: Prepared Statement Tables — Geography +-- ============================================================================ +SELECT location.STAsText() AS text FROM GEOSPATIAL_MPGEOGRCV_dt; +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +MULTIPOINT((0 0),(45 90),(30 60)) +~~END~~ + + +SELECT location.STSrid AS srid FROM GEOSPATIAL_MPGEOGRCV_dt; +GO +~~START~~ +int +4326 +4326 +~~END~~ + + +SELECT CAST(location AS VARBINARY(MAX)) AS binary FROM GEOSPATIAL_MPGEOGRCV_dt; +GO +~~START~~ +varbinary +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ + + +SELECT CAST(CAST(location AS VARBINARY(MAX)) AS geography).STAsText() AS roundtrip FROM GEOSPATIAL_MPGEOGRCV_dt; +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +MULTIPOINT((0 0),(45 90),(30 60)) +~~END~~ + + + +-- ============================================================================ +-- SECTION: Direct Table Queries — Geometry +-- ============================================================================ +-- All rows with STAsText +SELECT id, location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((1 2),(3 4)) +2#!#MULTIPOINT((1 2),(3 4),(5 6)) +3#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3)) +4#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5)) +5#!#MULTIPOINT((1 2)) +6#!#MULTIPOINT((-1 -2),(-3 -4)) +7#!#MULTIPOINT((-1 2),(3 -4),(0 0)) +8#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001)) +9#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999)) +10#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002)) +11#!#MULTIPOINT((0 0),(0 0)) +12#!#MULTIPOINT((1 2),(1 2)) +13#!#MULTIPOINT((5 5),(5 5),(5 5)) +14#!#MULTIPOINT((1 2),(3 4)) +15#!#MULTIPOINT((1 2),(4 5)) +16#!#MULTIPOINT((1 2),(4 5),(7 8)) +17#!#MULTIPOINT((10 20)) +18#!#MULTIPOINT((1 2),(4 5)) +19#!#MULTIPOINT((1 2),(4 5)) +20#!#MULTIPOINT((1.1 2.2),(4.4 5.5)) +21#!#MULTIPOINT((1 2),(4 5)) +22#!#MULTIPOINT((1 2),(4 5)) +23#!#MULTIPOINT((1 2),(4 5),(7 8)) +24#!#MULTIPOINT((1 2),(5 6)) +25#!#MULTIPOINT((1 2),(3 4),(5 6)) +26#!#MULTIPOINT((1 2)) +27#!#MULTIPOINT((1 2),(5 6)) +28#!#MULTIPOINT((1 2),(5 6)) +29#!#MULTIPOINT((1 2),(5 6)) +30#!#MULTIPOINT((1 2),(5 6)) +31#!#MULTIPOINT((1 2),(5 6),(7 8)) +32#!#MULTIPOINT((1 2),(5 6)) +33#!#MULTIPOINT((1 2),(5 6),(9 10)) +34#!#MULTIPOINT((1 2)) +35#!#MULTIPOINT((1 2),(5 6)) +36#!#MULTIPOINT((1.1 2.2),(5.5 6.6)) +37#!#MULTIPOINT((1 2),(5 6),(8 9)) +38#!#MULTIPOINT((1 2),(5 6)) +39#!#MULTIPOINT((1 2),(5 6)) +40#!#MULTIPOINT((1 2),(5 6),(9 10)) +41#!#MULTIPOINT EMPTY +~~END~~ + + +-- All rows binary round-trip +SELECT id, CAST(CAST(location AS VARBINARY(MAX)) AS geometry).STAsText() AS roundtrip FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((1 2),(3 4)) +2#!#MULTIPOINT((1 2),(3 4),(5 6)) +3#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3)) +4#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5)) +5#!#MULTIPOINT((1 2)) +6#!#MULTIPOINT((-1 -2),(-3 -4)) +7#!#MULTIPOINT((-1 2),(3 -4),(0 0)) +8#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001)) +9#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999)) +10#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002)) +11#!#MULTIPOINT((0 0),(0 0)) +12#!#MULTIPOINT((1 2),(1 2)) +13#!#MULTIPOINT((5 5),(5 5),(5 5)) +14#!#MULTIPOINT((1 2),(3 4)) +15#!#MULTIPOINT((1 2),(4 5)) +16#!#MULTIPOINT((1 2),(4 5),(7 8)) +17#!#MULTIPOINT((10 20)) +18#!#MULTIPOINT((1 2),(4 5)) +19#!#MULTIPOINT((1 2),(4 5)) +20#!#MULTIPOINT((1.1 2.2),(4.4 5.5)) +21#!#MULTIPOINT((1 2),(4 5)) +22#!#MULTIPOINT((1 2),(4 5)) +23#!#MULTIPOINT((1 2),(4 5),(7 8)) +24#!#MULTIPOINT((1 2),(5 6)) +25#!#MULTIPOINT((1 2),(3 4),(5 6)) +26#!#MULTIPOINT((1 2)) +27#!#MULTIPOINT((1 2),(5 6)) +28#!#MULTIPOINT((1 2),(5 6)) +29#!#MULTIPOINT((1 2),(5 6)) +30#!#MULTIPOINT((1 2),(5 6)) +31#!#MULTIPOINT((1 2),(5 6),(7 8)) +32#!#MULTIPOINT((1 2),(5 6)) +33#!#MULTIPOINT((1 2),(5 6),(9 10)) +34#!#MULTIPOINT((1 2)) +35#!#MULTIPOINT((1 2),(5 6)) +36#!#MULTIPOINT((1.1 2.2),(5.5 6.6)) +37#!#MULTIPOINT((1 2),(5 6),(8 9)) +38#!#MULTIPOINT((1 2),(5 6)) +39#!#MULTIPOINT((1 2),(5 6)) +40#!#MULTIPOINT((1 2),(5 6),(9 10)) +41#!#MULTIPOINT EMPTY +~~END~~ + + +-- HasZ and HasM properties +SELECT id, location.STAsText() AS text, location.HasZ AS hasz, location.HasM AS hasm FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; +GO +~~START~~ +int#!#nvarchar#!#bit#!#bit +1#!#MULTIPOINT((1 2),(3 4))#!#0#!#0 +2#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0#!#0 +3#!#MULTIPOINT((0 0),(1 1),(2 2),(3 3))#!#0#!#0 +4#!#MULTIPOINT((0 0),(10 0),(10 10),(0 10),(5 5))#!#0#!#0 +5#!#MULTIPOINT((1 2))#!#0#!#0 +6#!#MULTIPOINT((-1 -2),(-3 -4))#!#0#!#0 +7#!#MULTIPOINT((-1 2),(3 -4),(0 0))#!#0#!#0 +8#!#MULTIPOINT((1.5 2.7),(3.14159 4.00001))#!#0#!#0 +9#!#MULTIPOINT((999999999 999999999),(-999999999 -999999999))#!#0#!#0 +10#!#MULTIPOINT((0.000001 0.000001),(0.000002 0.000002))#!#0#!#0 +11#!#MULTIPOINT((0 0),(0 0))#!#0#!#0 +12#!#MULTIPOINT((1 2),(1 2))#!#0#!#0 +13#!#MULTIPOINT((5 5),(5 5),(5 5))#!#0#!#0 +14#!#MULTIPOINT((1 2),(3 4))#!#0#!#0 +15#!#MULTIPOINT((1 2),(4 5))#!#1#!#0 +16#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1#!#0 +17#!#MULTIPOINT((10 20))#!#1#!#0 +18#!#MULTIPOINT((1 2),(4 5))#!#1#!#0 +19#!#MULTIPOINT((1 2),(4 5))#!#1#!#0 +20#!#MULTIPOINT((1.1 2.2),(4.4 5.5))#!#1#!#0 +21#!#MULTIPOINT((1 2),(4 5))#!#1#!#0 +22#!#MULTIPOINT((1 2),(4 5))#!#1#!#0 +23#!#MULTIPOINT((1 2),(4 5),(7 8))#!#1#!#0 +24#!#MULTIPOINT((1 2),(5 6))#!#0#!#1 +25#!#MULTIPOINT((1 2),(3 4),(5 6))#!#0#!#1 +26#!#MULTIPOINT((1 2))#!#0#!#1 +27#!#MULTIPOINT((1 2),(5 6))#!#0#!#1 +28#!#MULTIPOINT((1 2),(5 6))#!#0#!#1 +29#!#MULTIPOINT((1 2),(5 6))#!#0#!#1 +30#!#MULTIPOINT((1 2),(5 6))#!#0#!#1 +31#!#MULTIPOINT((1 2),(5 6),(7 8))#!#0#!#1 +32#!#MULTIPOINT((1 2),(5 6))#!#1#!#1 +33#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1#!#1 +34#!#MULTIPOINT((1 2))#!#1#!#1 +35#!#MULTIPOINT((1 2),(5 6))#!#1#!#1 +36#!#MULTIPOINT((1.1 2.2),(5.5 6.6))#!#1#!#1 +37#!#MULTIPOINT((1 2),(5 6),(8 9))#!#1#!#1 +38#!#MULTIPOINT((1 2),(5 6))#!#1#!#1 +39#!#MULTIPOINT((1 2),(5 6))#!#1#!#1 +40#!#MULTIPOINT((1 2),(5 6),(9 10))#!#1#!#1 +41#!#MULTIPOINT EMPTY#!#0#!#0 +~~END~~ + + +-- Invalid instance table +SELECT id, location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOM_INVALID_dt ORDER BY id; +GO +~~START~~ +int#!#nvarchar +~~END~~ + + +-- All rows with STAsText +SELECT id, location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((0 0),(45 90),(30 60)) +2#!#MULTIPOINT((45 90)) +3#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80)) +4#!#MULTIPOINT((0 0),(0 0)) +5#!#MULTIPOINT((90 0),(-90 0)) +6#!#MULTIPOINT EMPTY +~~END~~ + + +-- All rows binary round-trip +SELECT id, CAST(CAST(location AS VARBINARY(MAX)) AS geography).STAsText() AS roundtrip FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((0 0),(45 90),(30 60)) +2#!#MULTIPOINT((45 90)) +3#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80)) +4#!#MULTIPOINT((0 0),(0 0)) +5#!#MULTIPOINT((90 0),(-90 0)) +6#!#MULTIPOINT EMPTY +~~END~~ + + +-- HasZ and HasM properties +SELECT id, location.STAsText() AS text, location.HasZ AS hasz, location.HasM AS hasm FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; +GO +~~START~~ +int#!#nvarchar#!#bit#!#bit +1#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0#!#0 +2#!#MULTIPOINT((45 90))#!#0#!#0 +3#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0#!#0 +4#!#MULTIPOINT((0 0),(0 0))#!#0#!#0 +5#!#MULTIPOINT((90 0),(-90 0))#!#0#!#0 +6#!#MULTIPOINT EMPTY#!#0#!#0 +~~END~~ + + + +-- ============================================================================ +-- SECTION: Geography Spatial Operations (MultiPoint vs MultiPoint) +-- ============================================================================ +-- Verify STDisjoint +SELECT * FROM DisjointTempGeogmultipoint; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((90 0),(-90 0))#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#1 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((45 90))#!#MULTIPOINT((90 0),(-90 0))#!#1 +MULTIPOINT((45 90))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((45 90))#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((90 0),(-90 0))#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((45 90))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((90 0),(-90 0))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#1 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((45 90))#!#1 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#1 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT EMPTY#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(45 90),(30 60))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((45 90))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT((90 0),(-90 0))#!#1 +MULTIPOINT EMPTY#!#MULTIPOINT EMPTY#!#1 +~~END~~ + + +-- Verify STDistance +SELECT * FROM DistanceTempGeogmultipoint; +GO +~~START~~ +nvarchar#!#nvarchar#!#numeric +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0.000000 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((45 90))#!#0.000000 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0.000000 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(0 0))#!#0.000000 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((90 0),(-90 0))#!#8389654.788514 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0.000000 +MULTIPOINT((45 90))#!#MULTIPOINT((45 90))#!#0.000000 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#1116825.857376 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(0 0))#!#10001965.729313 +MULTIPOINT((45 90))#!#MULTIPOINT((90 0),(-90 0))#!#10001965.729313 +MULTIPOINT((45 90))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0.000000 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((45 90))#!#1116825.857376 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0.000000 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(0 0))#!#0.000000 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((90 0),(-90 0))#!#7490689.231787 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0.000000 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((45 90))#!#10001965.729313 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0.000000 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#0.000000 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((90 0),(-90 0))#!#10018754.171395 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT EMPTY#!# +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#8389654.788514 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((45 90))#!#10001965.729313 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#7490689.231787 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(0 0))#!#10018754.171395 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((90 0),(-90 0))#!#0.000000 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT EMPTY#!# +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(45 90),(30 60))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((45 90))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(0 0))#!# +MULTIPOINT EMPTY#!#MULTIPOINT((90 0),(-90 0))#!# +MULTIPOINT EMPTY#!#MULTIPOINT EMPTY#!# +~~END~~ + + +-- Verify STIntersects +SELECT * FROM IntersectsTempGeogmultipoint; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((45 90))#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#1 +MULTIPOINT((45 90))#!#MULTIPOINT((45 90))#!#1 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((90 0),(-90 0))#!#1 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT EMPTY#!#0 +~~END~~ + + +-- Verify STEquals +SELECT * FROM EqualsTempGeogmultipoint; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT((45 90))#!#1 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT((45 90))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((0 0),(0 0))#!#1 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT((0 0),(0 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT((90 0),(-90 0))#!#1 +MULTIPOINT((90 0),(-90 0))#!#MULTIPOINT EMPTY#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(45 90),(30 60))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((45 90))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((0 0),(0 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT((90 0),(-90 0))#!#0 +MULTIPOINT EMPTY#!#MULTIPOINT EMPTY#!#1 +~~END~~ + + +-- Verify = operator +SELECT * FROM equals_opgeogmultipoint; +GO +~~START~~ +geography +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- Verify <> operator +SELECT * FROM notequal_opgeogmultipoint; +GO +~~START~~ +geography +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + + +-- ============================================================================ +-- SECTION: Geography Spatial Operations (MultiPoint vs Point) +-- ============================================================================ +-- Verify STDisjoint cross-type +SELECT * FROM DisjointTempGeogmpsr; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((0 0),(45 90),(30 60))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT EMPTY#!#1 +MULTIPOINT((45 90))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((45 90))#!#POINT EMPTY#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT EMPTY#!#1 +MULTIPOINT((0 0),(0 0))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((0 0),(0 0))#!#POINT EMPTY#!#1 +MULTIPOINT((90 0),(-90 0))#!#LINESTRING EMPTY#!#1 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT((90 0),(-90 0))#!#POINT EMPTY#!#1 +MULTIPOINT EMPTY#!#LINESTRING EMPTY#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#1 +MULTIPOINT EMPTY#!#POINT EMPTY#!#1 +~~END~~ + + +-- Verify STDistance cross-type +SELECT * FROM DistanceTempGeogmpsr; +GO +~~START~~ +nvarchar#!#nvarchar#!#numeric +MULTIPOINT((0 0),(45 90),(30 60))#!#LINESTRING EMPTY#!# +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT EMPTY#!# +MULTIPOINT((45 90))#!#LINESTRING EMPTY#!# +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#12474411.897609 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#12474411.897609 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#12474411.897609 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#12474411.897609 +MULTIPOINT((45 90))#!#POINT EMPTY#!# +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#LINESTRING EMPTY#!# +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT EMPTY#!# +MULTIPOINT((0 0),(0 0))#!#LINESTRING EMPTY#!# +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#5722700.459541 +MULTIPOINT((0 0),(0 0))#!#POINT EMPTY#!# +MULTIPOINT((90 0),(-90 0))#!#LINESTRING EMPTY#!# +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#5211858.479482 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#5211858.479482 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#5211858.479482 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#5211858.479482 +MULTIPOINT((90 0),(-90 0))#!#POINT EMPTY#!# +MULTIPOINT EMPTY#!#LINESTRING EMPTY#!# +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!# +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!# +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!# +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!# +MULTIPOINT EMPTY#!#POINT EMPTY#!# +~~END~~ + + +-- Verify STIntersects cross-type +SELECT * FROM IntersectsTempGeogmpsr; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((0 0),(45 90),(30 60))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT EMPTY#!#0 +MULTIPOINT((45 90))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((45 90))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT EMPTY#!#0 +MULTIPOINT((90 0),(-90 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT EMPTY#!#0 +MULTIPOINT EMPTY#!#LINESTRING EMPTY#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT EMPTY#!#0 +~~END~~ + + +-- Verify STEquals cross-type +SELECT * FROM EqualsTempGeogmpsr; +GO +~~START~~ +nvarchar#!#nvarchar#!#bit +MULTIPOINT((0 0),(45 90),(30 60))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(45 90),(30 60))#!#POINT EMPTY#!#0 +MULTIPOINT((45 90))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((45 90))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((45 90))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(10 20),(30 40),(50 60),(70 80))#!#POINT EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((0 0),(0 0))#!#POINT EMPTY#!#0 +MULTIPOINT((90 0),(-90 0))#!#LINESTRING EMPTY#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT((90 0),(-90 0))#!#POINT EMPTY#!#0 +MULTIPOINT EMPTY#!#LINESTRING EMPTY#!#1 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT(47.651 -22.349)#!#0 +MULTIPOINT EMPTY#!#POINT EMPTY#!#1 +~~END~~ + + +-- Verify = operator cross-type +SELECT * FROM equals_opgeogmpsr; +GO +~~START~~ +geography +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + +-- Verify <> operator cross-type +SELECT * FROM notequal_opgeogmpsr; +GO +~~START~~ +geography +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E610000001040300000000000000000000000000000000000000000000000080564000000000008046400000000000004E400000000000003E400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E61000000104010000000000000000805640000000000080464001000000010000000002000000FFFFFFFF0000000004000000000000000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E6100000010405000000000000000000000000000000000000000000000000003440000000000000244000000000000044400000000000003E400000000000004E40000000000000494000000000000054400000000000805140050000000100000000010100000001020000000103000000010400000006000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001000000000300000001000000000400000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104020000000000000000000000000000000000000000000000000000000000000000000000020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E610000001040200000000000000000000000000000000805640000000000000000000000000008056C0020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04 +~~END~~ + + + +-- ============================================================================ +-- SECTION: STMPointFromText View — Geography +-- ============================================================================ +SELECT * FROM MultipointGeogFromText; +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + + +-- ============================================================================ +-- SECTION: Geography VARBINARY Cast +-- ============================================================================ +-- Verify geography stored as VARBINARY +SELECT ID, CAST(geographyData AS geography).STAsText() AS text FROM geographyAsVarbinarymultipoint ORDER BY ID; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((0 0),(45 90),(30 60)) +2#!#MULTIPOINT EMPTY +~~END~~ + + + +-- ============================================================================ +-- SECTION: Geography VARCHAR Cast +-- ============================================================================ +-- Verify geography stored as VARCHAR +SELECT ID, geographyData FROM geographyAsVarcharmultipoint ORDER BY ID; +GO +~~START~~ +int#!#varchar +1#!#MULTIPOINT((0 0), (45 90), (30 60)) +2#!#MULTIPOINT EMPTY +~~END~~ + + +-- Verify VARCHAR to geography +SELECT ID, geographyData.STAsText() AS text FROM VarCharAsgeographymultipoint ORDER BY ID; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((0 0),(45 90),(30 60)) +2#!#MULTIPOINT EMPTY +~~END~~ + + +-- Verify geography to VARCHAR back to geography +SELECT ID, geographyData.STAsText() AS text FROM GeoVarCharAsgeographymultipoint ORDER BY ID; +GO +~~START~~ +int#!#nvarchar +1#!#MULTIPOINT((0 0),(45 90),(30 60)) +2#!#MULTIPOINT EMPTY +~~END~~ + + +-- TC-MP-308: STGeomFromText → STAsText (basic chain) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- TC-MP-309: STGeomFromText → STNumPoints +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STNumPoints(); +GO +~~START~~ +int +2 +~~END~~ + + +-- TC-MP-310: STGeomFromText → STGeometryType +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STGeometryType(); +GO +~~START~~ +nvarchar +MultiPoint +~~END~~ + + +-- TC-MP-311: STGeomFromText → STIsEmpty +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STIsEmpty(); +GO +~~START~~ +bit +0 +~~END~~ + + +-- TC-MP-312: STGeomFromText → STIsValid +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STIsValid(); +GO +~~START~~ +bit +1 +~~END~~ + + +-- TC-MP-313: STGeomFromText → STSrid +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STSrid; +GO +~~START~~ +int +4326 +~~END~~ + + +-- TC-MP-314: STGeomFromText → STAsBinary +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +GO +~~START~~ +varbinary +0104000000020000000101000000000000000000F03F0000000000000040010100000000000000000008400000000000001040 +~~END~~ + + +-- TC-MP-315: STGeomFromText → STDimension +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STDimension(); +GO +~~START~~ +int +0 +~~END~~ + + +-- TC-MP-316: STGeomFromText → HasZ +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326).HasZ; +GO +~~START~~ +bit +1 +~~END~~ + + +-- TC-MP-317: STGeomFromText → HasM +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326).HasM; +GO +~~START~~ +bit +1 +~~END~~ + + +-- TC-MP-318: STGeomFromText → STNumGeometries +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326).STNumGeometries(); +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: syntax error at or near ".")~~ + + + +-- geometry::STMPointFromText — Valid Cases +-- Basic 2D multipoint +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- Single point +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((5 10))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((5 10)) +~~END~~ + + +-- Without inner parentheses +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT(1 2, 3 4)', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- 3D multipoint +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(4 5)) +~~END~~ + + +-- 4D multipoint +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(5 6)) +~~END~~ + + +-- Empty multipoint +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT EMPTY', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +~~END~~ + + +-- Many points +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3), (4 4), (5 5))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((0 0),(1 1),(2 2),(3 3),(4 4),(5 5)) +~~END~~ + + +-- Negative coordinates +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((-1 -2), (-3 -4))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((-1 -2),(-3 -4)) +~~END~~ + + +-- Decimal coordinates +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1.5 2.5), (3.75 4.25))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1.5 2.5),(3.75 4.25)) +~~END~~ + + +-- Large coordinates +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1000000 2000000), (3000000 4000000))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1000000 2000000),(3000000 4000000)) +~~END~~ + + +-- Duplicate points +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (1 2), (1 2))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(1 2),(1 2)) +~~END~~ + + +-- With SRID +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- NULL WKT input +DECLARE @g geometry = geometry::STMPointFromText(NULL, 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar + +~~END~~ + + +-- Mixed dimensions (2D and 3D) +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(4 5)) +~~END~~ + + +-- NULL Z with M +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(5 6)) +~~END~~ + + + +-- ============================================ +-- geometry::STMPointFromText — Error Cases +-- ============================================ +-- NULL SRID +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', NULL); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'geometry::STMPointFromText' failed because parameter 2 is not allowed to be null.)~~ + + +-- Wrong type: POINT +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('POINT(1 2)', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has POINT(1 2)s)~~ + + +-- Wrong type: LINESTRING +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('LINESTRING(0 0, 1 1)', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has LINESTRING(0 0, 1 1)s)~~ + + +-- Wrong type: POLYGON +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))s)~~ + + +-- Invalid WKT +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3))', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid geometry)~~ + + +-- Invalid SRID (negative) +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', -1); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: SRID value should be between 0 and 999999)~~ + + +-- Invalid SRID (too large) +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 1000000); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: SRID value should be between 0 and 999999)~~ + + + +-- ============================================ +-- Binary round-trip +-- ============================================ +-- 2D round-trip +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); +DECLARE @b varbinary(max) = CAST(@g AS varbinary(max)); +DECLARE @g2 geometry = CAST(@b AS geometry); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- 3D round-trip +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 0); +DECLARE @b varbinary(max) = CAST(@g AS varbinary(max)); +DECLARE @g2 geometry = CAST(@b AS geometry); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(4 5)) +~~END~~ + + +-- Empty round-trip +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT EMPTY', 0); +DECLARE @b varbinary(max) = CAST(@g AS varbinary(max)); +DECLARE @g2 geometry = CAST(@b AS geometry); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +~~END~~ + + + +-- ============================================ +-- geography::STMPointFromText — Valid Cases +-- ============================================ +-- Basic 2D (lat/lon within range) +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30), (60 40))', 4326); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((50 30),(60 40)) +~~END~~ + + +-- Single point +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 4326); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((50 30)) +~~END~~ + + +-- Empty +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT EMPTY', 4326); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +~~END~~ + + +-- Boundary latitude values +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((0 90), (0 -90))', 4326); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((0 90),(0 -90)) +~~END~~ + + +-- Boundary longitude values +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((180 0), (-180 0))', 4326); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((180 0),(-180 0)) +~~END~~ + + +-- NULL WKT +DECLARE @g geography = geography::STMPointFromText(NULL, 4326); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar + +~~END~~ + + +-- Without inner parentheses +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT(50 30, 60 40)', 4326); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((50 30),(60 40)) +~~END~~ + + + +-- ============================================ +-- geography::STMPointFromText — Error Cases +-- ============================================ +-- NULL SRID +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', NULL); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'geography::STMPointFromText' failed because parameter 2 is not allowed to be null.)~~ + + +-- Invalid latitude (> 90) +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 100), (60 40))', 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- Invalid latitude (< -90) +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 -100), (60 40))', 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Latitude values must be between -90 and 90 degrees)~~ + + +-- Invalid SRID +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid SRID)~~ + + +-- Wrong type: POINT +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('POINT(50 30)', 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has POINT(50 30)s)~~ + + +-- Wrong type: LINESTRING +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('LINESTRING(50 30, 60 40)', 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has LINESTRING(50 30, 60 40)s)~~ + + +-- Geography binary round-trip +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30), (60 40))', 4326); +DECLARE @b varbinary(max) = CAST(@g AS varbinary(max)); +DECLARE @g2 geography = CAST(@b AS geography); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((50 30),(60 40)) +~~END~~ + + + +-- ============================================ +-- geometry::STMPointFromWKB — Valid Cases +-- ============================================ +-- Basic 2D multipoint from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- Single point from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((5 10))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((5 10)) +~~END~~ + + +-- Empty multipoint from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT EMPTY', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +~~END~~ + + +-- Many points from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3), (4 4))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((0 0),(1 1),(2 2),(3 3),(4 4)) +~~END~~ + + +-- Negative coordinates from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((-1 -2), (-3 -4))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((-1 -2),(-3 -4)) +~~END~~ + + +-- Decimal coordinates from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1.5 2.5), (3.75 4.25))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1.5 2.5),(3.75 4.25)) +~~END~~ + + +-- Large coordinates from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1000000 2000000), (3000000 4000000))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1000000 2000000),(3000000 4000000)) +~~END~~ + + +-- Duplicate points from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (1 2), (1 2))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(1 2),(1 2)) +~~END~~ + + +-- With SRID +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + +-- NULL WKB input +DECLARE @g geometry = geometry::STMPointFromWKB(NULL, 0); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar + +~~END~~ + + +-- Full round-trip: WKT → WKB → geometry → varbinary → geometry +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +DECLARE @b2 varbinary(max) = CAST(@g2 AS varbinary(max)); +DECLARE @g3 geometry = CAST(@b2 AS geometry); +SELECT @g3.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((1 2),(3 4)) +~~END~~ + + + +-- ============================================ +-- geometry::STMPointFromWKB — Error Cases +-- ============================================ +-- NULL SRID +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, NULL); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'geometry::STMPointFromWKB' failed because parameter 2 is not allowed to be null.)~~ + + +-- Wrong type: POINT WKB +BEGIN TRY + DECLARE @g geometry = geometry::STPointFromText('POINT(1 2)', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has ST_Points)~~ + + +-- Wrong type: LINESTRING WKB +BEGIN TRY + DECLARE @g geometry = geometry::STLineFromText('LINESTRING(0 0, 1 1)', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has ST_LineStrings)~~ + + +-- Wrong type: POLYGON WKB +BEGIN TRY + DECLARE @g geometry = geometry::STPolyFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has ST_Polygons)~~ + + +-- Invalid SRID (negative) +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, -1); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: SRID value should be between 0 and 999999)~~ + + +-- Invalid SRID (too large) +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 1000000); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: SRID value should be between 0 and 999999)~~ + + + +-- ============================================ +-- geography::STMPointFromWKB — Valid Cases +-- ============================================ +-- Basic 2D +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30), (60 40))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((50 30),(60 40)) +~~END~~ + + +-- Single point +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((50 30)) +~~END~~ + + +-- Empty +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT EMPTY', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT EMPTY +~~END~~ + + +-- NULL WKB +DECLARE @g geography = geography::STMPointFromWKB(NULL, 4326); +SELECT @g.STAsText(); +GO +~~START~~ +nvarchar + +~~END~~ + + +-- Boundary latitude +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((0 90), (0 -90))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((0 90),(0 -90)) +~~END~~ + + +-- Boundary longitude +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((180 0), (-180 0))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((180 0),(-180 0)) +~~END~~ + + +-- Many points +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((10 20), (30 40), (50 60))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((10 20),(30 40),(50 60)) +~~END~~ + + +-- Full round-trip geography +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30), (60 40))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +DECLARE @b2 varbinary(max) = CAST(@g2 AS varbinary(max)); +DECLARE @g3 geography = CAST(@b2 AS geography); +SELECT @g3.STAsText(); +GO +~~START~~ +nvarchar +MULTIPOINT((50 30),(60 40)) +~~END~~ + + + +-- ============================================ +-- geography::STMPointFromWKB — Error Cases +-- ============================================ +-- NULL SRID +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, NULL); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: 'geography::STMPointFromWKB' failed because parameter 2 is not allowed to be null.)~~ + + +-- Invalid SRID +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Invalid SRID)~~ + + +-- Wrong type: POINT WKB +BEGIN TRY + DECLARE @g geography = geography::STPointFromText('POINT(50 30)', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has ST_Points)~~ + + +-- Wrong type: LINESTRING WKB +BEGIN TRY + DECLARE @g geography = geography::STLineFromText('LINESTRING(50 30, 60 40)', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has ST_LineStrings)~~ + + +-- Wrong type: POLYGON WKB +BEGIN TRY + DECLARE @g geography = geography::STPolyFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO +~~ERROR (Code: 33557097)~~ + +~~ERROR (Message: Expected "MULTIPOINT" at Position 1. The input has ST_Polygons)~~ + diff --git a/test/JDBC/expected/Test-pointZM-vu-verify.out b/test/JDBC/expected/Test-pointZM-vu-verify.out index 5c9f9d71e93..4e561d2847f 100644 --- a/test/JDBC/expected/Test-pointZM-vu-verify.out +++ b/test/JDBC/expected/Test-pointZM-vu-verify.out @@ -1608,16 +1608,18 @@ GO -- MULTIPOINT SELECT geometry::STGeomFromText('MULTIPOINT((0 0), (1 1), (2 2))', 4326); GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: MULTIPOINT is not supported)~~ +~~START~~ +geometry +E610000001040300000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ SELECT geography::STGeomFromText('MULTIPOINT((0 0), (1 1), (2 2))', 4326); GO -~~ERROR (Code: 33557097)~~ - -~~ERROR (Message: MULTIPOINT is not supported)~~ +~~START~~ +geography +E610000001040300000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000004000000000000000400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001 +~~END~~ diff --git a/test/JDBC/input/datatypes/Test-Multipoint-vu-cleanup.txt b/test/JDBC/input/datatypes/Test-Multipoint-vu-cleanup.txt new file mode 100644 index 00000000000..01b507c2d6b --- /dev/null +++ b/test/JDBC/input/datatypes/Test-Multipoint-vu-cleanup.txt @@ -0,0 +1,82 @@ +# Geometry Views — Properties +DROP VIEW IF EXISTS DimOfGeometrymultipoint; +DROP VIEW IF EXISTS NumPointsOfGeometrymultipoint; +DROP VIEW IF EXISTS TextFromGeometrymultipoint; +DROP VIEW IF EXISTS BinaryFromGeometrymultipoint; +DROP VIEW IF EXISTS SridFromGeometrymultipoint; +DROP VIEW IF EXISTS EmptyGeometrymultipoint; +DROP VIEW IF EXISTS ValidGeometrymultipoint; +DROP VIEW IF EXISTS GeomTypeOfGeometrymultipoint; + +# Geometry Views — Spatial Operations (multipoint vs multipoint) +DROP VIEW IF EXISTS DisjointTempGeommultipoint; +DROP VIEW IF EXISTS DistanceTempGeommultipoint; +DROP VIEW IF EXISTS IntersectsTempGeommultipoint; +DROP VIEW IF EXISTS EqualsTempGeommultipoint; +DROP VIEW IF EXISTS ContainTempGeommultipoint; +DROP VIEW IF EXISTS equals_opgeommultipoint; +DROP VIEW IF EXISTS notequal_opgeommultipoint; + +# Geometry Views — Spatial Operations (multipoint vs point/linestring) +DROP VIEW IF EXISTS DisjointTempGeommpsr; +DROP VIEW IF EXISTS DistanceTempGeommpsr; +DROP VIEW IF EXISTS IntersectsTempGeommpsr; +DROP VIEW IF EXISTS EqualsTempGeommpsr; +DROP VIEW IF EXISTS ContainTempGeommpsr; +DROP VIEW IF EXISTS equals_opgeommpsr; +DROP VIEW IF EXISTS notequal_opgeommpsr; + +# Geometry Views — STMPointFromText +DROP VIEW IF EXISTS MultipointGeomFromText; + +# Geography Views — Properties +DROP VIEW IF EXISTS DimOfGeographymultipoint; +DROP VIEW IF EXISTS NumPointsOfGeographymultipoint; +DROP VIEW IF EXISTS TextFromGeographymultipoint; +DROP VIEW IF EXISTS BinaryFromGeographymultipoint; +DROP VIEW IF EXISTS SridFromGeographymultipoint; +DROP VIEW IF EXISTS EmptyGeographymultipoint; +DROP VIEW IF EXISTS ValidGeographymultipoint; +DROP VIEW IF EXISTS GeomTypeOfGeographymultipoint; + +# Geography Views — Spatial Operations (multipoint vs multipoint) +DROP VIEW IF EXISTS DisjointTempGeogmultipoint; +DROP VIEW IF EXISTS DistanceTempGeogmultipoint; +DROP VIEW IF EXISTS IntersectsTempGeogmultipoint; +DROP VIEW IF EXISTS EqualsTempGeogmultipoint; +DROP VIEW IF EXISTS equals_opgeogmultipoint; +DROP VIEW IF EXISTS notequal_opgeogmultipoint; + +# Geography Views — Spatial Operations (multipoint vs point) +DROP VIEW IF EXISTS DisjointTempGeogmpsr; +DROP VIEW IF EXISTS DistanceTempGeogmpsr; +DROP VIEW IF EXISTS IntersectsTempGeogmpsr; +DROP VIEW IF EXISTS EqualsTempGeogmpsr; +DROP VIEW IF EXISTS equals_opgeogmpsr; +DROP VIEW IF EXISTS notequal_opgeogmpsr; + +# Geography Views — STMPointFromText +DROP VIEW IF EXISTS MultipointGeogFromText; + +# Geometry Tables +DROP TABLE IF EXISTS GEOSPATIALMULTIPOINTGEOM_dt; +DROP TABLE IF EXISTS GEOSPATIALPOINTGEOM_mpsr; +DROP TABLE IF EXISTS GEOSPATIALMULTIPOINTGEOM_INVALID_dt; +DROP TABLE IF EXISTS geometryAsVarbinarymultipoint; +DROP TABLE IF EXISTS geometryAsVarcharmultipoint; +DROP TABLE IF EXISTS VarbinaryAsgeometrymultipoint; +DROP TABLE IF EXISTS VarCharAsgeometrymultipoint; +DROP TABLE IF EXISTS GeoVarCharAsgeometrymultipoint; + +# Geography Tables +DROP TABLE IF EXISTS GEOSPATIALMULTIPOINTGEOG_dt; +DROP TABLE IF EXISTS geospatialpointxgeog_mpsr; +DROP TABLE IF EXISTS geographyAsVarbinarymultipoint; +DROP TABLE IF EXISTS geographyAsVarcharmultipoint; +DROP TABLE IF EXISTS VarCharAsgeographymultipoint; +DROP TABLE IF EXISTS GeoVarCharAsgeographymultipoint; +DROP TABLE IF EXISTS geographyToByteamultipoint; + +# Prepared Statement Tables +DROP TABLE IF EXISTS GEOSPATIAL_MPGEOMRCV_dt; +DROP TABLE IF EXISTS GEOSPATIAL_MPGEOGRCV_dt; \ No newline at end of file diff --git a/test/JDBC/input/datatypes/Test-Multipoint-vu-prepare.txt b/test/JDBC/input/datatypes/Test-Multipoint-vu-prepare.txt new file mode 100644 index 00000000000..0f34be2dfbf --- /dev/null +++ b/test/JDBC/input/datatypes/Test-Multipoint-vu-prepare.txt @@ -0,0 +1,350 @@ +-- sla 80000 +# Multipoint Geometry Test Cases + +CREATE TABLE GEOSPATIALMULTIPOINTGEOM_dt (location geometry) +ALTER TABLE GEOSPATIALMULTIPOINTGEOM_dt ADD id INT IDENTITY(1,1); + +# Positive Test for STGeomFromText with SRID 4326 — 2D +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((0 0), (10 0), (10 10), (0 10), (5 5))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((-1 2), (3 -4), (0 0))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((999999999 999999999), (-999999999 -999999999))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((0.000001 0.000001), (0.000002 0.000002))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (1 2))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((5 5), (5 5), (5 5))', 4326)); + +# 2D — Alternate WKT (no inner parens) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT(1 2, 3 4)', 4326)); + +# 3D (XYZ) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((10 20 30))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 -3), (4 5 -6))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 0), (4 5 0))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3), (4.4 5.5 6.6))', 4326)); + +# 3D — Partial Z (mixed dimensions) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5), (7 8 9))', 4326)); + +# 2DM (XYM) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 10), (3 4 NULL 20), (5 6 NULL 30))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL -4), (5 6 NULL -8))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 0), (5 6 NULL 0))', 4326)); + +# 2DM — Partial M (mixed dimensions) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (5 6 NULL 8))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6), (7 8 NULL 10))', 4326)); + +# 4D (XYZM) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 -3 -4), (5 6 -7 -8))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3 4.4), (5.5 6.6 7.7 8.8))', 4326)); + +# 4D — Partial (mixed dimensions) +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7), (8 9))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 7 8))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 NULL 8), (9 10))', 4326)); + +# EMPTY +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT EMPTY', 4326)); + +# Negative Test when SRID is not valid +# SRID should be between 0 to 999999 +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 1000000000)); +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', -1)); + +# Negative Test for STGeomFromText when a coordinate is missing +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1), (3 4))', 4326)); + +# Negative Test for STGeomFromText when Incorrect cast is provided +INSERT INTO GEOSPATIALMULTIPOINTGEOM_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326)); + +# Cross-type reference table for spatial operations +CREATE TABLE GEOSPATIALPOINTGEOM_mpsr (location geometry) +ALTER TABLE GEOSPATIALPOINTGEOM_mpsr ADD id INT IDENTITY(1,1); + +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('LINESTRING EMPTY', 4326)); +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('Point(47.65100 -22.34900)', 4326)); +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('Point(47.65100 -22.34900 32.546000)', 4326)); +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('Point(47.65100 -22.34900 NULL 32.546000)', 4326)); +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('Point(47.65100 -22.34900 32.546000 54.56300)', 4326)); +INSERT INTO GEOSPATIALPOINTGEOM_mpsr (location) VALUES (geometry::STGeomFromText('POINT EMPTY', 4326)); + +# Test with invalid instances +CREATE TABLE GEOSPATIALMULTIPOINTGEOM_INVALID_dt (location geometry) +ALTER TABLE GEOSPATIALMULTIPOINTGEOM_INVALID_dt ADD id INT IDENTITY(1,1); + +INSERT INTO GEOSPATIALMULTIPOINTGEOM_INVALID_dt (location) VALUES (geometry::STGeomFromText('MULTIPOINT((1 2 3 4 5), (6 7 8 9 10))', 4326)); + +# Views for geometry multipoint properties +CREATE VIEW DimOfGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STDimension() AS dimension FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW NumPointsOfGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STNumPoints() AS numpoints FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW TextFromGeometrymultipoint AS SELECT location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW BinaryFromGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STAsBinary() AS binary FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW SridFromGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STSrid AS srid FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW EmptyGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STIsEmpty() AS isempty FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW ValidGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STIsValid() AS isvalid FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +CREATE VIEW GeomTypeOfGeometrymultipoint AS SELECT location.STAsText() AS geometry, location.STGeometryType() AS geomtype FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; + +# Spatial operation views — multipoint vs multipoint +CREATE VIEW DisjointTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STDisjoint(p2.location) AS disjoints FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW DistanceTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, CAST(STDistance(p1.location, p2.location) AS numeric(20, 6)) AS distance FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW IntersectsTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STIntersects(p2.location) AS intersecting FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW EqualsTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STEquals(p2.location) AS equals FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW ContainTempGeommultipoint AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STContains(p2.location) AS contain FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 ORDER BY p1.id; + +CREATE VIEW equals_opgeommultipoint AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 WHERE p1.location = p2.location ORDER BY p1.id; + +CREATE VIEW notequal_opgeommultipoint AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOM_dt p2 WHERE p1.location <> p2.location ORDER BY p1.id; + +# Spatial operation views — multipoint vs point/linestring +CREATE VIEW DisjointTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STDisjoint(p2.location) AS disjoints FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW DistanceTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, CAST(STDistance(p1.location, p2.location) AS numeric(20, 6)) AS distance FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW IntersectsTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STIntersects(p2.location) AS intersecting FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW EqualsTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STEquals(p2.location) AS equals FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW ContainTempGeommpsr AS SELECT p1.location.STAsText() AS geometry1, p2.location.STAsText() AS geometry2, p1.location.STContains(p2.location) AS contain FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 ORDER BY p1.id; + +CREATE VIEW equals_opgeommpsr AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 WHERE p1.location = p2.location ORDER BY p1.id; + +CREATE VIEW notequal_opgeommpsr AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOM_dt p1 CROSS JOIN GEOSPATIALPOINTGEOM_mpsr p2 WHERE p1.location <> p2.location ORDER BY p1.id; + +# STMPointFromText view +CREATE VIEW MultipointGeomFromText AS SELECT geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326) AS geom1, geometry::STMPointFromText('MULTIPOINT((5 6 7), (8 9 10))', 4326) AS geom2; + +# CAST to VARBINARY table +CREATE TABLE geometryAsVarbinarymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData VARBINARY(2000)); + +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 NULL 8), (9 10))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2))', 4326) AS VARBINARY(2000))); +INSERT INTO geometryAsVarbinarymultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARBINARY(2000))); + +# CAST to VARCHAR table +CREATE TABLE geometryAsVarcharmultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData VARCHAR(500)); + +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(500))); +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS VARCHAR(500))); +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS VARCHAR(500))); +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS VARCHAR(500))); +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS VARCHAR(500))); +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS VARCHAR(500))); +INSERT INTO geometryAsVarcharmultipoint (geometryData) VALUES (CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARCHAR(500))); + +# VARBINARY back to geometry table +CREATE TABLE VarbinaryAsgeometrymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData geometry); + +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(2000)) AS geometry)); +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS VARBINARY(2000)) AS geometry)); +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS VARBINARY(2000)) AS geometry)); +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS VARBINARY(2000)) AS geometry)); +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS VARBINARY(2000)) AS geometry)); +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS VARBINARY(2000)) AS geometry)); +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326) AS VARBINARY(2000)) AS geometry)); +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326) AS VARBINARY(2000)) AS geometry)); +INSERT INTO VarbinaryAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARBINARY(2000)) AS geometry)); + +# VARCHAR to geometry table +CREATE TABLE VarCharAsgeometrymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData geometry); + +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2), (3 4))' AS VARCHAR(500)) AS geometry)); +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2), (3 4), (5 6))' AS VARCHAR(500)) AS geometry)); +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2 3), (4 5 6))' AS VARCHAR(500)) AS geometry)); +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))' AS VARCHAR(500)) AS geometry)); +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2 3 4), (5 6 7 8))' AS VARCHAR(500)) AS geometry)); +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT((1 2 3), (4 5))' AS VARCHAR(500)) AS geometry)); +INSERT INTO VarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST('MULTIPOINT EMPTY' AS VARCHAR(500)) AS geometry)); + +# GeoVarChar (geometry to VARCHAR back to geometry) +CREATE TABLE GeoVarCharAsgeometrymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geometryData geometry); + +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(500)) AS geometry)); +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS VARCHAR(500)) AS geometry)); +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS VARCHAR(500)) AS geometry)); +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS VARCHAR(500)) AS geometry)); +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS VARCHAR(500)) AS geometry)); +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS VARCHAR(500)) AS geometry)); +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326) AS VARCHAR(500)) AS geometry)); +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326) AS VARCHAR(500)) AS geometry)); +INSERT INTO GeoVarCharAsgeometrymultipoint (geometryData) VALUES (CAST(CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARCHAR(500)) AS geometry)); + + +# ============================================================================ +# Multipoint Geography Test Cases +# ============================================================================ + +CREATE TABLE GEOSPATIALMULTIPOINTGEOG_dt (location geography) +ALTER TABLE GEOSPATIALMULTIPOINTGEOG_dt ADD id INT IDENTITY(1,1); + +# Positive Test for geography multipoint +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((0 0), (10 20), (30 40), (50 60), (70 80))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((-45 -90), (-50 -100))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT((90 0), (-90 0))', 4326)); +INSERT INTO GEOSPATIALMULTIPOINTGEOG_dt (location) VALUES (geography::STGeomFromText('MULTIPOINT EMPTY', 4326)); + +# Cross-type reference table for geography +CREATE TABLE geospatialpointxgeog_mpsr (location geography) +ALTER TABLE geospatialpointxgeog_mpsr ADD id INT IDENTITY(1,1); + +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('LINESTRING EMPTY', 4326)); +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('Point(47.65100 -22.34900)', 4326)); +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('Point(47.65100 -22.34900 32.546000)', 4326)); +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('Point(47.65100 -22.34900 NULL 32.546000)', 4326)); +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('Point(47.65100 -22.34900 32.546000 54.56300)', 4326)); +INSERT INTO geospatialpointxgeog_mpsr (location) VALUES (geography::STGeomFromText('POINT EMPTY', 4326)); + +# Views for geography multipoint properties +CREATE VIEW DimOfGeographymultipoint AS SELECT location.STAsText() AS geography, location.STDimension() AS dimension FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW NumPointsOfGeographymultipoint AS SELECT location.STAsText() AS geography, location.STNumPoints() AS numpoints FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW TextFromGeographymultipoint AS SELECT location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW BinaryFromGeographymultipoint AS SELECT location.STAsText() AS geography, location.STAsBinary() AS binary FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW SridFromGeographymultipoint AS SELECT location.STAsText() AS geography, location.STSrid AS srid FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW EmptyGeographymultipoint AS SELECT location.STAsText() AS geography, location.STIsEmpty() AS isempty FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW ValidGeographymultipoint AS SELECT location.STAsText() AS geography, location.STIsValid() AS isvalid FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +CREATE VIEW GeomTypeOfGeographymultipoint AS SELECT location.STAsText() AS geography, location.STGeometryType() AS geomtype FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; + +# Spatial operation views — geography multipoint vs multipoint +CREATE VIEW DisjointTempGeogmultipoint AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STDisjoint(p2.location) AS disjoints FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 ORDER BY p1.id; + +CREATE VIEW DistanceTempGeogmultipoint AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, CAST(STDistance(p1.location, p2.location) AS numeric(20, 6)) AS distance FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 ORDER BY p1.id; + +CREATE VIEW IntersectsTempGeogmultipoint AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STIntersects(p2.location) AS intersecting FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 ORDER BY p1.id; + +CREATE VIEW EqualsTempGeogmultipoint AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STEquals(p2.location) AS equals FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 ORDER BY p1.id; + +CREATE VIEW equals_opgeogmultipoint AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 WHERE p1.location = p2.location ORDER BY p1.id; + +CREATE VIEW notequal_opgeogmultipoint AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN GEOSPATIALMULTIPOINTGEOG_dt p2 WHERE p1.location <> p2.location ORDER BY p1.id; + +# Spatial operation views — geography multipoint vs point +CREATE VIEW DisjointTempGeogmpsr AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STDisjoint(p2.location) AS disjoints FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 ORDER BY p1.id; + +CREATE VIEW DistanceTempGeogmpsr AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, CAST(STDistance(p1.location, p2.location) AS numeric(20, 6)) AS distance FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 ORDER BY p1.id; + +CREATE VIEW IntersectsTempGeogmpsr AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STIntersects(p2.location) AS intersecting FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 ORDER BY p1.id; + +CREATE VIEW EqualsTempGeogmpsr AS SELECT p1.location.STAsText() AS geography1, p2.location.STAsText() AS geography2, p1.location.STEquals(p2.location) AS equals FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 ORDER BY p1.id; + +CREATE VIEW equals_opgeogmpsr AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 WHERE p1.location = p2.location ORDER BY p1.id; + +CREATE VIEW notequal_opgeogmpsr AS SELECT p1.location AS point FROM GEOSPATIALMULTIPOINTGEOG_dt p1 CROSS JOIN geospatialpointxgeog_mpsr p2 WHERE p1.location <> p2.location ORDER BY p1.id; + +CREATE VIEW MultipointGeogFromText AS SELECT geography::STMPointFromText('MULTIPOINT((45 90), (50 100))', 4326) AS geog1, geography::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS geog2; + +# Geography CAST tables +CREATE TABLE geographyAsVarbinarymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geographyData VARBINARY(2000)); + +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326) AS VARBINARY(2000))); +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326) AS VARBINARY(2000))); +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326) AS VARBINARY(2000))); +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326) AS VARBINARY(2000))); +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326) AS VARBINARY(2000))); +INSERT INTO geographyAsVarbinarymultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARBINARY(2000))); + +CREATE TABLE geographyAsVarcharmultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geographyData VARCHAR(500)); + +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326) AS VARCHAR(500))); +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326) AS VARCHAR(500))); +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326) AS VARCHAR(500))); +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326) AS VARCHAR(500))); +INSERT INTO geographyAsVarcharmultipoint (geographyData) VALUES (CAST(geography::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARCHAR(500))); + +CREATE TABLE VarCharAsgeographymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geographyData geography); + +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT((45 90), (50 100))' AS VARCHAR(500)) AS geography)); +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT((0 0), (45 90), (30 60))' AS VARCHAR(500)) AS geography)); +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT((45 90 100), (50 100 200))' AS VARCHAR(500)) AS geography)); +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT((45 90 100 1), (50 100 200 2))' AS VARCHAR(500)) AS geography)); +INSERT INTO VarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST('MULTIPOINT EMPTY' AS VARCHAR(500)) AS geography)); + +CREATE TABLE GeoVarCharAsgeographymultipoint (ID INT IDENTITY(1,1) PRIMARY KEY, geographyData geography); + +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326) AS VARCHAR(500)) AS geography)); +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326) AS VARCHAR(500)) AS geography)); +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326) AS VARCHAR(500)) AS geography)); +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326) AS VARCHAR(500)) AS geography)); +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326) AS VARCHAR(500)) AS geography)); +INSERT INTO GeoVarCharAsgeographymultipoint (geographyData) VALUES (CAST(CAST(geography::STGeomFromText('MULTIPOINT EMPTY', 4326) AS VARCHAR(500)) AS geography)); + +# Geography bytea round-trip table +CREATE TABLE geographyToByteamultipoint (ID INT PRIMARY KEY, geo_multipoint geography); + +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (1, geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326)); +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (2, geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326)); +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (3, geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326)); +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (4, geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326)); +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (5, geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326)); +INSERT INTO geographyToByteamultipoint (ID, geo_multipoint) VALUES (6, geography::STGeomFromText('MULTIPOINT EMPTY', 4326)); + +# Tests for Geometry type Prepared Statements +CREATE TABLE GEOSPATIAL_MPGEOMRCV_dt (location geometry) + +prepst#!#INSERT INTO GEOSPATIAL_MPGEOMRCV_dt(location) values(@location) #!#GEOMETRY|-|location|-|MULTIPOINT ((1 2), (3 4)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT EMPTY:4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 3), (4 5 6)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 NULL 4), (5 6 NULL 8)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 3 4), (5 6 7 8)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((0 0), (1 1), (2 2)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((-1 -2), (-3 -4)):4326 + +# Tests for Geography type Prepared Statements +CREATE TABLE GEOSPATIAL_MPGEOGRCV_dt (location geography) + +prepst#!#INSERT INTO GEOSPATIAL_MPGEOGRCV_dt(location) values(@location) #!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90), (50 100)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT EMPTY:4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((0 0), (45 90), (30 60)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90 100), (50 100 200)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90 100 1), (50 100 200 2)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90 NULL 1), (50 100 NULL 2)):4326 \ No newline at end of file diff --git a/test/JDBC/input/datatypes/Test-Multipoint-vu-verify.sql b/test/JDBC/input/datatypes/Test-Multipoint-vu-verify.sql new file mode 100644 index 00000000000..d1c1ebbb8b2 --- /dev/null +++ b/test/JDBC/input/datatypes/Test-Multipoint-vu-verify.sql @@ -0,0 +1,2131 @@ + +-- ============================================================================ +-- SECTION 1: MultiPoint 2D (XY) — Text Input +-- ============================================================================ +-- TC-MP-001: MultiPoint 2D — 2 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +GO + +-- TC-MP-001: Roundtrip +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-002: MultiPoint 2D — 3 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326); +GO + +-- TC-MP-002: Roundtrip +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-003: MultiPoint 2D — 4 Points +SELECT geometry::STGeomFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-004: MultiPoint 2D — 5 Points +SELECT geometry::STGeomFromText('MULTIPOINT((0 0), (10 0), (10 10), (0 10), (5 5))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0), (10 0), (10 10), (0 10), (5 5))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-005: MultiPoint 2D — 7 Points +SELECT geometry::STGeomFromText('MULTIPOINT((0 0), (2 3), (4 5), (6 4), (4 2), (2 1), (1 1))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0), (2 3), (4 5), (6 4), (4 2), (2 1), (1 1))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-006: MultiPoint 2D — 10 Points +SELECT geometry::STGeomFromText('MULTIPOINT((0 0),(1 1),(2 2),(3 3),(4 4),(5 5),(6 6),(7 7),(8 8),(9 9))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0),(1 1),(2 2),(3 3),(4 4),(5 5),(6 6),(7 7),(8 8),(9 9))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-007: MultiPoint 2D — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((1 2))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-008: MultiPoint 2D — Negative Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-009: MultiPoint 2D — Mixed Positive/Negative +SELECT geometry::STGeomFromText('MULTIPOINT((-1 2), (3 -4), (0 0))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((-1 2), (3 -4), (0 0))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-010: MultiPoint 2D — Decimal Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-011: MultiPoint 2D — Very Large Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((999999999 999999999), (-999999999 -999999999))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((999999999 999999999), (-999999999 -999999999))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-012: MultiPoint 2D — Very Small Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((0.000001 0.000001), (0.000002 0.000002))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0.000001 0.000001), (0.000002 0.000002))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-013: MultiPoint 2D — Zero Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-014: MultiPoint 2D — Duplicate Points (2 same) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (1 2))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (1 2))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-015: MultiPoint 2D — 3 Identical Points +SELECT geometry::STGeomFromText('MULTIPOINT((5 5), (5 5), (5 5))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((5 5), (5 5), (5 5))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-016: MultiPoint 2D — Alternate WKT (no inner parens) +SELECT geometry::STGeomFromText('MULTIPOINT(1 2, 3 4)', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT(1 2, 3 4)', 4326) AS varbinary(max)) AS geometry); +GO + + +-- ============================================================================ +-- SECTION 2: MultiPoint 3D (XYZ) — Text Input +-- ============================================================================ + +-- TC-MP-017: MultiPoint 3D — 2 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-018: MultiPoint 3D — 3 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-019: MultiPoint 3D — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((10 20 30))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((10 20 30))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-020: MultiPoint 3D — 5 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9), (10 11 12), (13 14 15))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6), (7 8 9), (10 11 12), (13 14 15))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-021: MultiPoint 3D — Negative Z +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 -3), (4 5 -6))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 -3), (4 5 -6))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-022: MultiPoint 3D — Zero Z +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 0), (4 5 0))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 0), (4 5 0))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-023: MultiPoint 3D — Partial Z (first has Z, second doesn't) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-024: MultiPoint 3D — Partial Z (first doesn't, second has Z) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-025: MultiPoint 3D — Partial Z (middle missing, 3 points) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5), (7 8 9))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5), (7 8 9))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-026: MultiPoint 3D — Decimal Z values +SELECT geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3), (4.4 5.5 6.6))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3), (4.4 5.5 6.6))', 4326) AS varbinary(max)) AS geometry); +GO + + +-- ============================================================================ +-- SECTION 3: MultiPoint 2DM (XYM) — Text Input +-- ============================================================================ + +-- TC-MP-027: MultiPoint 2DM — 2 Points (Full M) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-028: MultiPoint 2DM — 3 Points (Full M) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 10), (3 4 NULL 20), (5 6 NULL 30))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 10), (3 4 NULL 20), (5 6 NULL 30))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-029: MultiPoint 2DM — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-030: MultiPoint 2DM — Partial M (first has M, second doesn't) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-031: MultiPoint 2DM — Partial M (first doesn't, second has M) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (5 6 NULL 8))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (5 6 NULL 8))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-032: MultiPoint 2DM — Partial M (middle missing, 3 points) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6), (7 8 NULL 10))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6), (7 8 NULL 10))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-033: MultiPoint 2DM — Negative M values +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL -4), (5 6 NULL -8))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL -4), (5 6 NULL -8))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-034: MultiPoint 2DM — Zero M values +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 0), (5 6 NULL 0))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 0), (5 6 NULL 0))', 4326) AS varbinary(max)) AS geometry); +GO + + +-- ============================================================================ +-- SECTION 4: MultiPoint 4D (XYZM) — Text Input +-- ============================================================================ + +-- TC-MP-035: MultiPoint 4D — 2 Points (Full XYZM) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-036: MultiPoint 4D — 3 Points (Full XYZM) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-037: MultiPoint 4D — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-038: MultiPoint 4D — 5 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12), (13 14 15 16), (17 18 19 20))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8), (9 10 11 12), (13 14 15 16), (17 18 19 20))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-039: MultiPoint 4D — Partial (Z on some, M on some) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7), (8 9))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7), (8 9))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-040: MultiPoint 4D — First has Z only, second has ZM +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 7 8))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-041: MultiPoint 4D — First has M only, second has ZM +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-042: MultiPoint 4D — All partial (no point has full dims) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 NULL 8), (9 10))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 3), (5 6 NULL 8), (9 10))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-043: MultiPoint 4D — Negative Z and M +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 -3 -4), (5 6 -7 -8))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2 -3 -4), (5 6 -7 -8))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-044: MultiPoint 4D — Decimal Z and M +SELECT geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3 4.4), (5.5 6.6 7.7 8.8))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1.1 2.2 3.3 4.4), (5.5 6.6 7.7 8.8))', 4326) AS varbinary(max)) AS geometry); +GO + + +-- ============================================================================ +-- SECTION 5: MultiPoint EMPTY +-- ============================================================================ + +-- TC-MP-045: MultiPoint EMPTY — SRID 4326 +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-046: MultiPoint EMPTY — SRID 0 +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 0); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT EMPTY', 0) AS varbinary(max)) AS geometry); +GO + + +-- ============================================================================ +-- SECTION 6: MultiPoint — SRID Variations +-- ============================================================================ + +-- TC-MP-048: SRID 0 +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 0); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 0) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-049: SRID 4326 +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-050: SRID 4269 +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4269); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4269) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-051: SRID 3857 +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 3857); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 3857) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-052: Large SRID (999999) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 999999); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 999999) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-053: SRID 1 (minimum non-zero) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 1); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 1) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-054: SRID Out of Range — Negative (should ERROR) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', -1); +GO + +-- TC-MP-055: SRID Out of Range — Too Large (should ERROR) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 1000000); +GO + +-- TC-MP-056: SRID Out of Range — Very Large (should ERROR) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 99999999); +GO + + +-- ============================================================================ +-- SECTION 7: MultiPoint — STAsText Output +-- ============================================================================ + +-- TC-MP-057: STAsText — 2D, 2 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsText(); +GO + +-- TC-MP-058: STAsText — 2D, 3 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326).STAsText(); +GO + +-- TC-MP-059: STAsText — 2D, Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((42 84))', 4326).STAsText(); +GO + +-- TC-MP-060: STAsText — 3D (Z stripped) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326).STAsText(); +GO + +-- TC-MP-061: STAsText — 4D (ZM stripped) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326).STAsText(); +GO + +-- TC-MP-062: STAsText — 2DM (M stripped) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326).STAsText(); +GO + +-- TC-MP-063: STAsText — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STAsText(); +GO + +-- TC-MP-064: STAsText — Decimal Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((1.5 2.7), (3.14159 4.00001))', 4326).STAsText(); +GO + +-- TC-MP-065: STAsText — Negative Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((-1 -2), (-3 -4))', 4326).STAsText(); +GO + +-- TC-MP-066: STAsText — Large Coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((999999999 999999999), (-999999999 -999999999))', 4326).STAsText(); +GO + + +-- ============================================================================ +-- SECTION 8: MultiPoint — STAsBinary Output +-- ============================================================================ + +-- TC-MP-067: STAsBinary — 2D, 2 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +GO + +-- TC-MP-068: STAsBinary — 2D, 3 Points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326).STAsBinary(); +GO + +-- TC-MP-069: STAsBinary — 3D (Z stripped in WKB) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326).STAsBinary(); +GO + +-- TC-MP-070: STAsBinary — 4D (ZM stripped in WKB) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326).STAsBinary(); +GO + +-- TC-MP-071: STAsBinary — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STAsBinary(); +GO + +-- TC-MP-072: STAsBinary — Single Point +SELECT geometry::STGeomFromText('MULTIPOINT((42 84))', 4326).STAsBinary(); +GO + + +-- ============================================================================ +-- SECTION 9: MultiPoint — CAST to/from VARCHAR +-- ============================================================================ + +-- TC-MP-073: CAST geometry to VARCHAR(MAX) +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(MAX)); +GO + +-- TC-MP-074: CAST geometry to NVARCHAR(MAX) +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS NVARCHAR(MAX)); +GO + +-- TC-MP-075: CAST geometry to VARCHAR(100) — enough room +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(100)); +GO + +-- TC-MP-076: CAST geometry to VARCHAR(5) — truncation +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARCHAR(5)); +GO + +-- TC-MP-077: CAST VARCHAR to geometry +SELECT CAST('MULTIPOINT((1 2), (3 4))' AS geometry); +GO + +-- TC-MP-078: CAST NVARCHAR to geometry +SELECT CAST(N'MULTIPOINT((1 2), (3 4))' AS geometry); +GO + +-- TC-MP-079: CAST empty MultiPoint string to geometry +SELECT CAST('MULTIPOINT EMPTY' AS geometry); +GO + +-- TC-MP-080: CAST 3D MultiPoint string to geometry +SELECT CAST('MULTIPOINT((1 2 3), (4 5 6))' AS geometry); +GO + +-- TC-MP-081: CAST 4D MultiPoint string to geometry +SELECT CAST('MULTIPOINT((1 2 3 4), (5 6 7 8))' AS geometry); +GO + +-- TC-MP-082: Implicit conversion via variable assignment +DECLARE @g geometry = 'MULTIPOINT((1 2), (3 4))'; +SELECT CAST(@g AS varbinary(max)); +GO + + +-- ============================================================================ +-- SECTION 10: MultiPoint — CAST to/from VARBINARY +-- ============================================================================ + +-- TC-MP-083: CAST geometry to VARBINARY(MAX) +SELECT CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +GO + +-- TC-MP-084: CAST VARBINARY back to geometry — 2D +DECLARE @g084 geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +DECLARE @bin084 VARBINARY(MAX) = CAST(@g084 AS VARBINARY(MAX)); +SELECT CAST(@bin084 AS geometry).STAsText(); +GO + +-- TC-MP-085: CAST VARBINARY back to geometry — 3D +DECLARE @g085 geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +DECLARE @bin085 VARBINARY(MAX) = CAST(@g085 AS VARBINARY(MAX)); +SELECT CAST(@bin085 AS geometry).STAsText(); +GO + +-- TC-MP-086: CAST VARBINARY back to geometry — 4D +DECLARE @g086 geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326); +DECLARE @bin086 VARBINARY(MAX) = CAST(@g086 AS VARBINARY(MAX)); +SELECT CAST(@bin086 AS geometry).STAsText(); +GO + +-- TC-MP-087: CAST VARBINARY back to geometry — Empty +DECLARE @g087 geometry = geometry::STGeomFromText('MULTIPOINT EMPTY', 4326); +DECLARE @bin087 VARBINARY(MAX) = CAST(@g087 AS VARBINARY(MAX)); +SELECT CAST(@bin087 AS geometry).STAsText(); +GO + + +-- TC-MP-088: CAST to VARBINARY(1) — truncation +DECLARE @g088 geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +SELECT CAST(@g088 AS VARBINARY(1)); +GO + + +-- ============================================================================ +-- SECTION 11: MultiPoint — Full Round-Trip Chains +-- ============================================================================ + +-- TC-MP-089: WKT → geometry → VARBINARY → geometry → WKT (2D) +DECLARE @wkt089 VARCHAR(MAX) = 'MULTIPOINT((1 2), (3 4), (5 6))'; +DECLARE @g089a geometry = geometry::STGeomFromText(@wkt089, 4326); +DECLARE @bin089 VARBINARY(MAX) = CAST(@g089a AS VARBINARY(MAX)); +DECLARE @g089b geometry = CAST(@bin089 AS geometry); +SELECT @g089b.STAsText(); +GO + +-- TC-MP-090: WKT → geometry → WKB → geometry → WKT (2D) +DECLARE @wkt090 VARCHAR(MAX) = 'MULTIPOINT((1 2), (3 4))'; +DECLARE @g090a geometry = geometry::STGeomFromText(@wkt090, 4326); +DECLARE @wkb090 VARBINARY(MAX) = @g090a.STAsBinary(); +DECLARE @g090b geometry = geometry::STGeomFromWKB(@wkb090, 4326); +SELECT @g090b.STAsText(); +GO + +-- TC-MP-091: Double round-trip WKT → geom → WKT → geom → WKT +DECLARE @wkt091a VARCHAR(MAX) = 'MULTIPOINT((1.5 2.5), (3.5 4.5))'; +DECLARE @g091a geometry = geometry::STGeomFromText(@wkt091a, 4326); +DECLARE @wkt091b VARCHAR(MAX) = @g091a.STAsText(); +DECLARE @g091b geometry = geometry::STGeomFromText(@wkt091b, 4326); +DECLARE @wkt091c VARCHAR(MAX) = @g091b.STAsText(); +SELECT @wkt091b, @wkt091c; +GO + + +-- TC-MP-092: Double round-trip VARBINARY → geom → VARBINARY → geom → VARBINARY +DECLARE @g092a geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +DECLARE @bin092a VARBINARY(MAX) = CAST(@g092a AS VARBINARY(MAX)); +DECLARE @g092b geometry = CAST(@bin092a AS geometry); +DECLARE @bin092b VARBINARY(MAX) = CAST(@g092b AS VARBINARY(MAX)); +DECLARE @g092c geometry = CAST(@bin092b AS geometry); +DECLARE @bin092c VARBINARY(MAX) = CAST(@g092c AS VARBINARY(MAX)); +SELECT @bin092a, @bin092b, @bin092c; +GO + +-- TC-MP-093: WKT → geom → VARBINARY → geom → WKB → geom → WKT +DECLARE @wkt093 VARCHAR(MAX) = 'MULTIPOINT((10 20), (30 40))'; +DECLARE @g093a geometry = geometry::STGeomFromText(@wkt093, 4326); +DECLARE @bin093 VARBINARY(MAX) = CAST(@g093a AS VARBINARY(MAX)); +DECLARE @g093b geometry = CAST(@bin093 AS geometry); +DECLARE @wkb093 VARBINARY(MAX) = @g093b.STAsBinary(); +DECLARE @g093c geometry = geometry::STGeomFromWKB(@wkb093, 4326); +SELECT @g093c.STAsText(); +GO + +-- TC-MP-094: Round-trip 3D — Verify Z preserved through internal binary +DECLARE @g094a geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +DECLARE @bin094 VARBINARY(MAX) = CAST(@g094a AS VARBINARY(MAX)); +DECLARE @g094b geometry = CAST(@bin094 AS geometry); +DECLARE @bin094b VARBINARY(MAX) = CAST(@g094b AS VARBINARY(MAX)); +SELECT @bin094, @bin094b; +GO + +-- TC-MP-095: Round-trip 4D — Verify ZM preserved through internal binary +DECLARE @g095a geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326); +DECLARE @bin095 VARBINARY(MAX) = CAST(@g095a AS VARBINARY(MAX)); +DECLARE @g095b geometry = CAST(@bin095 AS geometry); +DECLARE @bin095b VARBINARY(MAX) = CAST(@g095b AS VARBINARY(MAX)); +SELECT @bin095, @bin095b; +GO + +-- TC-MP-096: Round-trip Empty +DECLARE @g096a geometry = geometry::STGeomFromText('MULTIPOINT EMPTY', 4326); +DECLARE @bin096 VARBINARY(MAX) = CAST(@g096a AS VARBINARY(MAX)); +DECLARE @g096b geometry = CAST(@bin096 AS geometry); +SELECT @g096b.STAsText(); +GO + +-- TC-MP-097: Round-trip — SRID preservation +DECLARE @g097a geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +DECLARE @bin097 VARBINARY(MAX) = CAST(@g097a AS VARBINARY(MAX)); +DECLARE @g097b geometry = CAST(@bin097 AS geometry); +SELECT @g097a.STSrid, @g097b.STSrid; +GO + +-- TC-MP-098: Round-trip — SRID 0 preservation +DECLARE @g098a geometry = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 0); +DECLARE @bin098 VARBINARY(MAX) = CAST(@g098a AS VARBINARY(MAX)); +DECLARE @g098b geometry = CAST(@bin098 AS geometry); +SELECT @g098a.STSrid, @g098b.STSrid; +GO + + +-- ============================================================================ +-- SECTION 12: MultiPoint — STMPointFromText / STMPointFromWKB +-- ============================================================================ + +-- TC-MP-099: STMPointFromText — Basic 2D +SELECT geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326); +GO + +SELECT CAST(CAST(geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-100: STMPointFromText — 3D +SELECT geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +GO + +SELECT CAST(CAST(geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-101: STMPointFromText — 4D +SELECT geometry::STMPointFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326); +GO + +SELECT CAST(CAST(geometry::STMPointFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-102: STMPointFromText — Empty +SELECT geometry::STMPointFromText('MULTIPOINT EMPTY', 4326); +GO + +SELECT CAST(CAST(geometry::STMPointFromText('MULTIPOINT EMPTY', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-103: STMPointFromText — Wrong geometry type LINESTRING (should ERROR) +SELECT geometry::STMPointFromText('LINESTRING(1 2, 3 4)', 4326); +GO + +-- TC-MP-104: STMPointFromText — Wrong geometry type POINT (should ERROR) +SELECT geometry::STMPointFromText('POINT(1 2)', 4326); +GO + +-- TC-MP-105: STMPointFromText — Wrong geometry type POLYGON (should ERROR) +SELECT geometry::STMPointFromText('POLYGON((0 0, 1 0, 1 1, 0 0))', 4326); +GO + +-- TC-MP-106: STMPointFromText — NULL input +SELECT geometry::STMPointFromText(NULL, 4326); +GO + +-- TC-MP-107: STMPointFromWKB — Basic +DECLARE @wkb107 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STMPointFromWKB(@wkb107, 4326).STAsText(); +GO + +-- TC-MP-108: STMPointFromWKB — Wrong type binary (should ERROR) +DECLARE @wkb108 VARBINARY(MAX) = geometry::STGeomFromText('LINESTRING(1 2, 3 4)', 4326).STAsBinary(); +SELECT geometry::STMPointFromWKB(@wkb108, 4326); +GO + +-- TC-MP-109: STMPointFromWKB — NULL +SELECT geometry::STMPointFromWKB(NULL, 4326); +GO + + +-- ============================================================================ +-- SECTION 13: MultiPoint — Parse / Direct Assignment +-- ============================================================================ + +-- TC-MP-110: geometry::Parse — 2D +SELECT geometry::Parse('MULTIPOINT((1 2), (3 4))'); +GO + +SELECT CAST(CAST(geometry::Parse('MULTIPOINT((1 2), (3 4))') AS varbinary(max)) AS geometry); +GO + +-- TC-MP-111: geometry::Parse — 3D +SELECT geometry::Parse('MULTIPOINT((1 2 3), (4 5 6))'); +GO + +SELECT CAST(CAST(geometry::Parse('MULTIPOINT((1 2 3), (4 5 6))') AS varbinary(max)) AS geometry); +GO + +-- TC-MP-112: geometry::Parse — 4D +SELECT geometry::Parse('MULTIPOINT((1 2 3 4), (5 6 7 8))'); +GO + +-- TC-MP-113: geometry::Parse — Empty +SELECT geometry::Parse('MULTIPOINT EMPTY'); +GO + +SELECT CAST(CAST(geometry::Parse('MULTIPOINT EMPTY') AS varbinary(max)) AS geometry); +GO + +-- TC-MP-114: Direct string assignment to variable +DECLARE @g114 geometry; +SET @g114 = 'MULTIPOINT((1 2), (3 4))'; +SELECT @g114.STAsText(); +SELECT CAST(@g114 AS varbinary(max)); +GO + + +-- ============================================================================ +-- SECTION 14: MultiPoint — STGeomFromWKB +-- ============================================================================ + +-- TC-MP-115: STGeomFromWKB — 2D +DECLARE @wkb115 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb115, 4326).STAsText(); +GO + +-- TC-MP-116: STGeomFromWKB — 3D (note: WKB is 2D, Z lost) +DECLARE @g116 geometry = geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326); +DECLARE @wkb116 VARBINARY(MAX) = @g116.STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb116, 4326).STAsText(); +GO + +-- TC-MP-117: STGeomFromWKB — Empty +DECLARE @wkb117 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb117, 4326).STAsText(); +GO + +-- TC-MP-118: STGeomFromWKB — NULL +SELECT geometry::STGeomFromWKB(NULL, 4326); +GO + +-- TC-MP-119: STGeomFromWKB — SRID preservation +DECLARE @wkb119 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb119, 4326).STSrid; +GO + +-- TC-MP-120: STGeomFromWKB — Different SRID +DECLARE @wkb120 VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STGeomFromWKB(@wkb120, 0).STSrid; +GO + + +-- ============================================================================ +-- SECTION 15: MultiPoint — Case Insensitivity in WKT +-- ============================================================================ + +-- TC-MP-121: lowercase +SELECT geometry::STGeomFromText('multipoint((1 2), (3 4))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('multipoint((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-122: UPPERCASE +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326); +GO + +-- TC-MP-123: MixedCase +SELECT geometry::STGeomFromText('Multipoint((1 2), (3 4))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('Multipoint((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-124: Random case +SELECT geometry::STGeomFromText('MuLtIpOiNt((1 2), (3 4))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MuLtIpOiNt((1 2), (3 4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-125: Verify all cases produce same binary +DECLARE @bin_lower VARBINARY(MAX) = CAST(geometry::STGeomFromText('multipoint((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +DECLARE @bin_upper VARBINARY(MAX) = CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +DECLARE @bin_mixed VARBINARY(MAX) = CAST(geometry::STGeomFromText('Multipoint((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +SELECT @bin_lower, @bin_upper, @bin_mixed; +GO + + +-- ============================================================================ +-- SECTION 16: MultiPoint — Whitespace Handling in WKT +-- ============================================================================ + +-- TC-MP-126: Extra whitespace everywhere +SELECT geometry::STGeomFromText(' MULTIPOINT ( ( 1 2 ) , ( 3 4 ) ) ', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText(' MULTIPOINT ( ( 1 2 ) , ( 3 4 ) ) ', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-127: Tab characters +SELECT geometry::STGeomFromText('MULTIPOINT ((1 2), (3 4))', 4326); +GO + +-- TC-MP-128: Newline characters +SELECT geometry::STGeomFromText('MULTIPOINT((1 2),(3 4))', 4326); +GO + +-- TC-MP-129: No spaces +SELECT geometry::STGeomFromText('MULTIPOINT((1 2),(3 4))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT((1 2),(3 4))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-130: Verify whitespace variations produce same binary +DECLARE @bin_normal VARBINARY(MAX) = CAST(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326) AS VARBINARY(MAX)); +DECLARE @bin_extra VARBINARY(MAX) = CAST(geometry::STGeomFromText(' MULTIPOINT ( ( 1 2 ) , ( 3 4 ) ) ', 4326) AS VARBINARY(MAX)); +DECLARE @bin_tight VARBINARY(MAX) = CAST(geometry::STGeomFromText('MULTIPOINT((1 2),(3 4))', 4326) AS VARBINARY(MAX)); +SELECT @bin_normal, @bin_extra, @bin_tight; +GO + + +-- ============================================================================ +-- SECTION 17: MultiPoint — WKT Error Cases (Negative Tests) +-- ============================================================================ + +-- TC-MP-131: Missing closing parenthesis +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4)', 4326); +GO + +-- TC-MP-132: Missing opening parenthesis +SELECT geometry::STGeomFromText('MULTIPOINT(1 2), (3 4))', 4326); +GO + +-- TC-MP-133: Extra comma at end +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4),)', 4326); +GO + +-- TC-MP-134: Extra comma at beginning +SELECT geometry::STGeomFromText('MULTIPOINT(,(1 2), (3 4))', 4326); +GO + +-- TC-MP-135: Double comma +SELECT geometry::STGeomFromText('MULTIPOINT((1 2),, (3 4))', 4326); +GO + +-- TC-MP-136: Empty inner parentheses +SELECT geometry::STGeomFromText('MULTIPOINT(())', 4326); +GO + +-- TC-MP-137: Letters in coordinates +SELECT geometry::STGeomFromText('MULTIPOINT((abc def), (3 4))', 4326); +GO + +-- TC-MP-138: Only one coordinate per point +SELECT geometry::STGeomFromText('MULTIPOINT((1), (3))', 4326); +GO + +-- TC-MP-139: Too many coordinates per point (5D — beyond XYZM) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4 5), (6 7 8 9 10))', 4326); +GO + +-- TC-MP-140: NULL WKT +SELECT geometry::STGeomFromText(NULL, 4326); +GO + +-- TC-MP-141: NULL SRID +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', NULL); +GO + +-- TC-MP-142: Empty string WKT +SELECT geometry::STGeomFromText('', 4326); +GO + +-- TC-MP-143: Typo in type name +SELECT geometry::STGeomFromText('MULTPOINT((1 2), (3 4))', 4326); +GO + +-- TC-MP-144: Wrong type keyword +SELECT geometry::STGeomFromText('MULTILINESTRING((1 2), (3 4))', 4326); +GO + +-- TC-MP-145: Special characters in WKT +SELECT geometry::STGeomFromText('MULTIPOINT((1 2); (3 4))', 4326); +GO + +-- TC-MP-146: Completely invalid string +SELECT geometry::STGeomFromText('hello world', 4326); +GO + +-- TC-MP-147: Just the keyword +SELECT geometry::STGeomFromText('MULTIPOINT', 4326); +GO + +-- TC-MP-148: Empty parentheses only +SELECT geometry::STGeomFromText('MULTIPOINT()', 4326); +GO + + +-- ============================================================================ +-- SECTION 18: MultiPoint — Geography Type +-- ============================================================================ + +-- TC-MP-149: Geography MultiPoint — Basic 2D, 2 Points +SELECT geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-150: Geography MultiPoint — 3 Points +SELECT geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((0 0), (45 90), (30 60))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-151: Geography MultiPoint — Single Point +SELECT geography::STGeomFromText('MULTIPOINT((45 90))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-152: Geography MultiPoint — 5 Points +SELECT geography::STGeomFromText('MULTIPOINT((0 0), (10 20), (30 40), (50 60), (70 80))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((0 0), (10 20), (30 40), (50 60), (70 80))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-153: Geography MultiPoint EMPTY +SELECT geography::STGeomFromText('MULTIPOINT EMPTY', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT EMPTY', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-154: Geography MultiPoint — 3D (Z) +SELECT geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-155: Geography MultiPoint — 4D (ZM) +SELECT geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-156: Geography MultiPoint — 2DM +SELECT geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-157: Geography MultiPoint — STAsText +SELECT geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326).STAsText(); +GO +-- Expected: MULTIPOINT ((45 90), (50 100)) + +-- TC-MP-158: Geography MultiPoint — STAsBinary +SELECT geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326).STAsBinary(); +GO + +-- TC-MP-159: Geography MultiPoint — Longitude > 180 but < 15069 (valid) +SELECT geography::STGeomFromText('MULTIPOINT((181 0), (200 45))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((181 0), (200 45))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-160: Geography MultiPoint — Boundary values +SELECT geography::STGeomFromText('MULTIPOINT((90 0), (-90 0))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((90 0), (-90 0))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-161: Geography MultiPoint — Max longitude boundary +SELECT geography::STGeomFromText('MULTIPOINT((15069 45), (-15069 45))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((15069 45), (-15069 45))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-162: Geography MultiPoint — Negative coordinates +SELECT geography::STGeomFromText('MULTIPOINT((-45 -90), (-50 -100))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((-45 -90), (-50 -100))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-163: Geography MultiPoint — Zero coordinates +SELECT geography::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326); +GO + +SELECT CAST(CAST(geography::STGeomFromText('MULTIPOINT((0 0), (0 0))', 4326) AS varbinary(max)) AS geography); +GO + + +-- ============================================================================ +-- SECTION 19: Geography MultiPoint — Lat/Lon Validation (Negative Tests) +-- ============================================================================ + +-- TC-MP-164: Latitude overflow (>90) — first point +SELECT geography::STGeomFromText('MULTIPOINT((91 0), (1 2))', 4326); +GO + +-- TC-MP-165: Latitude negative overflow (<-90) — first point +SELECT geography::STGeomFromText('MULTIPOINT((-91 0), (1 2))', 4326); +GO + +-- TC-MP-166: Latitude overflow — second point +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (91 0))', 4326); +GO + +-- TC-MP-167: Latitude overflow — middle point (3 points) +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (91 0), (3 4))', 4326); +GO + +-- TC-MP-168: Latitude overflow — last point (3 points) +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (3 4), (91 0))', 4326); +GO + +-- TC-MP-169: Longitude overflow (>15069) — first point +SELECT geography::STGeomFromText('MULTIPOINT((20000 45), (1 2))', 4326); +GO + +-- TC-MP-170: Longitude negative overflow (<-15069) — first point +SELECT geography::STGeomFromText('MULTIPOINT((-20000 45), (1 2))', 4326); +GO + +-- TC-MP-171: Longitude overflow — second point +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (20000 45))', 4326); +GO + +-- TC-MP-172: Longitude overflow — middle point +SELECT geography::STGeomFromText('MULTIPOINT((1 2), (20000 45), (3 4))', 4326); +GO + +-- TC-MP-173: STMPointFromText — NULL SRID (should ERROR) +SELECT geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', NULL); +GO + +DECLARE @wkb VARBINARY(MAX) = geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +SELECT geometry::STMPointFromWKB(@wkb, NULL); +GO + +-- TC-MP-175: Geography STMPointFromText — Basic +SELECT geography::STMPointFromText('MULTIPOINT((45 90), (50 100))', 4326); +GO + +SELECT CAST(CAST(geography::STMPointFromText('MULTIPOINT((45 90), (50 100))', 4326) AS varbinary(max)) AS geography); +GO + +-- TC-MP-176: Geography STMPointFromText — Empty +SELECT geography::STMPointFromText('MULTIPOINT EMPTY', 4326); +GO + +-- TC-MP-177: Geography STMPointFromText — Wrong type (should ERROR) +SELECT geography::STMPointFromText('POINT(45 90)', 4326); +GO + +-- TC-MP-178: Geography STMPointFromText — NULL input +SELECT geography::STMPointFromText(NULL, 4326); +GO + +-- TC-MP-179: Geography STMPointFromText — NULL SRID (should ERROR) +SELECT geography::STMPointFromText('MULTIPOINT((45 90), (50 100))', NULL); +GO + +-- TC-MP-180: Geography STMPointFromWKB — Basic +DECLARE @wkb180 VARBINARY(MAX) = geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326).STAsBinary(); +SELECT geography::STMPointFromWKB(@wkb180, 4326).STAsText(); +GO + +-- TC-MP-181: Geography STMPointFromWKB — Wrong type (should ERROR) +DECLARE @wkb181 VARBINARY(MAX) = geography::STGeomFromText('LINESTRING(45 90, 50 100)', 4326).STAsBinary(); +SELECT geography::STMPointFromWKB(@wkb181, 4326); +GO + +-- TC-MP-182: Geography STMPointFromWKB — NULL input +SELECT geography::STMPointFromWKB(NULL, 4326); +GO + +-- TC-MP-183: STNumPoints — 2 points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STNumPoints(); +GO + +-- TC-MP-184: STNumPoints — 5 points +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6), (7 8), (9 10))', 4326).STNumPoints(); +GO + +-- TC-MP-185: STNumPoints — Single point +SELECT geometry::STGeomFromText('MULTIPOINT((1 2))', 4326).STNumPoints(); +GO + +-- TC-MP-186: STNumPoints — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STNumPoints(); +GO + +-- TC-MP-187: STGeometryType — 2D +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STGeometryType(); +GO + +-- TC-MP-188: STGeometryType — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STGeometryType(); +GO + +-- TC-MP-189: STGeometryType — Geography +SELECT geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326).STGeometryType(); +GO + +-- TC-MP-190: STIsEmpty — Not empty +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STIsEmpty(); +GO + +-- TC-MP-191: STIsEmpty — Empty +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STIsEmpty(); +GO + +-- TC-MP-192: STIsValid — Valid multipoint +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STIsValid(); +GO + +-- TC-MP-193: STIsValid — Empty (still valid) +SELECT geometry::STGeomFromText('MULTIPOINT EMPTY', 4326).STIsValid(); +GO + +-- TC-MP-208: MULTIPOINT Z syntax +SELECT geometry::STGeomFromText('MULTIPOINT Z((1 2 3), (4 5 6))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT Z((1 2 3), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-209: MULTIPOINT M syntax +SELECT geometry::STGeomFromText('MULTIPOINT M((1 2 3), (4 5 6))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT M((1 2 3), (4 5 6))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-210: MULTIPOINT ZM syntax +SELECT geometry::STGeomFromText('MULTIPOINT ZM((1 2 3 4), (5 6 7 8))', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT ZM((1 2 3 4), (5 6 7 8))', 4326) AS varbinary(max)) AS geometry); +GO + +-- TC-MP-211: MULTIPOINT Z EMPTY +SELECT geometry::STGeomFromText('MULTIPOINT Z EMPTY', 4326); +GO + +-- TC-MP-212: MULTIPOINT M EMPTY +SELECT geometry::STGeomFromText('MULTIPOINT M EMPTY', 4326); +GO + +-- TC-MP-213: MULTIPOINT ZM EMPTY +SELECT geometry::STGeomFromText('MULTIPOINT ZM EMPTY', 4326); +GO + +-- TC-MP-214: MULTIPOINT Z without inner parens +SELECT geometry::STGeomFromText('MULTIPOINT Z(1 2 3, 4 5 6)', 4326); +GO + +SELECT CAST(CAST(geometry::STGeomFromText('MULTIPOINT Z(1 2 3, 4 5 6)', 4326) AS varbinary(max)) AS geometry); +GO + +-- Verify STAsText output +SELECT * FROM TextFromGeometrymultipoint; +GO + +-- Verify STDimension (should be 0 for points) +SELECT * FROM DimOfGeometrymultipoint; +GO + +-- Verify STNumPoints +SELECT * FROM NumPointsOfGeometrymultipoint; +GO + +-- Verify STAsBinary +SELECT * FROM BinaryFromGeometrymultipoint; +GO + +-- Verify STSrid +SELECT * FROM SridFromGeometrymultipoint; +GO + +-- Verify STIsEmpty +SELECT * FROM EmptyGeometrymultipoint; +GO + +-- Verify STIsValid +SELECT * FROM ValidGeometrymultipoint; +GO + +-- Verify STGeometryType +SELECT * FROM GeomTypeOfGeometrymultipoint; +GO + +-- ============================================================================ +-- SECTION: Geometry Spatial Operations (MultiPoint vs MultiPoint) +-- ============================================================================ + +-- Verify STDisjoint +SELECT * FROM DisjointTempGeommultipoint; +GO + +-- Verify STDistance +SELECT * FROM DistanceTempGeommultipoint; +GO + +-- Verify STIntersects +SELECT * FROM IntersectsTempGeommultipoint; +GO + +-- Verify STEquals +SELECT * FROM EqualsTempGeommultipoint; +GO + +-- Verify STContains +SELECT * FROM ContainTempGeommultipoint; +GO + +-- Verify = operator +SELECT * FROM equals_opgeommultipoint; +GO + +-- Verify <> operator +SELECT * FROM notequal_opgeommultipoint; +GO + +-- ============================================================================ +-- SECTION: Geometry Spatial Operations (MultiPoint vs Point/LineString) +-- ============================================================================ + +-- Verify STDisjoint cross-type +SELECT * FROM DisjointTempGeommpsr; +GO + +-- Verify STDistance cross-type +SELECT * FROM DistanceTempGeommpsr; +GO + +-- Verify STIntersects cross-type +SELECT * FROM IntersectsTempGeommpsr; +GO + +-- Verify STEquals cross-type +SELECT * FROM EqualsTempGeommpsr; +GO + +-- Verify STContains cross-type +SELECT * FROM ContainTempGeommpsr; +GO + +-- Verify = operator cross-type +SELECT * FROM equals_opgeommpsr; +GO + +-- Verify <> operator cross-type +SELECT * FROM notequal_opgeommpsr; +GO + +SELECT * FROM MultipointGeomFromText; +GO + +-- Verify geometry stored as VARBINARY +SELECT ID, CAST(geometryData AS geometry).STAsText() AS text FROM geometryAsVarbinarymultipoint ORDER BY ID; +GO + +-- Verify VARBINARY back to geometry +SELECT ID, geometryData.STAsText() AS text FROM VarbinaryAsgeometrymultipoint ORDER BY ID; +GO + +-- Verify binary round-trip matches +SELECT a.ID, a.geometryData, CAST(b.geometryData AS VARBINARY(2000)) AS roundtrip_bin +FROM geometryAsVarbinarymultipoint a +JOIN VarbinaryAsgeometrymultipoint b ON a.ID = b.ID +ORDER BY a.ID; +GO + +-- Verify geometry stored as VARCHAR +SELECT ID, geometryData FROM geometryAsVarcharmultipoint ORDER BY ID; +GO + +-- Verify VARCHAR to geometry +SELECT ID, geometryData.STAsText() AS text FROM VarCharAsgeometrymultipoint ORDER BY ID; +GO + +-- Verify geometry to VARCHAR back to geometry +SELECT ID, geometryData.STAsText() AS text FROM GeoVarCharAsgeometrymultipoint ORDER BY ID; +GO + +-- ============================================================================ +-- SECTION: Geography MultiPoint Property Views +-- ============================================================================ + +-- Verify STAsText output +SELECT * FROM TextFromGeographymultipoint; +GO + +-- Verify STDimension +SELECT * FROM DimOfGeographymultipoint; +GO + +-- Verify STNumPoints +SELECT * FROM NumPointsOfGeographymultipoint; +GO + +-- Verify STAsBinary +SELECT * FROM BinaryFromGeographymultipoint; +GO + +-- Verify STSrid +SELECT * FROM SridFromGeographymultipoint; +GO + +-- Verify STIsEmpty +SELECT * FROM EmptyGeographymultipoint; +GO + +-- Verify STIsValid +SELECT * FROM ValidGeographymultipoint; +GO + +-- Verify STGeometryType +SELECT * FROM GeomTypeOfGeographymultipoint; +GO + +-- ============================================================================ +-- SECTION: Geography Bytea Round-Trip +-- ============================================================================ + +SELECT ID, geo_multipoint.STAsText() AS text FROM geographyToByteamultipoint ORDER BY ID; +GO + +SELECT ID, geo_multipoint.STSrid AS srid FROM geographyToByteamultipoint ORDER BY ID; +GO + +SELECT ID, geo_multipoint.STNumPoints() AS numpoints FROM geographyToByteamultipoint ORDER BY ID; +GO + +SELECT ID, CAST(geo_multipoint AS VARBINARY(MAX)) AS binary FROM geographyToByteamultipoint ORDER BY ID; +GO + +-- Round-trip: geography → VARBINARY → geography → STAsText +SELECT ID, CAST(CAST(geo_multipoint AS VARBINARY(MAX)) AS geography).STAsText() AS roundtrip_text FROM geographyToByteamultipoint ORDER BY ID; +GO + +-- ============================================================================ +-- SECTION: Prepared Statement Tables — Geometry +-- ============================================================================ + +SELECT location.STAsText() AS text FROM GEOSPATIAL_MPGEOMRCV_dt; +GO + +SELECT location.STSrid AS srid FROM GEOSPATIAL_MPGEOMRCV_dt; +GO + +SELECT CAST(location AS VARBINARY(MAX)) AS binary FROM GEOSPATIAL_MPGEOMRCV_dt; +GO + +SELECT CAST(CAST(location AS VARBINARY(MAX)) AS geometry).STAsText() AS roundtrip FROM GEOSPATIAL_MPGEOMRCV_dt; +GO + +-- ============================================================================ +-- SECTION: Prepared Statement Tables — Geography +-- ============================================================================ + +SELECT location.STAsText() AS text FROM GEOSPATIAL_MPGEOGRCV_dt; +GO + +SELECT location.STSrid AS srid FROM GEOSPATIAL_MPGEOGRCV_dt; +GO + +SELECT CAST(location AS VARBINARY(MAX)) AS binary FROM GEOSPATIAL_MPGEOGRCV_dt; +GO + +SELECT CAST(CAST(location AS VARBINARY(MAX)) AS geography).STAsText() AS roundtrip FROM GEOSPATIAL_MPGEOGRCV_dt; +GO + +-- ============================================================================ +-- SECTION: Direct Table Queries — Geometry +-- ============================================================================ + +-- All rows with STAsText +SELECT id, location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; +GO + +-- All rows binary round-trip +SELECT id, CAST(CAST(location AS VARBINARY(MAX)) AS geometry).STAsText() AS roundtrip FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; +GO + +-- HasZ and HasM properties +SELECT id, location.STAsText() AS text, location.HasZ AS hasz, location.HasM AS hasm FROM GEOSPATIALMULTIPOINTGEOM_dt ORDER BY id; +GO + +-- Invalid instance table +SELECT id, location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOM_INVALID_dt ORDER BY id; +GO + +-- All rows with STAsText +SELECT id, location.STAsText() AS text FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; +GO + +-- All rows binary round-trip +SELECT id, CAST(CAST(location AS VARBINARY(MAX)) AS geography).STAsText() AS roundtrip FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; +GO + +-- HasZ and HasM properties +SELECT id, location.STAsText() AS text, location.HasZ AS hasz, location.HasM AS hasm FROM GEOSPATIALMULTIPOINTGEOG_dt ORDER BY id; +GO + +-- ============================================================================ +-- SECTION: Geography Spatial Operations (MultiPoint vs MultiPoint) +-- ============================================================================ + +-- Verify STDisjoint +SELECT * FROM DisjointTempGeogmultipoint; +GO + +-- Verify STDistance +SELECT * FROM DistanceTempGeogmultipoint; +GO + +-- Verify STIntersects +SELECT * FROM IntersectsTempGeogmultipoint; +GO + +-- Verify STEquals +SELECT * FROM EqualsTempGeogmultipoint; +GO + +-- Verify = operator +SELECT * FROM equals_opgeogmultipoint; +GO + +-- Verify <> operator +SELECT * FROM notequal_opgeogmultipoint; +GO + +-- ============================================================================ +-- SECTION: Geography Spatial Operations (MultiPoint vs Point) +-- ============================================================================ + +-- Verify STDisjoint cross-type +SELECT * FROM DisjointTempGeogmpsr; +GO + +-- Verify STDistance cross-type +SELECT * FROM DistanceTempGeogmpsr; +GO + +-- Verify STIntersects cross-type +SELECT * FROM IntersectsTempGeogmpsr; +GO + +-- Verify STEquals cross-type +SELECT * FROM EqualsTempGeogmpsr; +GO + +-- Verify = operator cross-type +SELECT * FROM equals_opgeogmpsr; +GO + +-- Verify <> operator cross-type +SELECT * FROM notequal_opgeogmpsr; +GO + +-- ============================================================================ +-- SECTION: STMPointFromText View — Geography +-- ============================================================================ + +SELECT * FROM MultipointGeogFromText; +GO + +-- ============================================================================ +-- SECTION: Geography VARBINARY Cast +-- ============================================================================ + +-- Verify geography stored as VARBINARY +SELECT ID, CAST(geographyData AS geography).STAsText() AS text FROM geographyAsVarbinarymultipoint ORDER BY ID; +GO + +-- ============================================================================ +-- SECTION: Geography VARCHAR Cast +-- ============================================================================ + +-- Verify geography stored as VARCHAR +SELECT ID, geographyData FROM geographyAsVarcharmultipoint ORDER BY ID; +GO + +-- Verify VARCHAR to geography +SELECT ID, geographyData.STAsText() AS text FROM VarCharAsgeographymultipoint ORDER BY ID; +GO + +-- Verify geography to VARCHAR back to geography +SELECT ID, geographyData.STAsText() AS text FROM GeoVarCharAsgeographymultipoint ORDER BY ID; +GO + +-- TC-MP-308: STGeomFromText → STAsText (basic chain) +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsText(); +GO + +-- TC-MP-309: STGeomFromText → STNumPoints +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STNumPoints(); +GO + +-- TC-MP-310: STGeomFromText → STGeometryType +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STGeometryType(); +GO + +-- TC-MP-311: STGeomFromText → STIsEmpty +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STIsEmpty(); +GO + +-- TC-MP-312: STGeomFromText → STIsValid +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STIsValid(); +GO + +-- TC-MP-313: STGeomFromText → STSrid +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STSrid; +GO + +-- TC-MP-314: STGeomFromText → STAsBinary +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STAsBinary(); +GO + +-- TC-MP-315: STGeomFromText → STDimension +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326).STDimension(); +GO + +-- TC-MP-316: STGeomFromText → HasZ +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326).HasZ; +GO + +-- TC-MP-317: STGeomFromText → HasM +SELECT geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326).HasM; +GO + +-- TC-MP-318: STGeomFromText → STNumGeometries +SELECT geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326).STNumGeometries(); +GO + +-- geometry::STMPointFromText — Valid Cases + +-- Basic 2D multipoint +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); +SELECT @g.STAsText(); +GO + +-- Single point +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((5 10))', 0); +SELECT @g.STAsText(); +GO + +-- Without inner parentheses +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT(1 2, 3 4)', 0); +SELECT @g.STAsText(); +GO + +-- 3D multipoint +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 0); +SELECT @g.STAsText(); +GO + +-- 4D multipoint +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 0); +SELECT @g.STAsText(); +GO + +-- Empty multipoint +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT EMPTY', 0); +SELECT @g.STAsText(); +GO + +-- Many points +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3), (4 4), (5 5))', 0); +SELECT @g.STAsText(); +GO + +-- Negative coordinates +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((-1 -2), (-3 -4))', 0); +SELECT @g.STAsText(); +GO + +-- Decimal coordinates +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1.5 2.5), (3.75 4.25))', 0); +SELECT @g.STAsText(); +GO + +-- Large coordinates +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1000000 2000000), (3000000 4000000))', 0); +SELECT @g.STAsText(); +GO + +-- Duplicate points +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (1 2), (1 2))', 0); +SELECT @g.STAsText(); +GO + +-- With SRID +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326); +SELECT @g.STAsText(); +GO + +-- NULL WKT input +DECLARE @g geometry = geometry::STMPointFromText(NULL, 0); +SELECT @g.STAsText(); +GO + +-- Mixed dimensions (2D and 3D) +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5))', 0); +SELECT @g.STAsText(); +GO + +-- NULL Z with M +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 0); +SELECT @g.STAsText(); +GO + +-- ============================================ +-- geometry::STMPointFromText — Error Cases +-- ============================================ + +-- NULL SRID +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', NULL); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: POINT +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('POINT(1 2)', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: LINESTRING +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('LINESTRING(0 0, 1 1)', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: POLYGON +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Invalid WKT +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3))', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Invalid SRID (negative) +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', -1); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Invalid SRID (too large) +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 1000000); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- ============================================ +-- Binary round-trip +-- ============================================ + +-- 2D round-trip +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); +DECLARE @b varbinary(max) = CAST(@g AS varbinary(max)); +DECLARE @g2 geometry = CAST(@b AS geometry); +SELECT @g2.STAsText(); +GO + +-- 3D round-trip +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2 3), (4 5 6))', 0); +DECLARE @b varbinary(max) = CAST(@g AS varbinary(max)); +DECLARE @g2 geometry = CAST(@b AS geometry); +SELECT @g2.STAsText(); +GO + +-- Empty round-trip +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT EMPTY', 0); +DECLARE @b varbinary(max) = CAST(@g AS varbinary(max)); +DECLARE @g2 geometry = CAST(@b AS geometry); +SELECT @g2.STAsText(); +GO + +-- ============================================ +-- geography::STMPointFromText — Valid Cases +-- ============================================ + +-- Basic 2D (lat/lon within range) +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30), (60 40))', 4326); +SELECT @g.STAsText(); +GO + +-- Single point +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 4326); +SELECT @g.STAsText(); +GO + +-- Empty +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT EMPTY', 4326); +SELECT @g.STAsText(); +GO + +-- Boundary latitude values +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((0 90), (0 -90))', 4326); +SELECT @g.STAsText(); +GO + +-- Boundary longitude values +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((180 0), (-180 0))', 4326); +SELECT @g.STAsText(); +GO + +-- NULL WKT +DECLARE @g geography = geography::STMPointFromText(NULL, 4326); +SELECT @g.STAsText(); +GO + +-- Without inner parentheses +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT(50 30, 60 40)', 4326); +SELECT @g.STAsText(); +GO + +-- ============================================ +-- geography::STMPointFromText — Error Cases +-- ============================================ + +-- NULL SRID +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', NULL); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Invalid latitude (> 90) +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 100), (60 40))', 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Invalid latitude (< -90) +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 -100), (60 40))', 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Invalid SRID +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: POINT +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('POINT(50 30)', 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: LINESTRING +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('LINESTRING(50 30, 60 40)', 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Geography binary round-trip +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30), (60 40))', 4326); +DECLARE @b varbinary(max) = CAST(@g AS varbinary(max)); +DECLARE @g2 geography = CAST(@b AS geography); +SELECT @g2.STAsText(); +GO + +-- ============================================ +-- geometry::STMPointFromWKB — Valid Cases +-- ============================================ + +-- Basic 2D multipoint from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO + +-- Single point from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((5 10))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO + +-- Empty multipoint from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT EMPTY', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO + +-- Many points from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((0 0), (1 1), (2 2), (3 3), (4 4))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO + +-- Negative coordinates from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((-1 -2), (-3 -4))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO + +-- Decimal coordinates from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1.5 2.5), (3.75 4.25))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO + +-- Large coordinates from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1000000 2000000), (3000000 4000000))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO + +-- Duplicate points from WKB +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (1 2), (1 2))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +SELECT @g2.STAsText(); +GO + +-- With SRID +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO + +-- NULL WKB input +DECLARE @g geometry = geometry::STMPointFromWKB(NULL, 0); +SELECT @g.STAsText(); +GO + +-- Full round-trip: WKT → WKB → geometry → varbinary → geometry +DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +DECLARE @b2 varbinary(max) = CAST(@g2 AS varbinary(max)); +DECLARE @g3 geometry = CAST(@b2 AS geometry); +SELECT @g3.STAsText(); +GO + +-- ============================================ +-- geometry::STMPointFromWKB — Error Cases +-- ============================================ + +-- NULL SRID +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, NULL); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: POINT WKB +BEGIN TRY + DECLARE @g geometry = geometry::STPointFromText('POINT(1 2)', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: LINESTRING WKB +BEGIN TRY + DECLARE @g geometry = geometry::STLineFromText('LINESTRING(0 0, 1 1)', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: POLYGON WKB +BEGIN TRY + DECLARE @g geometry = geometry::STPolyFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Invalid SRID (negative) +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, -1); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Invalid SRID (too large) +BEGIN TRY + DECLARE @g geometry = geometry::STMPointFromText('MULTIPOINT((1 2), (3 4))', 0); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geometry = geometry::STMPointFromWKB(@b, 1000000); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- ============================================ +-- geography::STMPointFromWKB — Valid Cases +-- ============================================ + +-- Basic 2D +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30), (60 40))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO + +-- Single point +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO + +-- Empty +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT EMPTY', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO + +-- NULL WKB +DECLARE @g geography = geography::STMPointFromWKB(NULL, 4326); +SELECT @g.STAsText(); +GO + +-- Boundary latitude +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((0 90), (0 -90))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO + +-- Boundary longitude +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((180 0), (-180 0))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO + +-- Many points +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((10 20), (30 40), (50 60))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +SELECT @g2.STAsText(); +GO + +-- Full round-trip geography +DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30), (60 40))', 4326); +DECLARE @b varbinary(max) = @g.STAsBinary(); +DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +DECLARE @b2 varbinary(max) = CAST(@g2 AS varbinary(max)); +DECLARE @g3 geography = CAST(@b2 AS geography); +SELECT @g3.STAsText(); +GO + +-- ============================================ +-- geography::STMPointFromWKB — Error Cases +-- ============================================ + +-- NULL SRID +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, NULL); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Invalid SRID +BEGIN TRY + DECLARE @g geography = geography::STMPointFromText('MULTIPOINT((50 30))', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, 0); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: POINT WKB +BEGIN TRY + DECLARE @g geography = geography::STPointFromText('POINT(50 30)', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: LINESTRING WKB +BEGIN TRY + DECLARE @g geography = geography::STLineFromText('LINESTRING(50 30, 60 40)', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO + +-- Wrong type: POLYGON WKB +BEGIN TRY + DECLARE @g geography = geography::STPolyFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 4326); + DECLARE @b varbinary(max) = @g.STAsBinary(); + DECLARE @g2 geography = geography::STMPointFromWKB(@b, 4326); +END TRY +BEGIN CATCH + SELECT ERROR_MESSAGE(); +END CATCH +GO \ No newline at end of file diff --git a/test/JDBC/upgrade/latest/schedule b/test/JDBC/upgrade/latest/schedule index a6f165165a2..f74944e924f 100644 --- a/test/JDBC/upgrade/latest/schedule +++ b/test/JDBC/upgrade/latest/schedule @@ -672,6 +672,7 @@ BABEL-4271 comparison_op_index_scan Test-Linestring Test-Polygon +Test-Multipoint BABEL-5788 BABEL-1664 sys-fn_varbintohexstr diff --git a/test/dotnet/ExpectedOutput/TestMultipoint.out b/test/dotnet/ExpectedOutput/TestMultipoint.out new file mode 100644 index 00000000000..8b10f08a70b --- /dev/null +++ b/test/dotnet/ExpectedOutput/TestMultipoint.out @@ -0,0 +1,115 @@ +#Q#CREATE TABLE MPGEOM_dt(location GEOMETRY); +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(@location) +#Q#CREATE TABLE MPGEOG_dt(location GEOGRAPHY); +#Q#INSERT INTO MPGEOG_dt(location) values(@location) +#E#Error converting data type varbinary to geography. +#Q#INSERT INTO MPGEOG_dt(location) values(@location) +#Q#INSERT INTO MPGEOG_dt(location) values(@location) +#Q#INSERT INTO MPGEOG_dt(location) values(@location) +#E#Error converting data type varbinary to geography. +#Q#INSERT INTO MPGEOG_dt(location) values(@location) +#E#Error converting data type varbinary to geography. +#Q#INSERT INTO MPGEOG_dt(location) values(@location) +#E#Error converting data type varbinary to geography. +#Q#INSERT INTO MPGEOG_dt(location) values(@location) +#E#Error converting data type varbinary to geography. +#Q#INSERT INTO MPGEOG_dt(location) values(@location) +#Q#INSERT INTO MPGEOG_dt(location) values(@location) +#Q#INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326)) +#Q#INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326)) +#Q#INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326)) +#Q#INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326)) +#Q#INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1), (3 4))', 4326)) +#E#Invalid geometry +#Q#INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326)) +#Q#INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326)) +#E#Latitude values must be between -90 and 90 degrees +#Q#INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326)) +#E#Latitude values must be between -90 and 90 degrees +#Q#INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326)) +#E#Latitude values must be between -90 and 90 degrees +#Q#INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326)) +#E#Latitude values must be between -90 and 90 degrees +#Q#INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((1), (3 4))', 4326)) +#E#Invalid geometry +#Q#INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT EMPTY', 4326)) +#Q#SELECT * FROM MPGEOM_dt; +#D#master.sys.geometry +MULTIPOINT ((1 2), (3 4)) +MULTIPOINT EMPTY +MULTIPOINT ((1 2), (3 4), (5 6)) +MULTIPOINT ((1 2 3), (4 5 6)) +MULTIPOINT ((1 2 3), (4 5 6)) +MULTIPOINT ((1 2 3), (4 5 6)) +MULTIPOINT ((1 2 3), (4 5)) +MULTIPOINT ((1 2), (4 5 6)) +MULTIPOINT ((1 2), (4 5 6)) +MULTIPOINT ((-1 -2), (-3 -4)) +MULTIPOINT ((1 2), (3 4)) +MULTIPOINT ((1 2 3), (4 5 6)) +MULTIPOINT ((1 2 NULL 4), (5 6 NULL 8)) +MULTIPOINT ((1 2 3 4), (5 6 7 8)) +MULTIPOINT EMPTY +#Q#SELECT * FROM MPGEOG_dt; +#D#master.sys.geography +MULTIPOINT EMPTY +MULTIPOINT ((0 0), (45 90), (30 60)) +MULTIPOINT ((0 0), (0 0)) +MULTIPOINT ((90 0), (-90 0)) +MULTIPOINT EMPTY +#Q#CREATE TABLE MP_EMP_dt(geom GEOMETRY, geog GEOGRAPHY); +#Q#INSERT INTO MP_EMP_dt(geom) values(@geom) +#Q#INSERT INTO MP_EMP_dt(geog) values(@geog) +#Q#INSERT INTO MP_EMP_dt(geom) values(@geom) +#Q#INSERT INTO MP_EMP_dt(geog) values(@geog) +#Q#SELECT geom.STAsText(), geog.STAsText() FROM MP_EMP_dt; +#D#nvarchar#!#nvarchar +MULTIPOINT EMPTY#!# +#!#MULTIPOINT EMPTY +MULTIPOINT EMPTY#!# +#!#MULTIPOINT EMPTY +#Q#SELECT geom.STDimension(), geog.STDimension() FROM MP_EMP_dt; +#D#int#!#int +-1#!# +#!#-1 +-1#!# +#!#-1 +#Q#SELECT geom.STIsClosed(), geog.STIsClosed() FROM MP_EMP_dt; +#D#bit#!#bit +False#!# +#!#False +False#!# +#!#False +#Q#SELECT geom.STIsValid(), geog.STIsValid() FROM MP_EMP_dt; +#D#bit#!#bit +True#!# +#!#True +True#!# +#!#True +#Q#SELECT geom.STAsBinary(), geog.STAsBinary() FROM MP_EMP_dt; +#D#varbinary#!#varbinary +140000000#!# + +140000000 +140000000#!# + + +140000000 +#Q#SELECT geom.STArea(), geog.STArea() FROM MP_EMP_dt; +#D#float#!#float +0#!# +#!#0 +0#!# +#!#0 +#Q#DROP TABLE IF EXISTS MPGEOM_dt; +#Q#DROP TABLE IF EXISTS MPGEOG_dt; +#Q#DROP TABLE IF EXISTS MP_EMP_dt; diff --git a/test/dotnet/input/Datatypes/TestMultipoint.txt b/test/dotnet/input/Datatypes/TestMultipoint.txt new file mode 100644 index 00000000000..857d025732a --- /dev/null +++ b/test/dotnet/input/Datatypes/TestMultipoint.txt @@ -0,0 +1,55 @@ +CREATE TABLE MPGEOM_dt(location GEOMETRY); +prepst#!#INSERT INTO MPGEOM_dt(location) values(@location) #!#GEOMETRY|-|location|-|MULTIPOINT ((1 2), (3 4)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT EMPTY:4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2), (3 4), (5 6)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 3), (4 5 6)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 NULL 4), (5 6 NULL 8)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 3 4), (5 6 7 8)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 3), (4 5)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2), (4 5 6)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((1 2 NULL 4), (5 6 7 8)):4326 +prepst#!#exec#!#GEOMETRY|-|location|-|MULTIPOINT ((-1 -2), (-3 -4)):4326 + +CREATE TABLE MPGEOG_dt(location GEOGRAPHY); +prepst#!#INSERT INTO MPGEOG_dt(location) values(@location) #!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90), (50 100)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT EMPTY:4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((0 0), (45 90), (30 60)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90 100), (50 100 200)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90 NULL 1), (50 100 NULL 2)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((45 90 100 1), (50 100 200 2)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((-45 -90), (-50 -100)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((0 0), (0 0)):4326 +prepst#!#exec#!#GEOGRAPHY|-|location|-|MULTIPOINT ((90 0), (-90 0)):4326 + +INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326)) +INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326)) +INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 4), (5 6 NULL 8))', 4326)) +INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326)) +INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT((1), (3 4))', 4326)) +INSERT INTO MPGEOM_dt(location) values(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326)) + +INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((45 90), (50 100))', 4326)) +INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((45 90 100), (50 100 200))', 4326)) +INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((45 90 100 1), (50 100 200 2))', 4326)) +INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((45 90 NULL 1), (50 100 NULL 2))', 4326)) +INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT((1), (3 4))', 4326)) +INSERT INTO MPGEOG_dt(location) values(geography::STGeomFromText('MULTIPOINT EMPTY', 4326)) + +SELECT * FROM MPGEOM_dt; +SELECT * FROM MPGEOG_dt; + +CREATE TABLE MP_EMP_dt(geom GEOMETRY, geog GEOGRAPHY); +prepst#!#INSERT INTO MP_EMP_dt(geom) values(@geom) #!#GEOMETRY|-|geom|-|MULTIPOINT EMPTY:4326 +prepst#!#INSERT INTO MP_EMP_dt(geog) values(@geog) #!#GEOGRAPHY|-|geog|-|MULTIPOINT EMPTY:4326 +prepst#!#INSERT INTO MP_EMP_dt(geom) values(@geom) #!#GEOMETRY|-|geom|-|MULTIPOINT EMPTY:0 +prepst#!#INSERT INTO MP_EMP_dt(geog) values(@geog) #!#GEOGRAPHY|-|geog|-|MULTIPOINT EMPTY:4121 +SELECT geom.STAsText(), geog.STAsText() FROM MP_EMP_dt; +SELECT geom.STDimension(), geog.STDimension() FROM MP_EMP_dt; +SELECT geom.STIsClosed(), geog.STIsClosed() FROM MP_EMP_dt; +SELECT geom.STIsValid(), geog.STIsValid() FROM MP_EMP_dt; +SELECT geom.STAsBinary(), geog.STAsBinary() FROM MP_EMP_dt; +SELECT geom.STArea(), geog.STArea() FROM MP_EMP_dt; + +DROP TABLE IF EXISTS MPGEOM_dt; +DROP TABLE IF EXISTS MPGEOG_dt; +DROP TABLE IF EXISTS MP_EMP_dt; diff --git a/test/odbc/psqlodbc/test/geography.cpp b/test/odbc/psqlodbc/test/geography.cpp index a7e557ce499..8c9cfabd93a 100644 --- a/test/odbc/psqlodbc/test/geography.cpp +++ b/test/odbc/psqlodbc/test/geography.cpp @@ -80,7 +80,20 @@ TEST_F(PSQL_DataTypes_Geography, Insertion_Success) { "(geography::STGeomFromText('POLYGON((0 0 1, 10 0 2, 10 10 3, 0 10 4, 0 0 1), (2 2 5, 8 2 6, 8 8 7, 2 8 8, 2 2 5))', 4326))", "(geography::STGeomFromText('POLYGON((0 0 NULL 1, 10 0 2 NULL, 10 10 NULL 3, 0 10 4 NULL, 0 0 NULL 1), (2 2 5 NULL, 8 2 NULL 6, 8 8 7 NULL, 2 8 NULL 8, 2 2 5 NULL))', 4326))", "(geography::STGeomFromText('POLYGON((0 0 1 2, 10 0 3 4, 10 10 5 6, 0 10 7 8, 0 0 1 2), (2 2 9 10, 8 2 11 12, 8 8 13 14, 2 8 15 16, 2 2 9 10), (4 4 17 18, 6 4 19 20, 6 6 21 22, 4 6 23 24, 4 4 17 18))', 4326))", - "(geography::STGeomFromText('POLYGON EMPTY', 4326))" + "(geography::STGeomFromText('POLYGON EMPTY', 4326))", + // test cases for MULTIPOINT + "(geography::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5 NULL 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL), (3 4 NULL))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL NULL), (3 4 NULL NULL))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2))', 4326))", + "(geography::STGeomFromText('MULTIPOINT EMPTY', 4326))" }; const vector EXPECTED_VALUES = { "E6100000010CD34D6210585936C017D9CEF753D34740", @@ -116,7 +129,21 @@ TEST_F(PSQL_DataTypes_Geography, Insertion_Success) { "E610000001050A00000000000000000000000000000000000000000000000000000000000000000024400000000000002440000000000000244000000000000024400000000000000000000000000000000000000000000000000000000000000040000000000000004000000000000000400000000000002040000000000000204000000000000020400000000000002040000000000000004000000000000000400000000000000040000000000000F03F000000000000004000000000000008400000000000001040000000000000F03F000000000000144000000000000018400000000000001C4000000000000020400000000000001440020000000200000000000500000001000000FFFFFFFF0000000003", "E610000001070A00000000000000000000000000000000000000000000000000000000000000000024400000000000002440000000000000244000000000000024400000000000000000000000000000000000000000000000000000000000000040000000000000004000000000000000400000000000002040000000000000204000000000000020400000000000002040000000000000004000000000000000400000000000000040000000000000F8FF0000000000000040000000000000F8FF0000000000001040000000000000F8FF0000000000001440000000000000F8FF0000000000001C40000000000000F8FF0000000000001440000000000000F03F000000000000F8FF0000000000000840000000000000F8FF000000000000F03F000000000000F8FF0000000000001840000000000000F8FF0000000000002040000000000000F8FF020000000200000000000500000001000000FFFFFFFF0000000003", "E610000002030F000000000000000000000000000000000000000000000000000000000000000000244000000000000024400000000000002440000000000000244000000000000000000000000000000000000000000000000000000000000000400000000000000040000000000000004000000000000020400000000000002040000000000000204000000000000020400000000000000040000000000000004000000000000000400000000000001040000000000000104000000000000010400000000000001840000000000000184000000000000018400000000000001840000000000000104000000000000010400000000000001040000000000000F03F000000000000084000000000000014400000000000001C40000000000000F03F000000000000224000000000000026400000000000002A400000000000002E4000000000000022400000000000003140000000000000334000000000000035400000000000003740000000000000314000000000000000400000000000001040000000000000184000000000000020400000000000000040000000000000244000000000000028400000000000002C4000000000000030400000000000002440000000000000324000000000000034400000000000003640000000000000384000000000000032400300000002000000000005000000000A00000001000000FFFFFFFF0000000003", - "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03" + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03", + + // Expected values for MULTIPOINT test cases + "E61000000104020000000000000000000040000000000000F03F00000000000010400000000000000840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104030000000000000000000040000000000000F03F00000000000010400000000000000840000000000000184000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001", + "E61000000105020000000000000000000040000000000000F03F0000000000001440000000000000104000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000105020000000000000000000040000000000000F03F000000000000144000000000000010400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000106020000000000000000000040000000000000F03F0000000000001440000000000000104000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000106020000000000000000000040000000000000F03F000000000000144000000000000010400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000107020000000000000000000040000000000000F03F0000000000001840000000000000144000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000107020000000000000000000040000000000000F03F000000000000184000000000000014400000000000000840000000000000F8FF0000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104020000000000000000000040000000000000F03F00000000000010400000000000000840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104020000000000000000000040000000000000F03F00000000000010400000000000000840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104010000000000000000000040000000000000F03F01000000010000000002000000FFFFFFFF0000000004000000000000000001", + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04" }; const int NUM_OF_INSERTS = INSERTED_VALUES.size(); @@ -167,7 +194,20 @@ TEST_F(PSQL_DataTypes_Geography, Update_Success) { "(geography::STGeomFromText('POLYGON((0 0 1, 10 0 2, 10 10 3, 0 10 4, 0 0 1), (2 2 5, 8 2 6, 8 8 7, 2 8 8, 2 2 5))', 4326))", "(geography::STGeomFromText('POLYGON((0 0 NULL 1, 10 0 2 NULL, 10 10 NULL 3, 0 10 4 NULL, 0 0 NULL 1), (2 2 5 NULL, 8 2 NULL 6, 8 8 7 NULL, 2 8 NULL 8, 2 2 5 NULL))', 4326))", "(geography::STGeomFromText('POLYGON((0 0 1 2, 10 0 3 4, 10 10 5 6, 0 10 7 8, 0 0 1 2), (2 2 9 10, 8 2 11 12, 8 8 13 14, 2 8 15 16, 2 2 9 10), (4 4 17 18, 6 4 19 20, 6 6 21 22, 4 6 23 24, 4 4 17 18))', 4326))", - "(geography::STGeomFromText('POLYGON EMPTY', 4326))" + "(geography::STGeomFromText('POLYGON EMPTY', 4326))", + // test cases for MULTIPOINT + "(geography::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5 NULL 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL), (3 4 NULL))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL NULL), (3 4 NULL NULL))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2))', 4326))", + "(geography::STGeomFromText('MULTIPOINT EMPTY', 4326))" }; const vector EXPECTED_UPDATED_VALUES = { "E6100000010C0000000000000040000000000000F03F", @@ -202,7 +242,20 @@ TEST_F(PSQL_DataTypes_Geography, Update_Success) { "E610000001050A00000000000000000000000000000000000000000000000000000000000000000024400000000000002440000000000000244000000000000024400000000000000000000000000000000000000000000000000000000000000040000000000000004000000000000000400000000000002040000000000000204000000000000020400000000000002040000000000000004000000000000000400000000000000040000000000000F03F000000000000004000000000000008400000000000001040000000000000F03F000000000000144000000000000018400000000000001C4000000000000020400000000000001440020000000200000000000500000001000000FFFFFFFF0000000003", "E610000001070A00000000000000000000000000000000000000000000000000000000000000000024400000000000002440000000000000244000000000000024400000000000000000000000000000000000000000000000000000000000000040000000000000004000000000000000400000000000002040000000000000204000000000000020400000000000002040000000000000004000000000000000400000000000000040000000000000F8FF0000000000000040000000000000F8FF0000000000001040000000000000F8FF0000000000001440000000000000F8FF0000000000001C40000000000000F8FF0000000000001440000000000000F03F000000000000F8FF0000000000000840000000000000F8FF000000000000F03F000000000000F8FF0000000000001840000000000000F8FF0000000000002040000000000000F8FF020000000200000000000500000001000000FFFFFFFF0000000003", "E610000002030F000000000000000000000000000000000000000000000000000000000000000000244000000000000024400000000000002440000000000000244000000000000000000000000000000000000000000000000000000000000000400000000000000040000000000000004000000000000020400000000000002040000000000000204000000000000020400000000000000040000000000000004000000000000000400000000000001040000000000000104000000000000010400000000000001840000000000000184000000000000018400000000000001840000000000000104000000000000010400000000000001040000000000000F03F000000000000084000000000000014400000000000001C40000000000000F03F000000000000224000000000000026400000000000002A400000000000002E4000000000000022400000000000003140000000000000334000000000000035400000000000003740000000000000314000000000000000400000000000001040000000000000184000000000000020400000000000000040000000000000244000000000000028400000000000002C4000000000000030400000000000002440000000000000324000000000000034400000000000003640000000000000384000000000000032400300000002000000000005000000000A00000001000000FFFFFFFF0000000003", - "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03" + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03", + // Expected values for MULTIPOINT test cases + "E61000000104020000000000000000000040000000000000F03F00000000000010400000000000000840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104030000000000000000000040000000000000F03F00000000000010400000000000000840000000000000184000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001", + "E61000000105020000000000000000000040000000000000F03F0000000000001440000000000000104000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000105020000000000000000000040000000000000F03F000000000000144000000000000010400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000106020000000000000000000040000000000000F03F0000000000001440000000000000104000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000106020000000000000000000040000000000000F03F000000000000144000000000000010400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000107020000000000000000000040000000000000F03F0000000000001840000000000000144000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000107020000000000000000000040000000000000F03F000000000000184000000000000014400000000000000840000000000000F8FF0000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104020000000000000000000040000000000000F03F00000000000010400000000000000840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104020000000000000000000040000000000000F03F00000000000010400000000000000840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104010000000000000000000040000000000000F03F01000000010000000002000000FFFFFFFF0000000004000000000000000001", + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04" }; createTable(ServerType::MSSQL, TABLE_NAME, TABLE_COLUMNS); @@ -248,7 +301,20 @@ TEST_F(PSQL_DataTypes_Geography, View_creation) { "(geography::STGeomFromText('POLYGON((0 0 1, 10 0 2, 10 10 3, 0 10 4, 0 0 1), (2 2 5, 8 2 6, 8 8 7, 2 8 8, 2 2 5))', 4326))", "(geography::STGeomFromText('POLYGON((0 0 NULL 1, 10 0 2 NULL, 10 10 NULL 3, 0 10 4 NULL, 0 0 NULL 1), (2 2 5 NULL, 8 2 NULL 6, 8 8 7 NULL, 2 8 NULL 8, 2 2 5 NULL))', 4326))", "(geography::STGeomFromText('POLYGON((0 0 1 2, 10 0 3 4, 10 10 5 6, 0 10 7 8, 0 0 1 2), (2 2 9 10, 8 2 11 12, 8 8 13 14, 2 8 15 16, 2 2 9 10), (4 4 17 18, 6 4 19 20, 6 6 21 22, 4 6 23 24, 4 4 17 18))', 4326))", - "(geography::STGeomFromText('POLYGON EMPTY', 4326))" + "(geography::STGeomFromText('POLYGON EMPTY', 4326))", + // test cases for MULTIPOINT + "(geography::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5 NULL 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL), (3 4 NULL))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2 NULL NULL), (3 4 NULL NULL))', 4326))", + "(geography::STGeomFromText('MULTIPOINT((1 2))', 4326))", + "(geography::STGeomFromText('MULTIPOINT EMPTY', 4326))" }; const vector EXPECTED_VALUES = { @@ -285,7 +351,21 @@ TEST_F(PSQL_DataTypes_Geography, View_creation) { "E610000001050A00000000000000000000000000000000000000000000000000000000000000000024400000000000002440000000000000244000000000000024400000000000000000000000000000000000000000000000000000000000000040000000000000004000000000000000400000000000002040000000000000204000000000000020400000000000002040000000000000004000000000000000400000000000000040000000000000F03F000000000000004000000000000008400000000000001040000000000000F03F000000000000144000000000000018400000000000001C4000000000000020400000000000001440020000000200000000000500000001000000FFFFFFFF0000000003", "E610000001070A00000000000000000000000000000000000000000000000000000000000000000024400000000000002440000000000000244000000000000024400000000000000000000000000000000000000000000000000000000000000040000000000000004000000000000000400000000000002040000000000000204000000000000020400000000000002040000000000000004000000000000000400000000000000040000000000000F8FF0000000000000040000000000000F8FF0000000000001040000000000000F8FF0000000000001440000000000000F8FF0000000000001C40000000000000F8FF0000000000001440000000000000F03F000000000000F8FF0000000000000840000000000000F8FF000000000000F03F000000000000F8FF0000000000001840000000000000F8FF0000000000002040000000000000F8FF020000000200000000000500000001000000FFFFFFFF0000000003", "E610000002030F000000000000000000000000000000000000000000000000000000000000000000244000000000000024400000000000002440000000000000244000000000000000000000000000000000000000000000000000000000000000400000000000000040000000000000004000000000000020400000000000002040000000000000204000000000000020400000000000000040000000000000004000000000000000400000000000001040000000000000104000000000000010400000000000001840000000000000184000000000000018400000000000001840000000000000104000000000000010400000000000001040000000000000F03F000000000000084000000000000014400000000000001C40000000000000F03F000000000000224000000000000026400000000000002A400000000000002E4000000000000022400000000000003140000000000000334000000000000035400000000000003740000000000000314000000000000000400000000000001040000000000000184000000000000020400000000000000040000000000000244000000000000028400000000000002C4000000000000030400000000000002440000000000000324000000000000034400000000000003640000000000000384000000000000032400300000002000000000005000000000A00000001000000FFFFFFFF0000000003", - "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03" + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03", + // Expected values for MULTIPOINT test cases + "E61000000104020000000000000000000040000000000000F03F00000000000010400000000000000840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104030000000000000000000040000000000000F03F00000000000010400000000000000840000000000000184000000000000014400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001", + "E61000000105020000000000000000000040000000000000F03F0000000000001440000000000000104000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000105020000000000000000000040000000000000F03F000000000000144000000000000010400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000106020000000000000000000040000000000000F03F0000000000001440000000000000104000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000106020000000000000000000040000000000000F03F000000000000144000000000000010400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000107020000000000000000000040000000000000F03F0000000000001840000000000000144000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000107020000000000000000000040000000000000F03F000000000000184000000000000014400000000000000840000000000000F8FF0000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104020000000000000000000040000000000000F03F00000000000010400000000000000840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104020000000000000000000040000000000000F03F00000000000010400000000000000840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104010000000000000000000040000000000000F03F01000000010000000002000000FFFFFFFF0000000004000000000000000001", + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04" + }; const string VIEW_QUERY = "SELECT * FROM " + TABLE_NAME; diff --git a/test/odbc/psqlodbc/test/geometry.cpp b/test/odbc/psqlodbc/test/geometry.cpp index 0962cb64651..6c4e954b421 100644 --- a/test/odbc/psqlodbc/test/geometry.cpp +++ b/test/odbc/psqlodbc/test/geometry.cpp @@ -80,7 +80,21 @@ TEST_F(PSQL_DataTypes_Geometry, Insertion_Success) { "(geometry::STGeomFromText('POLYGON((0 0 1, 10 0 2, 10 10 3, 0 10 4, 0 0 1), (2 2 5, 8 2 6, 8 8 7, 2 8 8, 2 2 5))', 4326))", "(geometry::STGeomFromText('POLYGON((0 0 NULL 1, 10 0 2 NULL, 10 10 NULL 3, 0 10 4 NULL, 0 0 NULL 1), (2 2 5 NULL, 8 2 NULL 6, 8 8 7 NULL, 2 8 NULL 8, 2 2 5 NULL))', 4326))", "(geometry::STGeomFromText('POLYGON((0 0 1 2, 10 0 3 4, 10 10 5 6, 0 10 7 8, 0 0 1 2), (2 2 9 10, 8 2 11 12, 8 8 13 14, 2 8 15 16, 2 2 9 10), (4 4 17 18, 6 4 19 20, 6 6 21 22, 4 6 23 24, 4 4 17 18))', 4326))", - "(geometry::STGeomFromText('POLYGON EMPTY', 4326))" + "(geometry::STGeomFromText('POLYGON EMPTY', 4326))", + // test cases for MULTIPOINT + "(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5 NULL 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL), (3 4 NULL))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL NULL), (3 4 NULL NULL))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 0))", + "(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326))" }; const vector EXPECTED_VALUES = { "E6100000010C17D9CEF753D34740D34D6210585936C0", @@ -116,7 +130,21 @@ TEST_F(PSQL_DataTypes_Geometry, Insertion_Success) { "E610000001050A00000000000000000000000000000000000000000000000000244000000000000000000000000000002440000000000000244000000000000000000000000000002440000000000000000000000000000000000000000000000040000000000000004000000000000020400000000000000040000000000000204000000000000020400000000000000040000000000000204000000000000000400000000000000040000000000000F03F000000000000004000000000000008400000000000001040000000000000F03F000000000000144000000000000018400000000000001C4000000000000020400000000000001440020000000200000000000500000001000000FFFFFFFF0000000003", "E610000001070A00000000000000000000000000000000000000000000000000244000000000000000000000000000002440000000000000244000000000000000000000000000002440000000000000000000000000000000000000000000000040000000000000004000000000000020400000000000000040000000000000204000000000000020400000000000000040000000000000204000000000000000400000000000000040000000000000F8FF0000000000000040000000000000F8FF0000000000001040000000000000F8FF0000000000001440000000000000F8FF0000000000001C40000000000000F8FF0000000000001440000000000000F03F000000000000F8FF0000000000000840000000000000F8FF000000000000F03F000000000000F8FF0000000000001840000000000000F8FF0000000000002040000000000000F8FF020000000200000000000500000001000000FFFFFFFF0000000003", "E610000001030F000000000000000000000000000000000000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000000400000000000000040000000000000204000000000000000400000000000002040000000000000204000000000000000400000000000002040000000000000004000000000000000400000000000001040000000000000104000000000000018400000000000001040000000000000184000000000000018400000000000001040000000000000184000000000000010400000000000001040000000000000F03F000000000000084000000000000014400000000000001C40000000000000F03F000000000000224000000000000026400000000000002A400000000000002E4000000000000022400000000000003140000000000000334000000000000035400000000000003740000000000000314000000000000000400000000000001040000000000000184000000000000020400000000000000040000000000000244000000000000028400000000000002C4000000000000030400000000000002440000000000000324000000000000034400000000000003640000000000000384000000000000032400300000002000000000005000000000A00000001000000FFFFFFFF0000000003", - "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03" + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03", + // Expected values for MULTIPOINT test cases + "E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001", + "E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010602000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010602000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010702000000000000000000F03F0000000000000040000000000000144000000000000018400000000000000840000000000000F8FF0000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001", + "00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04" }; const int NUM_OF_INSERTS = INSERTED_VALUES.size(); @@ -168,7 +196,20 @@ TEST_F(PSQL_DataTypes_Geometry, Update_Success) { "(geometry::STGeomFromText('POLYGON((0 0 1, 10 0 2, 10 10 3, 0 10 4, 0 0 1), (2 2 5, 8 2 6, 8 8 7, 2 8 8, 2 2 5))', 4326))", "(geometry::STGeomFromText('POLYGON((0 0 NULL 1, 10 0 2 NULL, 10 10 NULL 3, 0 10 4 NULL, 0 0 NULL 1), (2 2 5 NULL, 8 2 NULL 6, 8 8 7 NULL, 2 8 NULL 8, 2 2 5 NULL))', 4326))", "(geometry::STGeomFromText('POLYGON((0 0 1 2, 10 0 3 4, 10 10 5 6, 0 10 7 8, 0 0 1 2), (2 2 9 10, 8 2 11 12, 8 8 13 14, 2 8 15 16, 2 2 9 10), (4 4 17 18, 6 4 19 20, 6 6 21 22, 4 6 23 24, 4 4 17 18))', 4326))", - "(geometry::STGeomFromText('POLYGON EMPTY', 4326))" + "(geometry::STGeomFromText('POLYGON EMPTY', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5 NULL 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL), (3 4 NULL))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL NULL), (3 4 NULL NULL))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 0))", + "(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326))" }; const vector EXPECTED_UPDATED_VALUES = { "E6100000010C000000000000F03F0000000000000040", @@ -203,7 +244,21 @@ TEST_F(PSQL_DataTypes_Geometry, Update_Success) { "E610000001050A00000000000000000000000000000000000000000000000000244000000000000000000000000000002440000000000000244000000000000000000000000000002440000000000000000000000000000000000000000000000040000000000000004000000000000020400000000000000040000000000000204000000000000020400000000000000040000000000000204000000000000000400000000000000040000000000000F03F000000000000004000000000000008400000000000001040000000000000F03F000000000000144000000000000018400000000000001C4000000000000020400000000000001440020000000200000000000500000001000000FFFFFFFF0000000003", "E610000001070A00000000000000000000000000000000000000000000000000244000000000000000000000000000002440000000000000244000000000000000000000000000002440000000000000000000000000000000000000000000000040000000000000004000000000000020400000000000000040000000000000204000000000000020400000000000000040000000000000204000000000000000400000000000000040000000000000F8FF0000000000000040000000000000F8FF0000000000001040000000000000F8FF0000000000001440000000000000F8FF0000000000001C40000000000000F8FF0000000000001440000000000000F03F000000000000F8FF0000000000000840000000000000F8FF000000000000F03F000000000000F8FF0000000000001840000000000000F8FF0000000000002040000000000000F8FF020000000200000000000500000001000000FFFFFFFF0000000003", "E610000001030F000000000000000000000000000000000000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000000400000000000000040000000000000204000000000000000400000000000002040000000000000204000000000000000400000000000002040000000000000004000000000000000400000000000001040000000000000104000000000000018400000000000001040000000000000184000000000000018400000000000001040000000000000184000000000000010400000000000001040000000000000F03F000000000000084000000000000014400000000000001C40000000000000F03F000000000000224000000000000026400000000000002A400000000000002E4000000000000022400000000000003140000000000000334000000000000035400000000000003740000000000000314000000000000000400000000000001040000000000000184000000000000020400000000000000040000000000000244000000000000028400000000000002C4000000000000030400000000000002440000000000000324000000000000034400000000000003640000000000000384000000000000032400300000002000000000005000000000A00000001000000FFFFFFFF0000000003", - "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03" + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03", + // Expected updated values for MULTIPOINT test cases + "E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001", + "E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010602000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010602000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010702000000000000000000F03F0000000000000040000000000000144000000000000018400000000000000840000000000000F8FF0000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001", + "00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04" }; createTable(ServerType::MSSQL, TABLE_NAME, TABLE_COLUMNS); @@ -249,7 +304,21 @@ TEST_F(PSQL_DataTypes_Geometry, View_creation) { "(geometry::STGeomFromText('POLYGON((0 0 1, 10 0 2, 10 10 3, 0 10 4, 0 0 1), (2 2 5, 8 2 6, 8 8 7, 2 8 8, 2 2 5))', 4326))", "(geometry::STGeomFromText('POLYGON((0 0 NULL 1, 10 0 2 NULL, 10 10 NULL 3, 0 10 4 NULL, 0 0 NULL 1), (2 2 5 NULL, 8 2 NULL 6, 8 8 7 NULL, 2 8 NULL 8, 2 2 5 NULL))', 4326))", "(geometry::STGeomFromText('POLYGON((0 0 1 2, 10 0 3 4, 10 10 5 6, 0 10 7 8, 0 0 1 2), (2 2 9 10, 8 2 11 12, 8 8 13 14, 2 8 15 16, 2 2 9 10), (4 4 17 18, 6 4 19 20, 6 6 21 22, 4 6 23 24, 4 4 17 18))', 4326))", - "(geometry::STGeomFromText('POLYGON EMPTY', 4326))" + "(geometry::STGeomFromText('POLYGON EMPTY', 4326))", + // MULTIPOINT test cases for view + "(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4), (5 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3), (4 5))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5 NULL 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL 3), (4 5))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6 7 8))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 3 4), (5 6))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL), (3 4 NULL))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2 NULL NULL), (3 4 NULL NULL))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2))', 4326))", + "(geometry::STGeomFromText('MULTIPOINT((1 2), (3 4))', 0))", + "(geometry::STGeomFromText('MULTIPOINT EMPTY', 4326))" }; const vector EXPECTED_VALUES = { @@ -286,7 +355,21 @@ TEST_F(PSQL_DataTypes_Geometry, View_creation) { "E610000001050A00000000000000000000000000000000000000000000000000244000000000000000000000000000002440000000000000244000000000000000000000000000002440000000000000000000000000000000000000000000000040000000000000004000000000000020400000000000000040000000000000204000000000000020400000000000000040000000000000204000000000000000400000000000000040000000000000F03F000000000000004000000000000008400000000000001040000000000000F03F000000000000144000000000000018400000000000001C4000000000000020400000000000001440020000000200000000000500000001000000FFFFFFFF0000000003", "E610000001070A00000000000000000000000000000000000000000000000000244000000000000000000000000000002440000000000000244000000000000000000000000000002440000000000000000000000000000000000000000000000040000000000000004000000000000020400000000000000040000000000000204000000000000020400000000000000040000000000000204000000000000000400000000000000040000000000000F8FF0000000000000040000000000000F8FF0000000000001040000000000000F8FF0000000000001440000000000000F8FF0000000000001C40000000000000F8FF0000000000001440000000000000F03F000000000000F8FF0000000000000840000000000000F8FF000000000000F03F000000000000F8FF0000000000001840000000000000F8FF0000000000002040000000000000F8FF020000000200000000000500000001000000FFFFFFFF0000000003", "E610000001030F000000000000000000000000000000000000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000000400000000000000040000000000000204000000000000000400000000000002040000000000000204000000000000000400000000000002040000000000000004000000000000000400000000000001040000000000000104000000000000018400000000000001040000000000000184000000000000018400000000000001040000000000000184000000000000010400000000000001040000000000000F03F000000000000084000000000000014400000000000001C40000000000000F03F000000000000224000000000000026400000000000002A400000000000002E4000000000000022400000000000003140000000000000334000000000000035400000000000003740000000000000314000000000000000400000000000001040000000000000184000000000000020400000000000000040000000000000244000000000000028400000000000002C4000000000000030400000000000002440000000000000324000000000000034400000000000003640000000000000384000000000000032400300000002000000000005000000000A00000001000000FFFFFFFF0000000003", - "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03" + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF03", + // Expected values for MULTIPOINT test cases (view) + "E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010403000000000000000000F03F000000000000004000000000000008400000000000001040000000000000144000000000000018400300000001000000000101000000010200000004000000FFFFFFFF0000000004000000000000000001000000000100000001000000000200000001", + "E6100000010502000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010502000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010602000000000000000000F03F00000000000000400000000000001040000000000000144000000000000008400000000000001840020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010602000000000000000000F03F0000000000000040000000000000104000000000000014400000000000000840000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010702000000000000000000F03F00000000000000400000000000001440000000000000184000000000000008400000000000001C4000000000000010400000000000002040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010702000000000000000000F03F0000000000000040000000000000144000000000000018400000000000000840000000000000F8FF0000000000001040000000000000F8FF020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E6100000010401000000000000000000F03F000000000000004001000000010000000002000000FFFFFFFF0000000004000000000000000001", + "00000000010402000000000000000000F03F000000000000004000000000000008400000000000001040020000000100000000010100000003000000FFFFFFFF0000000004000000000000000001000000000100000001", + "E61000000104000000000000000001000000FFFFFFFFFFFFFFFF04" }; const string VIEW_QUERY = "SELECT * FROM " + TABLE_NAME; diff --git a/test/python/expected/upgrade_validation/expected_dependency.out b/test/python/expected/upgrade_validation/expected_dependency.out index 483a6e7c740..252a836e698 100644 --- a/test/python/expected/upgrade_validation/expected_dependency.out +++ b/test/python/expected/upgrade_validation/expected_dependency.out @@ -445,6 +445,7 @@ Function sys.ftrunci8(real) Function sys.fulltextserviceproperty(text) Function sys.generate_alter_ownership_statements() Function sys.geogfromtext_helper(text,integer) +Function sys.geogfromwkb_helper(bytea,integer) Function sys.geography(bytea) Function sys.geography(sys."varchar") Function sys.geography(sys.bbf_binary) @@ -454,6 +455,7 @@ Function sys.geography(sys.geography,integer,boolean) Function sys.geography(text,integer,boolean) Function sys.geography__parse(sys.nvarchar) Function sys.geography__stflipcoordinates(sys.geography) +Function sys.geography__stmpointfromwkb(sys.varbinary,integer) Function sys.geographyastextbp_helper(sys.geography,integer,boolean) Function sys.geographyastextvar_helper(sys.geography) Function sys.geometry(bytea) @@ -466,7 +468,9 @@ Function sys.geometry(sys.geometry,integer,boolean) Function sys.geometry(text,integer,boolean) Function sys.geometry__parse(sys.nvarchar) Function sys.geometry__point(double precision,double precision,integer) +Function sys.geometry__stmpointfromwkb(sys.varbinary,integer) Function sys.geomfromtext_helper(text,integer) +Function sys.geomfromwkb_helper(bytea,integer) Function sys.geompoint_helper(double precision,double precision,integer) Function sys.get_current_full_xact_id() Function sys.get_host_os()