From 95fdcdd7ca3a52f627d7663265eab00eb9c81f0e Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Mon, 20 May 2013 16:54:50 -0600 Subject: [PATCH 01/56] 0.9.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 693b9e01..df936e35 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.geoscript geoscript-js jar - 0.9.0 + 0.9.1 8-SNAPSHOT UTF-8 From 62d06c2c1eb29b71bdd5d3a0aa9b071fbad7c63d Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Mon, 20 May 2013 17:31:52 -0600 Subject: [PATCH 02/56] Tests passing with GeoTools 9.0. --- doc/api/process.rst | 10 +++++----- pom.xml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/api/process.rst b/doc/api/process.rst index 0304a5b3..c205a5c1 100644 --- a/doc/api/process.rst +++ b/doc/api/process.rst @@ -192,15 +192,15 @@ Static Methods >> var Process = require("geoscript/process").Process >> var Point = require("geoscript/geom").Point; - js> var buffer = Process.get("geo:buffer"); - js> Object.keys(buffer.inputs) + >> var buffer = Process.get("geo:buffer"); + >> Object.keys(buffer.inputs); geom,distance,quadrantSegments,capStyle - >> Object.keys(buffer.outputs) + >> Object.keys(buffer.outputs); result >> var point = Point([-110, 45]); - >> var outputs = buffer.run({geom: point, distance: 10}) - >> outputs.result + >> var outputs = buffer.run({geom: point, distance: 10}); + >> outputs.result; diff --git a/pom.xml b/pom.xml index 2ff03b90..cf243660 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 0.9.1 + 0.9-SNAPSHOT - 9-SNAPSHOT + 9.0 UTF-8 UTF-8 From 19a0a8cb5d08181c6c93e55c9af136e3fb0eb470 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Mon, 20 May 2013 21:36:46 -0600 Subject: [PATCH 03/56] 1.0.0 --- doc/api/types.rst | 2 +- doc/download.rst | 7 +------ doc/index.rst | 4 +--- doc/quickstart.rst | 2 +- pom.xml | 2 +- 5 files changed, 5 insertions(+), 12 deletions(-) diff --git a/doc/api/types.rst b/doc/api/types.rst index 98cb20b9..91e18e17 100644 --- a/doc/api/types.rst +++ b/doc/api/types.rst @@ -73,7 +73,7 @@ mapping between JavaScript types and the corresponding Java types. - :class:`geom.Bounds` - org.geotools.geometry.jts.ReferencedEnvelope * - ``"FeatureCollection"`` - - :class:`feature.Collection` + - :class:`feature.FeatureCollection` - org.geotools.feature.FeatureCollection * - ``"Filter"`` - :class:`filter.Filter` diff --git a/doc/download.rst b/doc/download.rst index d13cf4c1..92048633 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,10 +3,5 @@ Downloads ========= -`GeoScript JS 0.9.0 `__ - -.. warning:: - - Pre 1.0 releases are subject to API change. - +`GeoScript JS 1.0.0 `__ diff --git a/doc/index.rst b/doc/index.rst index 94eda6fd..0db00345 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,8 +1,7 @@ GeoScript JS ============ -GeoScript JS is a JavaScript implementation of GeoScript packaged for the -RingoJS_ platform (or any other CommonJS_ module loader based on Rhino). +GeoScript JS is a JavaScript implementation of GeoScript packaged as a set of CommonJS_ modules for Rhino. :ref:`Quickstart ` Get up and running with GeoScript @@ -25,5 +24,4 @@ RingoJS_ platform (or any other CommonJS_ module loader based on Rhino). download -.. _RingoJS: http://ringojs.org/ .. _CommonJS: http://commonjs.org/ \ No newline at end of file diff --git a/doc/quickstart.rst b/doc/quickstart.rst index c971aad8..784d1e01 100644 --- a/doc/quickstart.rst +++ b/doc/quickstart.rst @@ -6,7 +6,7 @@ Quick Start Getting GeoScript JS -------------------- -To install GeoScript JS, `download the latest `__ release and extract the zip archive. +To install GeoScript JS, :ref:`download the latest ` release and extract the zip archive. Running GeoScript JS -------------------- diff --git a/pom.xml b/pom.xml index cf243660..bf122b4d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.geoscript geoscript-js jar - 0.9-SNAPSHOT + 1.0.0 9.0 UTF-8 From 323e84b4227aea925373689cfb178040b9902e8f Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Thu, 5 Dec 2013 10:45:48 -0700 Subject: [PATCH 04/56] Clarifying the license type --- license.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/license.txt b/license.txt index c326b1c0..7024d621 100644 --- a/license.txt +++ b/license.txt @@ -1,3 +1,5 @@ +## The MIT License (MIT) + Copyright (c) 2009-2013 Tim Schaub Permission is hereby granted, free of charge, to any person obtaining a copy From c6f97d34e4b3cf3ddfdda2e45caca48bb1f7511e Mon Sep 17 00:00:00 2001 From: jdeolive Date: Wed, 13 Aug 2014 09:42:49 -0600 Subject: [PATCH 05/56] Updated maven repository settings. - Changed opengeo/boundless repository - Added osgeo repository --- pom.xml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index bf122b4d..3e4331ef 100644 --- a/pom.xml +++ b/pom.xml @@ -12,13 +12,18 @@ - opengeo - OpenGeo Maven Repository - http://repo.opengeo.org/ + boundless + Boundless Maven Repository + http://repo.boundlessgeo.com/main true + + osgeo + Open Source Geospatial Foundation Repository + http://download.osgeo.org/webdav/geotools/ + @@ -250,15 +255,15 @@ - opengeo - OpenGeo Maven Repository - dav:http://repo.opengeo.org + boundless + Boundless Maven Repository + http://repo.boundlessgeo.com/main false - opengeo - OpenGeo Maven Repository - dav:http://repo.opengeo.org + boundless + Boundless Maven Repository + http://repo.boundlessgeo.com/main false From df8a23e11d1b99ad41ce1b9cbe77c05087b7c38d Mon Sep 17 00:00:00 2001 From: jericks Date: Mon, 29 Sep 2014 18:57:27 -0700 Subject: [PATCH 06/56] Starting working on version 1.1.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bf122b4d..ab4a95f7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.geoscript geoscript-js jar - 1.0.0 + 1.1.0-SNAPSHOT 9.0 UTF-8 From 98ea036c3f98589fd41a4761f9f0b0fc28138a63 Mon Sep 17 00:00:00 2001 From: jericks Date: Tue, 30 Sep 2014 18:33:35 -0700 Subject: [PATCH 07/56] Upgrade to GeoTools 12 and JTS 1.3 --- pom.xml | 13 +++++++++---- .../geoscript/js/lib/geoscript/filter/expression.js | 4 ++-- .../org/geoscript/js/lib/geoscript/filter/filter.js | 5 +++-- .../org/geoscript/js/lib/geoscript/layer.js | 5 +++-- .../js/tests/geoscript/style/test_style.js | 2 +- .../org/geoscript/js/tests/geoscript/test_filter.js | 4 ++-- 6 files changed, 20 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index 8e29d93b..214a0723 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ jar 1.1.0-SNAPSHOT - 9.0 + 12.0 UTF-8 UTF-8 @@ -30,7 +30,7 @@ com.vividsolutions jts - 1.12 + 1.13 junit @@ -142,13 +142,18 @@ maven-compiler-plugin 2.3 - 1.5 - 1.5 + 1.7 + 1.7 true UTF-8 true + + org.apache.maven.plugins + maven-surefire-plugin + 2.10 + true org.apache.maven.plugins diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/filter/expression.js b/src/main/resources/org/geoscript/js/lib/geoscript/filter/expression.js index 42bd6639..729f14ff 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/filter/expression.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/filter/expression.js @@ -44,7 +44,7 @@ var Expression = exports.Expression = UTIL.extend(GeoObject, { var text; if (this._expression) { if (this.literal) { - text = this._expression.getLiteral(); + text = this._expression.getValue(); if ((text instanceof java.lang.String) || typeof text === "string") { text = "'" + String(text) + "'"; } else { @@ -62,7 +62,7 @@ var Expression = exports.Expression = UTIL.extend(GeoObject, { * This expression is just a literal value. */ get literal() { - return Boolean(this._expression instanceof Packages.org.geotools.filter.LiteralExpressionImpl); + return Boolean(this._expression instanceof Packages.org.opengis.filter.expression.Literal); }, get config() { diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/filter/filter.js b/src/main/resources/org/geoscript/js/lib/geoscript/filter/filter.js index 58780230..e51e405f 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/filter/filter.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/filter/filter.js @@ -198,10 +198,11 @@ Filter.not = function(filter) { }; Filter.fids = function(fids) { - var _filter = FilterFactory2.createFidFilter(); + var idFilters = [] for (var i=0, len=fids.length; i Date: Wed, 1 Oct 2014 16:05:26 -0700 Subject: [PATCH 08/56] Update travis CI to specify java 7 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f366fe67..393aca85 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: java jdk: - - openjdk6 + - openjdk7 From 100dfd2502ba7a77ec09763159d857d57a110710 Mon Sep 17 00:00:00 2001 From: jericks Date: Thu, 2 Oct 2014 17:35:28 -0700 Subject: [PATCH 09/56] Add GeoPackage Workspace --- doc/api/workspace/geopackage.rst | 71 ++++++++++++++ pom.xml | 5 + .../geoscript/js/lib/geoscript/workspace.js | 3 + .../js/lib/geoscript/workspace/geopackage.js | 88 ++++++++++++++++++ .../resources/org/geoscript/js/tests/admin.js | 13 +++ .../org/geoscript/js/tests/data/geopkg.zip | Bin 0 -> 117670 bytes .../js/tests/geoscript/test_workspace.js | 1 + .../geoscript/workspace/test_geopackage.js | 45 +++++++++ 8 files changed, 226 insertions(+) create mode 100644 doc/api/workspace/geopackage.rst create mode 100644 src/main/resources/org/geoscript/js/lib/geoscript/workspace/geopackage.js create mode 100644 src/test/resources/org/geoscript/js/tests/data/geopkg.zip create mode 100644 src/test/resources/org/geoscript/js/tests/geoscript/workspace/test_geopackage.js diff --git a/doc/api/workspace/geopackage.rst b/doc/api/workspace/geopackage.rst new file mode 100644 index 00000000..31a65458 --- /dev/null +++ b/doc/api/workspace/geopackage.rst @@ -0,0 +1,71 @@ +:class:`workspace.GeoPackage` +===================== + +.. class:: workspace.GeoPackage(config) + + :arg config: ``Object`` Configuration object. + + Create a workspace from an GeoPackage database. + + +Config Properties +----------------- + +.. describe:: database + + ``String`` + Path to the database (required). + +Properties +---------- + +.. attribute:: GeoPackage.layers + + ``Array`` + The available layers in the workspace. + +.. attribute:: GeoPackage.names + + ``Array`` + The available layer names in the workspace. + + +Methods +------- + + +.. function:: GeoPackage.add + + :arg layer: :class:`layer.Layer` The layer to be added. + :arg options: ``Object`` Options for adding the layer. + + Options: + * `name`: ``String`` Name for the new layer. + * `filter`: :class:`filter.Filter` Filter to apply to features before adding. + * `projection`: :class:`proj.Projection` Destination projection for the layer. + + :returns: :class:`layer.Layer` + + Create a new layer in this workspace with the features from an existing + layer. If a layer with the same name already exists in this workspace, + you must provide a new name for the layer. + +.. function:: GeoPackage.close + + Close the workspace. This discards any existing connection to the + underlying data store and discards the reference to the store. + +.. function:: GeoPackage.get + + :arg name: ``String`` Layer name. + :returns: :class:`layer.Layer` + + Get a layer by name. Returns ``undefined`` if name doesn't correspond + to a layer source in the workspace. + + + + + + + diff --git a/pom.xml b/pom.xml index 214a0723..d6f264f7 100644 --- a/pom.xml +++ b/pom.xml @@ -134,6 +134,11 @@ gt-swing ${gt.version} + + org.geotools + gt-geopkg + ${gt.version} + diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js index 7f8f7bda..64a9558c 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js @@ -39,6 +39,9 @@ exports.H2 = require("./workspace/h2").H2; /** api: classes[] = mysql */ exports.MySQL = require("./workspace/mysql").MySQL; +/** api: classes[] = geopackage */ +exports.GeoPackage = require("./workspace/geopackage").GeoPackage; + /** private: classes[] = spatialite */ exports.SpatiaLite = require("./workspace/spatialite").SpatiaLite; diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geopackage.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geopackage.js new file mode 100644 index 00000000..045a37f5 --- /dev/null +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geopackage.js @@ -0,0 +1,88 @@ +var register = require("./util").register; +var Factory = require("../factory").Factory; +var Workspace = require("./workspace").Workspace; +var UTIL = require("../util"); + +var GeoPkgDataStoreFactory = Packages.org.geotools.geopkg.GeoPkgDataStoreFactory; + +/** private: (define) + * module = workspace + * class = GeoPackage + */ + +var prepConfig = function(config) { + if (config) { + if (typeof config === "string") { + config = {database: config}; + } + if (!(typeof config.database === "string" || config.database instanceof file.Path)) { + throw "GeoPackage config must include database path."; + } + config = { + database: String(config.database) + }; + } + return config; +}; + +/** private: (extends) + * workspace/workspace.js + */ +var GeoPackage = UTIL.extend(Workspace, { + + /** private: config[database] + * ``String`` + * Path to the database (required). + */ + + /** private: constructor + * .. class:: SpatiaLite + * + * :arg config: ``Object`` Configuration object. + * + * Create a workspace from a GeoPackage enabled database. + */ + constructor: function GeoPackage(config) { + Workspace.prototype.constructor.apply(this, [prepConfig(config)]); + }, + + /** private: method[_create] + * :arg config: ``Object`` + * :returns: ``org.geotools.jdbc.JDBCDataStore`` + * + * Create the underlying store for the workspace. + */ + _create: function(config) { + config.dbtype = "geopkg"; + var factory = new GeoPkgDataStoreFactory(); + return factory.createDataStore(config); + }, + + /** private: property[config] + */ + get config() { + return { + type: this.constructor.name, + database: this.database + }; + } + +}); + +exports.GeoPackage = GeoPackage; + +// register a geopackage factory for the module +register(new Factory(GeoPackage, { + handles: function(config) { + var capable = false; + if (typeof config.type === "string" && config.type.toLowerCase() === "geopackage") { + try { + config = prepConfig(config); + capable = true; + } catch (err) { + // pass + } + } + return capable; + } +})); diff --git a/src/test/resources/org/geoscript/js/tests/admin.js b/src/test/resources/org/geoscript/js/tests/admin.js index 1fa8f990..bc57811d 100644 --- a/src/test/resources/org/geoscript/js/tests/admin.js +++ b/src/test/resources/org/geoscript/js/tests/admin.js @@ -54,6 +54,19 @@ var meta = { } } }, + geopkg: { + source: path("data/geopkg.zip"), + dest: path("tmp"), + setUp: function() { + meta.geopkg.tearDown(); + unzip(meta.geopkg.source, meta.geopkg.dest); + }, + tearDown: function() { + if (FS.exists(meta.geopkg.dest)) { + FS.removeTree(meta.geopkg.dest); + } + } + }, pg: { driver: new Packages.org.postgresql.Driver, setUp: function() { diff --git a/src/test/resources/org/geoscript/js/tests/data/geopkg.zip b/src/test/resources/org/geoscript/js/tests/data/geopkg.zip new file mode 100644 index 0000000000000000000000000000000000000000..9906ad35a81b7758969f272c7dacc47a5d75c5f3 GIT binary patch literal 117670 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

+=r{(gR}#w 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 -1, "geopkg.names includes 'states'"); + + geopkg.close(); + +}; + +exports["test: get"] = function() { + + var geopkg = new WORKSPACE.GeoPackage({database: database}); + + var states = geopkg.get("states"); + ASSERT.ok(states instanceof LAYER.Layer, "get returns a layer instance"); + + geopkg.close(); + +}; + +if (require.main == module.id) { + system.exit(require("test").run(exports)); +} From a46c4801fdfbbefa860559e7c509b8c6cceb6636 Mon Sep 17 00:00:00 2001 From: jericks Date: Thu, 2 Oct 2014 17:41:19 -0700 Subject: [PATCH 10/56] Fix travis ci status indicator --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ada4190..21398f94 100644 --- a/README.md +++ b/README.md @@ -55,4 +55,4 @@ Deploy both the stand-alone archive and a jar with just the GeoScript JS modules mvn deploy -[![Current Status](https://secure.travis-ci.org/tschaub/geoscript-js.png?branch=master)](https://travis-ci.org/tschaub/geoscript-js) +[![Current Status](https://secure.travis-ci.org/geoscript/geoscript-js.png?branch=master)](https://travis-ci.org/geoscript/geoscript-js) From 905d85e3355f549360367a7488cb6fa13dc58d08 Mon Sep 17 00:00:00 2001 From: jericks Date: Thu, 2 Oct 2014 19:45:33 -0700 Subject: [PATCH 11/56] Fix docs, it's geopackage not spatialite --- .../org/geoscript/js/lib/geoscript/workspace/geopackage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geopackage.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geopackage.js index 045a37f5..b023128c 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geopackage.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geopackage.js @@ -36,7 +36,7 @@ var GeoPackage = UTIL.extend(Workspace, { */ /** private: constructor - * .. class:: SpatiaLite + * .. class:: GeoPackage * * :arg config: ``Object`` Configuration object. * From bf26811fd215394821efd23f6275ff76287fa3a2 Mon Sep 17 00:00:00 2001 From: jericks Date: Thu, 9 Oct 2014 19:43:07 -0700 Subject: [PATCH 12/56] Add curved geometry support: CircularStrings and CompoundCurves --- doc/api/geom.rst | 2 + doc/api/geom/circularstring.rst | 57 ++++++ doc/api/geom/compoundcurve.rst | 56 ++++++ .../org/geoscript/js/geom/CircularString.java | 139 +++++++++++++ .../org/geoscript/js/geom/CompoundCurve.java | 188 ++++++++++++++++++ .../geoscript/js/geom/GeometryWrapper.java | 4 + .../java/org/geoscript/js/geom/Module.java | 3 +- src/main/java/org/geoscript/js/io/WKT.java | 3 +- .../org/geoscript/js/lib/geoscript/geom.js | 31 +++ .../geoscript/geom/test_circularstring.js | 41 ++++ .../geoscript/geom/test_compoundcurve.js | 59 ++++++ .../geoscript/js/tests/geoscript/test_geom.js | 2 + 12 files changed, 583 insertions(+), 2 deletions(-) create mode 100644 doc/api/geom/circularstring.rst create mode 100644 doc/api/geom/compoundcurve.rst create mode 100644 src/main/java/org/geoscript/js/geom/CircularString.java create mode 100644 src/main/java/org/geoscript/js/geom/CompoundCurve.java create mode 100644 src/test/resources/org/geoscript/js/tests/geoscript/geom/test_circularstring.js create mode 100644 src/test/resources/org/geoscript/js/tests/geoscript/geom/test_compoundcurve.js diff --git a/doc/api/geom.rst b/doc/api/geom.rst index be2ef21b..f0ffad7e 100644 --- a/doc/api/geom.rst +++ b/doc/api/geom.rst @@ -24,6 +24,8 @@ Constructors geom/multilinestring geom/multipolygon geom/bounds + geom/circularstring + geom/compoundcurve Module Data diff --git a/doc/api/geom/circularstring.rst b/doc/api/geom/circularstring.rst new file mode 100644 index 00000000..b662885e --- /dev/null +++ b/doc/api/geom/circularstring.rst @@ -0,0 +1,57 @@ +:class:`geom.CircularString` +======================== + +.. class:: geom.CircularString(coords) + + :arg Array coords: Coordinates array. + + Create a new circularstring. + + +Example Use +----------- + +Sample code to new circularstring: + +.. code-block:: javascript + + >> var CircularString = require("geoscript/geom").CircularString; + >> var cs = new CircularString([[6.12, 10.0], [7.07, 7.07], [10.0, 0.0]]); + >> cs.controlPoints.length + 3 + >> cs.linear.getGeometryType() + LineString + >> cs.curvedWkt + CIRCULARSTRING(6.12 10.0, 7.07 7.07, 10.0 0.0) + + +Properties +---------- + +In addition to the properties common to :class:`geom.LineString` subclasses, +circularstring geometries have the properties documented below. + + +.. attribute:: CircularString.curvedWkt + + :class:`String` + The curved WKT as a string. + +.. attribute:: CircularString.controlPoints + + ``Array`` + An array of the original control Points. + + +.. attribute:: CircularString.linear + + :class:`geom.LineString` + A linearized LineString. + + + +Methods +------- + +CircularString geometries have the methods common to :class:`geom.LineString` +subclasses. diff --git a/doc/api/geom/compoundcurve.rst b/doc/api/geom/compoundcurve.rst new file mode 100644 index 00000000..7a3f1a25 --- /dev/null +++ b/doc/api/geom/compoundcurve.rst @@ -0,0 +1,56 @@ +:class:`geom.CompoundCurve` +=========================== + +.. class:: geom.CompoundCurve(lineStrings) + + :arg Array lineStrings: An array of LineStrings or CircularStrings. + + Create a new CompoundCurve. + + +Example Use +----------- + +Sample code to new compoundcurve: + +.. code-block:: javascript + + >> var GEOM = require("geoscript/geom"); + >> var cs = new GEOM.CircularString([[10.0, 10.0], [0.0, 20.0], [-10.0, 10.0]]); + >> var line = new GEOM.LineString([[-10.0, 10.0], [-10.0, 0.0], [10.0, 0.0], [5.0, 5.0]]) + >> var cc = new GEOM.CompoundCurve([cs, line]); + >> cc.components.length + 2 + >> cc.linear.getGeometryType() + LineString + >> cc.curvedWkt + COMPOUNDCURVE(CIRCULARSTRING(10.0 10.0, 0.0 20.0, -10.0 10.0), (-10.0 10.0, -10.0 0.0, 10.0 0.0, 5.0 5.0)) + + +Properties +---------- + +In addition to the properties common to all :class:`geom.LineString` subclasses, +compoundcurve geometries have the properties documented below. + + +.. attribute:: CompoundCurve.components + + :class:`geom.LineString` + The original LineString or CircularStrings. + +.. attribute:: CircularString.curvedWkt + + :class:`String` + The curved WKT as a string. + +.. attribute:: CircularString.linear + + :class:`geom.LineString` + A linearized LineString. + +Methods +------- + +CompoundCurve geometries have the methods common to all :class:`geom.LineString` +subclasses. diff --git a/src/main/java/org/geoscript/js/geom/CircularString.java b/src/main/java/org/geoscript/js/geom/CircularString.java new file mode 100644 index 00000000..cf623e58 --- /dev/null +++ b/src/main/java/org/geoscript/js/geom/CircularString.java @@ -0,0 +1,139 @@ +package org.geoscript.js.geom; + +import com.vividsolutions.jts.geom.Coordinate; +import org.geotools.geometry.jts.CurvedGeometryFactory; +import org.mozilla.javascript.*; +import org.mozilla.javascript.annotations.JSConstructor; +import org.mozilla.javascript.annotations.JSGetter; + +import java.util.ArrayList; +import java.util.List; + +public class CircularString extends LineString implements Wrapper { + + /** serialVersionUID */ + private static final long serialVersionUID = -5048539260091857410L; + + /** + * Prototype constructor. + * @return + */ + public CircularString() { + } + + /** + * Constructor for config object. + * @param config + */ + public CircularString(NativeObject config) { + NativeArray array = (NativeArray) config.get("coordinates", config); + double tolerance = config.has("tolerance", config) ? (Double) config.get("tolerance", config) : Double.MAX_VALUE; + Coordinate[] coords = arrayToCoords(array); + setGeometry(createCircularString(coords, tolerance)); + } + + /** + * Constructor for config object (without new keyword). + * @param scope + * @param config + */ + public CircularString(Scriptable scope, NativeObject config) { + this(config); + this.setParentScope(scope); + this.setPrototype(Module.getClassPrototype(CircularString.class)); + } + + /** + * Constructor from JTS geometry. + * @param geometry + */ + public CircularString(Scriptable scope, org.geotools.geometry.jts.CircularString geometry) { + this.setParentScope(scope); + this.setPrototype(Module.getClassPrototype(CircularString.class)); + setGeometry(geometry); + } + + /** + * JavaScript constructor. + * @param cx + * @param args + * @param ctorObj + * @param inNewExpr + * @return + */ + @JSConstructor + public static Object constructor(Context cx, Object[] args, Function ctorObj, boolean inNewExpr) { + if (args.length != 1) { + throw ScriptRuntime.constructError("Error", "CircularString constructor takes a single argument"); + } + NativeObject config = prepConfig(cx, (Scriptable) args[0]); + CircularString line = null; + if (inNewExpr) { + line = new CircularString(config); + } else { + line = new CircularString(config.getParentScope(), config); + } + return line; + } + + /** + * Create a CircularString from an array of Coordinates and a tolerance used to linearize the curve. + * @param coords The Array of Coordinates + * @param tolerance The tolerance used to linearize the curve + * @return A CircularString + */ + private com.vividsolutions.jts.geom.Geometry createCircularString(Coordinate[] coords, double tolerance) { + CurvedGeometryFactory factory = new CurvedGeometryFactory(tolerance); + double[] values = new double[coords.length * 2]; + for(int i = 0; i < coords.length; i++) { + int c = i * 2; + values[c] = coords[i].x; + values[c + 1] = coords[i].y; + } + return new org.geotools.geometry.jts.CircularString(values, factory, tolerance); + } + + /** + * Get the curved WKT + * @return The curved WKT + */ + @JSGetter + public String getCurvedWkt() { + return ((org.geotools.geometry.jts.CircularString)getGeometry()).toCurvedText(); + } + + /** + * Get the original control Points (not the linearized Points) + * @return The original control Points + */ + @JSGetter + public NativeArray getControlPoints() { + Context cx = getCurrentContext(); + List points = new ArrayList<>(); + org.geotools.geometry.jts.CircularString cs = (org.geotools.geometry.jts.CircularString)getGeometry(); + double[] cp = cs.getControlPoints(); + for(int i=0; i lines = new ArrayList(); + for (int i=0; i lineStrings = new ArrayList(); + List lines = cs.getComponents(); + for (com.vividsolutions.jts.geom.LineString line : lines) { + lineStrings.add((LineString)GeometryWrapper.wrap(getParentScope(), line)); + } + return (NativeArray) cx.newArray(getParentScope(), lineStrings.toArray()); + } + + /** + * Get the linearized Geometry + * @return The linearized Geometry + */ + @JSGetter + public Geometry getLinear() { + org.geotools.geometry.jts.CompoundCurve cs = (org.geotools.geometry.jts.CompoundCurve)getGeometry(); + return (Geometry) GeometryWrapper.wrap(getParentScope(), cs.linearize()); + } + + /** + * Returns underlying JTS geometry. + */ + public org.geotools.geometry.jts.CompoundCurve unwrap() { + return (org.geotools.geometry.jts.CompoundCurve) getGeometry(); + } +} diff --git a/src/main/java/org/geoscript/js/geom/GeometryWrapper.java b/src/main/java/org/geoscript/js/geom/GeometryWrapper.java index 4f3f7f20..029f6dbb 100644 --- a/src/main/java/org/geoscript/js/geom/GeometryWrapper.java +++ b/src/main/java/org/geoscript/js/geom/GeometryWrapper.java @@ -10,6 +10,10 @@ public static ScriptableObject wrap(Scriptable scope, com.vividsolutions.jts.geo try { if (geometry instanceof com.vividsolutions.jts.geom.Point) { wrapped = new Point(scope, (com.vividsolutions.jts.geom.Point) geometry); + } else if (geometry instanceof org.geotools.geometry.jts.CompoundCurve) { + wrapped = new CompoundCurve(scope, (org.geotools.geometry.jts.CompoundCurve) geometry); + } else if (geometry instanceof org.geotools.geometry.jts.CircularString) { + wrapped = new CircularString(scope, (org.geotools.geometry.jts.CircularString) geometry); } else if (geometry instanceof com.vividsolutions.jts.geom.LineString) { wrapped = new LineString(scope, (com.vividsolutions.jts.geom.LineString) geometry); } else if (geometry instanceof com.vividsolutions.jts.geom.Polygon) { diff --git a/src/main/java/org/geoscript/js/geom/Module.java b/src/main/java/org/geoscript/js/geom/Module.java index 592dd680..9c537388 100644 --- a/src/main/java/org/geoscript/js/geom/Module.java +++ b/src/main/java/org/geoscript/js/geom/Module.java @@ -30,7 +30,8 @@ public static void init(Scriptable scope) throws IllegalAccessException, Instant List> classes = Arrays.asList( Geometry.class, Point.class, LineString.class, Polygon.class, GeometryCollection.class, MultiPoint.class, - MultiLineString.class, MultiPolygon.class, Bounds.class); + MultiLineString.class, MultiPolygon.class, Bounds.class, + CircularString.class, CompoundCurve.class); prototypes = new HashMap(); for (Class cls : classes) { diff --git a/src/main/java/org/geoscript/js/io/WKT.java b/src/main/java/org/geoscript/js/io/WKT.java index f9b1e1df..c6b9833e 100644 --- a/src/main/java/org/geoscript/js/io/WKT.java +++ b/src/main/java/org/geoscript/js/io/WKT.java @@ -11,11 +11,12 @@ import com.vividsolutions.jts.io.ParseException; import com.vividsolutions.jts.io.WKTReader; +import org.geotools.geometry.jts.WKTReader2; import com.vividsolutions.jts.io.WKTWriter; public class WKT { - static WKTReader wktReader = new WKTReader(); + static WKTReader wktReader = new WKTReader2(); static WKTWriter wktWriter = new WKTWriter(); /** diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/geom.js b/src/main/resources/org/geoscript/js/lib/geoscript/geom.js index f22b1efb..44e19ae4 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/geom.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/geom.js @@ -165,6 +165,37 @@ registry.register(new Factory(exports.MultiPolygon, { } })); +/** api: classes[] = circularstring */ +exports.CircularString = this["org.geoscript.js.geom.CircularString"]; + +//register a circularstring factory for the module +registry.register(new Factory(exports.CircularString, { + handles: function(config) { + config = prepConfig(config); + var capable = false; + if (config.coordinates && UTIL.isArray(config.coordinates)) { + for (var i=0, ii=config.coordinates.length; i Date: Tue, 21 Oct 2014 22:01:23 -0700 Subject: [PATCH 13/56] The download location changed when the maven repo changed. Fixes issue #45. --- doc/download.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/download.rst b/doc/download.rst index 92048633..32753b99 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,5 +3,5 @@ Downloads ========= -`GeoScript JS 1.0.0 `__ +`GeoScript JS 1.0.0 `__ From d13ae140f9ba279411492dcf08ab051412ccf19f Mon Sep 17 00:00:00 2001 From: jericks Date: Tue, 11 Nov 2014 13:57:42 -0800 Subject: [PATCH 14/56] Convert filter package to Java using Rhino annotations --- .../org/geoscript/js/filter/Expression.java | 167 +++++++++++ .../java/org/geoscript/js/filter/Filter.java | 263 ++++++++++++++++++ .../java/org/geoscript/js/filter/Module.java | 50 ++++ .../js/lib/geoscript/filter/expression.js | 100 +------ .../js/lib/geoscript/filter/filter.js | 236 ++++------------ .../js/tests/geoscript/style/test_shape.js | 4 +- 6 files changed, 546 insertions(+), 274 deletions(-) create mode 100644 src/main/java/org/geoscript/js/filter/Expression.java create mode 100644 src/main/java/org/geoscript/js/filter/Filter.java create mode 100644 src/main/java/org/geoscript/js/filter/Module.java diff --git a/src/main/java/org/geoscript/js/filter/Expression.java b/src/main/java/org/geoscript/js/filter/Expression.java new file mode 100644 index 00000000..9ce42b29 --- /dev/null +++ b/src/main/java/org/geoscript/js/filter/Expression.java @@ -0,0 +1,167 @@ +package org.geoscript.js.filter; + +import org.geoscript.js.GeoObject; +import org.geotools.factory.CommonFactoryFinder; +import org.geotools.filter.text.cql2.CQL; +import org.geotools.filter.text.cql2.CQLException; +import org.geotools.filter.text.ecql.ECQL; +import org.mozilla.javascript.*; +import org.mozilla.javascript.annotations.JSConstructor; +import org.mozilla.javascript.annotations.JSGetter; +import org.mozilla.javascript.annotations.JSSetter; +import org.mozilla.javascript.annotations.JSStaticFunction; +import org.opengis.filter.FilterFactory; +import org.opengis.filter.expression.Literal; + +public class Expression extends GeoObject implements Wrapper { + + /** + * serialVersionUID + */ + private static final long serialVersionUID = 4426338466323185386L; + + /** + * The GeoTools Expression + */ + private org.opengis.filter.expression.Expression expression; + + private static FilterFactory filterFactory = CommonFactoryFinder.getFilterFactory(null); + + /** + * The prototype constructor + */ + public Expression() { + } + + public Expression(org.opengis.filter.expression.Expression expression) { + this.expression = expression; + } + + public Expression(Object value) { + this(filterFactory.literal(value)); + } + + public Expression(Scriptable scope, org.opengis.filter.expression.Expression expression) { + this(expression); + setParentScope(scope); + this.setPrototype(Module.getClassPrototype(Expression.class)); + } + + public Expression(Scriptable scope, Object value) { + this(scope, filterFactory.literal(value)); + } + + @JSConstructor + public static Object constructor(Context cx, Object[] args, Function ctorObj, boolean inNewExpr) { + if (args.length == 0) { + return new Expression(); + } + Expression expression = null; + Object arg = args[0]; + Object value = null; + if (arg instanceof String || arg instanceof Number) { + value = arg; + } else if (arg instanceof NativeObject) { + NativeObject config = (NativeObject) arg; + value = config.get("text", config); + } else { + throw ScriptRuntime.constructError("Error", "Cannot create Expression from provided value: " + Context.toString(ctorObj)); + } + if (inNewExpr) { + expression = new Expression(toExpression(value.toString())); + } else { + expression = new Expression(ctorObj.getParentScope(), toExpression(value.toString())); + } + return expression; + } + + @JSGetter + public String getText() { + String text; + if (this.getLiteral()) { + Object value = ((Literal) this.expression).getValue(); + if (value instanceof String) { + text = "'" + value + "'"; + } else { + text = value.toString(); + } + } else { + text = this.expression.toString(); + } + return text; + } + + @JSSetter + public void setText(String text) { + this.expression = toExpression(text); + } + + private static org.opengis.filter.expression.Expression toExpression(String text) { + try { + return ECQL.toExpression(text); + } catch (CQLException ex1) { + try { + return CQL.toExpression(text); + } catch (CQLException ex2) { + throw ScriptRuntime.constructError("Error", + "Cannot parse the following text with " + + "CQL (" + ex2.getMessage() + ") or ECQL (" + ex1.getMessage() + ")!"); + } + } + } + + // TODO: Remove once Style API has been converted + @JSGetter("_expression") + public Object getExpression() { + return this.expression; + } + + @JSGetter + public boolean getLiteral() { + return this.expression instanceof Literal; + } + + @JSGetter + public Scriptable getConfig() { + Scriptable config = super.getConfig(); + config.put("type", config, "Expression"); + config.put("text", config, getText()); + return config; + } + + @Override + public String toFullString() { + return getText(); + } + + @Override + public String getClassName() { + return getClass().getName(); + } + + @Override + public org.opengis.filter.expression.Expression unwrap() { + return this.expression; + } + + @JSStaticFunction("from_") + public static Expression from(Scriptable scriptable) { + org.opengis.filter.expression.Expression expr = null; + if (scriptable instanceof Wrapper) { + Object obj = ((Wrapper) scriptable).unwrap(); + if (obj instanceof org.opengis.filter.expression.Expression) { + expr = (org.opengis.filter.expression.Expression) obj; + } + } + if (expr == null) { + throw ScriptRuntime.constructError("Error", "Cannot create expression from " + Context.toString(scriptable)); + } + return new Expression(getTopLevelScope(scriptable), expr); + } + + @JSStaticFunction + public static Expression literal(Scriptable valueObj) { + Object value = valueObj.getDefaultValue(null); + return new Expression(getTopLevelScope(valueObj), value); + } +} \ No newline at end of file diff --git a/src/main/java/org/geoscript/js/filter/Filter.java b/src/main/java/org/geoscript/js/filter/Filter.java new file mode 100644 index 00000000..05674b36 --- /dev/null +++ b/src/main/java/org/geoscript/js/filter/Filter.java @@ -0,0 +1,263 @@ +package org.geoscript.js.filter; + +import org.geoscript.js.GeoObject; +import org.geoscript.js.feature.Feature; +import org.geotools.factory.CommonFactoryFinder; +import org.geotools.factory.GeoTools; +import org.geotools.filter.text.cql2.CQL; +import org.geotools.filter.text.cql2.CQLException; +import org.geotools.filter.text.ecql.ECQL; +import org.geotools.xml.Encoder; +import org.mozilla.javascript.*; +import org.mozilla.javascript.annotations.JSConstructor; +import org.mozilla.javascript.annotations.JSFunction; +import org.mozilla.javascript.annotations.JSGetter; +import org.mozilla.javascript.annotations.JSStaticFunction; +import org.opengis.filter.FilterFactory2; +import org.opengis.filter.identity.FeatureId; + +import javax.xml.namespace.QName; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class Filter extends GeoObject implements Wrapper { + + /** + * serialVersionUID + */ + private static final long serialVersionUID = 4426338466323185386L; + + private org.opengis.filter.Filter filter; + + private static FilterFactory2 factory = CommonFactoryFinder.getFilterFactory2(GeoTools.getDefaultHints()); + + /** + * The Prototype constructor + */ + public Filter() { + } + + public Filter(org.opengis.filter.Filter filter) { + this.filter = filter; + } + + public Filter(Scriptable scope, org.opengis.filter.Filter filter) { + this(filter); + this.setParentScope(scope); + this.setPrototype(Module.getClassPrototype(Filter.class)); + } + + public Filter(String cql) { + this(fromCQL(cql)); + } + + public Filter(Scriptable scope, String cql) { + this(scope, fromCQL(cql)); + } + + /** + * Create a GeoTools Filter from a CQL String + */ + private static org.opengis.filter.Filter fromCQL(String cql) { + org.opengis.filter.Filter filter; + try { + filter = ECQL.toFilter(cql); + } catch (CQLException ex1) { + try { + filter = CQL.toFilter(cql); + } catch (CQLException ex2) { + throw ScriptRuntime.constructError("Error", "Can't parse Filter CQL Expression: " + ex2.getMessage() + + " or ECQL Expression: " + ex1.getMessage()); + } + } + return filter; + } + + @JSConstructor + public static Object constructor(Context cx, Object[] args, Function ctorObj, boolean isNewExpr) { + if (args.length != 1) { + return new Filter(); + } + Filter filter; + Object arg = args[0]; + String cql; + if (arg instanceof String) { + cql = (String) arg; + } else if (arg instanceof NativeObject) { + NativeObject config = (NativeObject) arg; + cql = config.get("cql", config).toString(); + } else if (arg instanceof Filter) { + cql = ((Filter) arg).getCql(); + } else { + throw ScriptRuntime.constructError("Error", "Cannot create filter from provided value: " + Context.toString(ctorObj)); + } + if (isNewExpr) { + filter = new Filter(cql); + } else { + filter = new Filter(ctorObj.getParentScope(), cql); + } + return filter; + } + + @JSFunction + public boolean evaluate(Feature feature) { + return filter.evaluate(feature.unwrap()); + } + + @JSGetter + public Filter getNot() { + return new Filter(factory.not(this.filter)); + } + + @JSFunction + public Filter and(Scriptable filters) { + if (filters instanceof NativeArray) { + NativeArray array = (NativeArray) filters; + array.add(this.filter); + return Filter.staticAnd(array); + } else { + org.opengis.filter.Filter filter = factory.and(this.filter, ((Filter) filters).unwrap()); + return new Filter(getTopLevelScope(filters), filter); + } + } + + @JSFunction + public Filter or(Scriptable filters) { + if (filters instanceof NativeArray) { + NativeArray array = (NativeArray) filters; + array.add(this.filter); + return Filter.staticOr(array); + } else { + org.opengis.filter.Filter filter = factory.or(this.filter, ((Filter) filters).unwrap()); + return new Filter(getTopLevelScope(filters), filter); + } + } + + @JSGetter + public String getCql() { + return ECQL.toCQL(this.filter); + } + + @JSGetter("_filter") + public org.opengis.filter.Filter getFilter() { + return this.filter; + } + + @JSGetter + @Override + public Scriptable getConfig() { + Scriptable obj = super.getConfig(); + obj.put("type", obj, "Filter"); + obj.put("text", obj, getCql()); + return obj; + } + + @JSFunction + public String toXML(String version, boolean pretty) throws IOException { + org.geotools.xml.Encoder encoder; + QName qname; + if (version.equalsIgnoreCase("1.1")) { + qname = org.geotools.filter.v1_1.OGC.getInstance().Filter; + org.geotools.filter.v1_1.OGCConfiguration config = new org.geotools.filter.v1_1.OGCConfiguration(); + encoder = new Encoder(config); + } else { + qname = org.geotools.filter.v1_0.OGC.getInstance().Filter; + org.geotools.filter.v1_0.OGCConfiguration config = new org.geotools.filter.v1_0.OGCConfiguration(); + encoder = new Encoder(config); + } + encoder.setIndenting(pretty); + encoder.setOmitXMLDeclaration(true); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + encoder.encode(this.filter, qname, out); + return new String(out.toByteArray()); + } + + @Override + public String toFullString() { + return getCql(); + } + + @Override + public org.opengis.filter.Filter unwrap() { + return filter; + } + + @Override + public String getClassName() { + return getClass().getName(); + } + + private static List getFilters(NativeArray array) { + List filters = new ArrayList<>(); + for (int i = 0; i < array.size(); i++) { + Object item = array.get(i); + Filter filter; + if (item instanceof Filter) { + filter = (Filter) item; + } else if (item instanceof org.opengis.filter.Filter) { + filter = new Filter(getTopLevelScope(array), (org.opengis.filter.Filter) item); + } else { + filter = new Filter(getTopLevelScope(array), array.get(i).toString()); + } + filters.add(filter.unwrap()); + } + return filters; + } + + @JSStaticFunction("from_") + public static Filter from(Scriptable filterObject) { + org.opengis.filter.Filter filter = null; + if (filterObject instanceof Wrapper) { + Object obj = ((Wrapper) filterObject).unwrap(); + if (obj instanceof org.opengis.filter.Filter) { + filter = (org.opengis.filter.Filter) obj; + } + } + if (filter == null) { + throw ScriptRuntime.constructError("Error", "Cannot create filter from " + Context.toString(filterObject)); + } + return new Filter(getTopLevelScope(filterObject), filter); + } + + @JSStaticFunction("and") + public static Filter staticAnd(NativeArray array) { + List filters = getFilters(array); + return new Filter(getTopLevelScope(array), factory.and(filters)); + } + + @JSStaticFunction("or") + public static Filter staticOr(NativeArray array) { + List filters = getFilters(array); + return new Filter(getTopLevelScope(array), factory.or(filters)); + } + + @JSStaticFunction("not") + public static Filter staticNot(Scriptable obj) { + Filter filter; + String cql; + if (obj instanceof NativeObject) { + NativeObject config = (NativeObject) obj; + cql = config.get("cql", config).toString(); + } else if (obj.getDefaultValue(null) instanceof String) { + cql = obj.getDefaultValue(null).toString(); + } else { + throw ScriptRuntime.constructError("Error", "Cannot create filter from provided value: " + Context.toString(obj)); + } + filter = new Filter(cql); + return new Filter(getTopLevelScope(obj), factory.not(filter.unwrap())); + } + + @JSStaticFunction + public static Filter fids(NativeArray array) { + Set featureIds = new HashSet(); + for (int i = 0; i < array.size(); i++) { + featureIds.add(factory.featureId(array.get(i).toString())); + } + return new Filter(getTopLevelScope(array), factory.id(featureIds)); + } + +} diff --git a/src/main/java/org/geoscript/js/filter/Module.java b/src/main/java/org/geoscript/js/filter/Module.java new file mode 100644 index 00000000..e4b2024a --- /dev/null +++ b/src/main/java/org/geoscript/js/filter/Module.java @@ -0,0 +1,50 @@ +package org.geoscript.js.filter; + +import org.geoscript.js.GeoObject; +import org.mozilla.javascript.Scriptable; +import org.mozilla.javascript.ScriptableObject; + +import java.lang.reflect.InvocationTargetException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +public class Module { + + static HashMap prototypes; + + /** + * Define all filter constructors in the given module scope. If the + * provided scope is not a "top level" scope, constructors will be defined + * in the top level scope for the given scope. + * @param scope + * @throws IllegalAccessException + * @throws InstantiationException + * @throws java.lang.reflect.InvocationTargetException + */ + public static void init(Scriptable scope) throws IllegalAccessException, InstantiationException, InvocationTargetException { + + scope = ScriptableObject.getTopLevelScope(scope); + + @SuppressWarnings("unchecked") + List> classes = Arrays.asList(Filter.class, Expression.class); + + prototypes = new HashMap(); + for (Class cls : classes) { + String name = ScriptableObject.defineClass(scope, cls, false, true); + Scriptable prototype = ScriptableObject.getClassPrototype(scope, name); + prototypes.put(name, prototype); + } + + } + + protected static Scriptable getClassPrototype(Class cls) { + String name = cls.getName(); + if (prototypes == null || !prototypes.containsKey(name)) { + throw new RuntimeException( + "Attempt to access prototype before requiring module: " + name); + } + return prototypes.get(name); + } + +} diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/filter/expression.js b/src/main/resources/org/geoscript/js/lib/geoscript/filter/expression.js index 729f14ff..07ad8d44 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/filter/expression.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/filter/expression.js @@ -1,92 +1,20 @@ -var UTIL = require("../util"); -var GeoObject = require("../object").GeoObject; - -var CQL = Packages.org.geotools.filter.text.cql2.CQL; -var ECQL = Packages.org.geotools.filter.text.ecql.ECQL; - - /** api: (define) * module = filter * class = Expression */ -var Expression = exports.Expression = UTIL.extend(GeoObject, { - - /** api: constructor - * .. class:: Expression - * - * :arg text: ``String`` The expression text. - * - * Expression class for generating values from features. - */ - constructor: function Expression(config) { - if (config) { - if (typeof config == "string" || typeof config == "number") { - config = {text: config}; - } - this.text = config.text; - } - }, - - set text(val) { - var _expression; - try { - _expression = ECQL.toExpression(val); - } catch (err) { - try { - _expression = CQL.toExpression(val); - } catch (err2) { - throw new Error("Unable to parse expression: " + err.message); - } - } - this._expression = _expression; - }, - get text() { - var text; - if (this._expression) { - if (this.literal) { - text = this._expression.getValue(); - if ((text instanceof java.lang.String) || typeof text === "string") { - text = "'" + String(text) + "'"; - } else { - text = String(text); - } - } else { - text = String(this._expression.toString()); - } - } - return text; - }, - - /** api: property[literal] - * ``Boolean`` - * This expression is just a literal value. - */ - get literal() { - return Boolean(this._expression instanceof Packages.org.opengis.filter.expression.Literal); - }, - - get config() { - return { - type: "Expression", - text: this.text - }; - }, - - toFullString: function() { - return this.text; - } - -}); +Packages.org.geoscript.js.filter.Module.init(this); +var Expression = exports.Expression = this["org.geoscript.js.filter.Expression"]; + +/** api: constructor + * .. class:: Expression + * + * :arg text: ``String`` The expression text. + * + * Expression class for generating values from features. + */ -Expression.from_ = function(_expression) { - var expression = new Expression(); - expression._expression = _expression; - return expression; -} -Expression.literal = function(value) { - if (typeof value === "string") { - value = "'" + value + "'"; - } - return new Expression({text: value}); -}; +/** api: property[literal] + * ``Boolean`` + * This expression is just a literal value. + */ \ No newline at end of file diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/filter/filter.js b/src/main/resources/org/geoscript/js/lib/geoscript/filter/filter.js index e51e405f..d63dd60f 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/filter/filter.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/filter/filter.js @@ -1,211 +1,75 @@ var FILTER_UTIL = require("./util"); var Factory = require("../factory").Factory; -var UTIL = require("../util"); -var GeoObject = require("../object").GeoObject; - var _Filter = Packages.org.opengis.filter.Filter; -var CQL = Packages.org.geotools.filter.text.cql2.CQL; -var ECQL = Packages.org.geotools.filter.text.ecql.ECQL; -var Parser = Packages.org.geotools.xml.Parser; -var Encoder = Packages.org.geotools.xml.Encoder; -var _factory = Packages.org.geotools.factory; -var FilterFactory2 = _factory.CommonFactoryFinder.getFilterFactory2(_factory.GeoTools.getDefaultHints()); - -var OGC = { - "1.0": { - OGC: Packages.org.geotools.filter.v1_0.OGC, - OGCConfiguration: Packages.org.geotools.filter.v1_0.OGCConfiguration - }, - "1.1": { - OGC: Packages.org.geotools.filter.v1_1.OGC, - OGCConfiguration: Packages.org.geotools.filter.v1_1.OGCConfiguration - } -}; - /** api: (define) * module = filter * class = Filter */ -var Filter = exports.Filter = UTIL.extend(GeoObject, { +Packages.org.geoscript.js.filter.Module.init(this); +var Filter = exports.Filter = this["org.geoscript.js.filter.Filter"]; - /** api: constructor - * .. class:: Filter - * - * :arg cql: `String` A CQL string representing filter constraints. - * - * Create a new filter to express constraints. Filters are typically - * used when querying features from a layer. A feature will be - * returned in a query if the filter's :func:`evaluate` method returns - * `true` for the given feature. - * - * Filters are created using Common Query Language (CQL). - */ - constructor: function Filter(cql) { - if (cql) { - if (typeof cql !== "string") { - cql = cql.cql; - } - var _filter; - try { - _filter = ECQL.toFilter(cql); - } catch (err) { - try { - _filter = CQL.toFilter(cql); - } catch (err2) { - throw err; - } - } - this._filter = _filter; - } - }, +/** api: constructor + * .. class:: Filter + * + * :arg cql: `String` A CQL string representing filter constraints. + * + * Create a new filter to express constraints. Filters are typically + * used when querying features from a layer. A feature will be + * returned in a query if the filter's :func:`evaluate` method returns + * `true` for the given feature. + * + * Filters are created using Common Query Language (CQL). + */ - /** api: method[evaluate] - * :arg feature: :class:`feature.Feature` A feature. - * :returns: ``Boolean`` The feature matches the filter. - * - * Determine whether a feature matches the constraints of the filter. - */ - evaluate: function(feature) { - return Boolean(this._filter.evaluate(feature)); - }, +/** api: method[evaluate] + * :arg feature: :class:`feature.Feature` A feature. + * :returns: ``Boolean`` The feature matches the filter. + * + * Determine whether a feature matches the constraints of the filter. + */ - /** api: property[not] - * :class:`filter.Filter` - * A filter that represents the negation of the constraints in this filter. - */ - get not() { - return Filter.from_(FilterFactory2.not(this._filter)); - }, - /** api: method[and] - * :arg filter: :class:`filter.Filter` Input filter. - * :returns: :class:`filter.Filter` - * Returns a new filter that is the logical AND of this filter and the - * input filter. Provide multiple arguments to AND multiple filters. - */ - and: function(filter) { - var filters = Array.prototype.slice.call(arguments); - filters.push(this); - return Filter.and(filters); - }, +/** api: property[not] + * :class:`filter.Filter` + * A filter that represents the negation of the constraints in this filter. + */ - /** api: method[or] - * :arg filter: :class:`filter.Filter` Input filter. - * :returns: :class:`filter.Filter` - * Returns a new filter that is the logical OR of this filter and the - * input filter. Provide multiple arguments to OR multiple filters. - */ - or: function(filter) { - var filters = Array.prototype.slice.call(arguments); - filters.push(this); - return Filter.or(filters); - }, - /** api: property[cql] - * ``String`` - * The CQL string that represents constraints in this filter. - */ - get cql() { - var string; - try { - string = ECQL.toECQL(this._filter); - } catch (err) { - string = CQL.toCQL(this._filter); - } - return String(string); - }, +/** api: method[and] + * :arg filter: :class:`filter.Filter` Input filter. + * :returns: :class:`filter.Filter` + * Returns a new filter that is the logical AND of this filter and the + * input filter. Provide multiple arguments to AND multiple filters. + */ - get config() { - return { - type: "Filter", - cql: this.cql - }; - }, +/** api: method[or] + * :arg filter: :class:`filter.Filter` Input filter. + * :returns: :class:`filter.Filter` + * Returns a new filter that is the logical OR of this filter and the + * input filter. Provide multiple arguments to OR multiple filters. + */ - /** private: method[toXML] - * :arg version: ``String`` Filter Encoding specification version - * (default is `"1.0"`). - * :arg pretty: ``Boolean`` Use whitespace to indent document elements - * (default is `false`). - * :returns: ``String`` - * - * Generate an XML document string following the Filter Encoding - * specification. - */ - toXML: function(version, pretty) { - version = version || "1.0"; - var _config = new OGC[version].OGCConfiguration(); - var ogc = OGC[version].OGC.getInstance(); - var encoder = new Encoder(_config); - encoder.setIndenting(!!pretty); - encoder.setOmitXMLDeclaration(true); - var out = new java.io.ByteArrayOutputStream(); - encoder.encode(this._filter, ogc.Filter, out); - return String(java.lang.String(out.toByteArray())); - }, - toFullString: function() { - var str; - try { - str = this.cql; - } catch (err) { - str = String(this._filter); - } - return str; - } - -}); +/** api: property[cql] + * ``String`` + * The CQL string that represents constraints in this filter. + */ -Filter.from_ = function(_filter) { - var filter = new Filter(); - filter._filter = _filter; - return filter; -}; +/** private: method[toXML] + * :arg version: ``String`` Filter Encoding specification version + * (default is `"1.0"`). + * :arg pretty: ``Boolean`` Use whitespace to indent document elements + * (default is `false`). + * :returns: ``String`` + * + * Generate an XML document string following the Filter Encoding + * specification. + */ Filter.PASS = Filter.from_(_Filter.INCLUDE); Filter.FAIL = Filter.from_(_Filter.EXCLUDE); -// logical operators - -var getArrayList = function(filters) { - var len = filters.length; - var list = new java.util.ArrayList(len); - var filter; - for (var i=0; i Date: Tue, 18 Nov 2014 15:51:53 -0800 Subject: [PATCH 15/56] Add linear referencing methods to LineString --- doc/api/geom/linestring.rst | 30 ++++++++++ .../org/geoscript/js/geom/LineString.java | 32 +++++++++++ .../tests/geoscript/geom/test_linestring.js | 56 +++++++++++++++++++ 3 files changed, 118 insertions(+) diff --git a/doc/api/geom/linestring.rst b/doc/api/geom/linestring.rst index d8ba5567..8ca523ba 100644 --- a/doc/api/geom/linestring.rst +++ b/doc/api/geom/linestring.rst @@ -53,3 +53,33 @@ Methods Linestring geometries have the methods common to all :class:`geom.Geometry` subclasses. + +.. function:: LineString.interpolatePoint + + :arg position: ``Number`` The position between 0 and 1. + :returns: :class:`geom.Point` + + Returns a Point placed on the LineString at the given percentage along + the LineString. + +.. function:: LineString.locatePoint + + :arg point: :class:`geom.Point` The Point + :returns: ``Number`` The position (0-1) or percentage of the Point along the LineString. + + Returns a position or percentage between 0 and 1 of the Point along the LineString. + +.. function:: LineString.placePoint + + :arg point: :class:`geom.Point` The Point. + :returns: :class:`geom.Point` The Point on the LineString. + + Places or snaps the Point to the LineString. + +.. function:: LineString.subLine + + :arg start: ``Number`` The start position between 0 and 1. + :arg end: ``Number`` The end position between 0 and 1. + :returns: :class:`geom.LineString` The sub LineString + + Returns a position or percentage between 0 and 1 of the Point along the LineString. \ No newline at end of file diff --git a/src/main/java/org/geoscript/js/geom/LineString.java b/src/main/java/org/geoscript/js/geom/LineString.java index 433fe05b..8e08afff 100644 --- a/src/main/java/org/geoscript/js/geom/LineString.java +++ b/src/main/java/org/geoscript/js/geom/LineString.java @@ -12,6 +12,7 @@ import org.mozilla.javascript.annotations.JSGetter; import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.linearref.LengthIndexedLine; public class LineString extends Geometry implements Wrapper { @@ -112,6 +113,37 @@ public LineString reverse() { return (LineString) GeometryWrapper.wrap(getParentScope(), getGeometry().reverse()); } + @JSFunction + public Point interpolatePoint(double position) { + LengthIndexedLine indexedLine = new LengthIndexedLine(this.getGeometry()); + Coordinate c = indexedLine.extractPoint(position * getLength()); + return new Point(getParentScope(), factory.createPoint(c)); + } + + @JSFunction + public double locatePoint(Point point) { + LengthIndexedLine indexedLine = new LengthIndexedLine(this.getGeometry()); + double position = indexedLine.indexOf(point.getGeometry().getCoordinate()); + double percentAlong = position / getLength(); + return percentAlong; + } + + @JSFunction + public Point placePoint(Point point) { + LengthIndexedLine indexedLine = new LengthIndexedLine(this.getGeometry()); + double position = indexedLine.indexOf(point.getGeometry().getCoordinate()); + Coordinate c = indexedLine.extractPoint(position); + return new Point(getParentScope(), factory.createPoint(c)); + } + + @JSFunction + public LineString subLine(double start, double end) { + LengthIndexedLine indexedLine = new LengthIndexedLine(this.getGeometry()); + double length = getLength(); + return new LineString(getParentScope(), + (com.vividsolutions.jts.geom.LineString) indexedLine.extractLine(start * length, end * length)); + } + /** * Returns underlying JTS geometry. */ diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/geom/test_linestring.js b/src/test/resources/org/geoscript/js/tests/geoscript/geom/test_linestring.js index 2fc3a290..20eb44b3 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/geom/test_linestring.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/geom/test_linestring.js @@ -114,6 +114,62 @@ exports["test: centroid"] = function() { }; +exports["test: interpolatePoint"] = function() { + var line = new GEOM.LineString([ + [1137466.548141059, 650434.9943107369], + [1175272.4129268457, 648011.541439853], + [1185935.6055587344, 632986.1336403737] + ]); + + // Interpolate Point Start + var pt1 = line.interpolatePoint(0); + ASSERT.ok(pt1.equals(line.startPoint), "interpolate 0 should return start point"); + + // Interpolate Point Middle + var pt2 = line.interpolatePoint(0.5); + ASSERT.ok(pt2.equals(new GEOM.Point([1165562.9204493894, 648633.9448037925])), "interpolate 0.5 should return mid point"); + + // Interpolate Point End + var pt3 = line.interpolatePoint(1.0); + ASSERT.ok(pt3.equals(line.endPoint), "interpolate 1 should return end point"); +}; + +exports["test: locatePoint"] = function() { + var line = new GEOM.LineString([ + [1137466.548141059, 650434.9943107369], + [1175272.4129268457, 648011.541439853], + [1185935.6055587344, 632986.1336403737] + ]); + var point = new GEOM.Point([1153461.34, 649950.30]); + var position = line.locatePoint(point); + ASSERT.deepEqual(0.284, position.toFixed(3), "locate point position should be 0.284"); +}; + +exports["test: placePoint"] = function() { + var line = new GEOM.LineString([ + [1137466.548141059, 650434.9943107369], + [1175272.4129268457, 648011.541439853], + [1185935.6055587344, 632986.1336403737] + ]); + var point = new GEOM.Point([1153461.34, 649950.30]); + var placedPoint = line.placePoint(point) ; + ASSERT.ok(placedPoint.equals(new GEOM.Point([1153426.8271476042, 649411.899502625])), + "placed point should be POINT (1153426.8271476042 649411.899502625)"); +}; + +exports["test: subLine"] = function() { + var line = new GEOM.LineString([ + [1137466.548141059, 650434.9943107369], + [1175272.4129268457, 648011.541439853], + [1185935.6055587344, 632986.1336403737] + ]); + var subLine = line.subLine(0.33, 0.67); + ASSERT.ok( + new GEOM.LineString([[1156010.153864557, 649246.3016361536], [1175115.6870342216, 648021.5879714314]]).equals(subLine), + "subline should be LINESTRING (1156010.153864557 649246.3016361536, 1175115.6870342216 648021.5879714314)" + ) +}; + if (require.main == module.id) { system.exit(require("test").run(exports)); From 75b1f1af08ae3bf34ad596e308141879cae4cd9c Mon Sep 17 00:00:00 2001 From: jericks Date: Mon, 9 Feb 2015 20:28:13 -0800 Subject: [PATCH 16/56] Add a Geometry.densify(tolerance) method --- doc/api/geom/geometry.rst | 10 ++++++++++ src/main/java/org/geoscript/js/geom/Geometry.java | 11 ++++++++++- .../js/tests/geoscript/geom/test_multilinestring.js | 11 +++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/doc/api/geom/geometry.rst b/doc/api/geom/geometry.rst index f0c94bdb..a347ac13 100644 --- a/doc/api/geom/geometry.rst +++ b/doc/api/geom/geometry.rst @@ -141,6 +141,16 @@ Common Geometry Methods Tests if this geometry crosses the other geometry. +.. function:: Geometry.densify + + :arg tolerance: ``Number`` The distance tolerance for the densification. + All line segments in the densified geometry will be no longer than the distance tolereance. + The tolerance value must be non-negative. + :returns: :class:`geom.Geometry` + + Densifies a geometry object adding vertices along the line segments of the + geometry. + .. function:: Geometry.difference :arg other: :class:`geom.Geometry` diff --git a/src/main/java/org/geoscript/js/geom/Geometry.java b/src/main/java/org/geoscript/js/geom/Geometry.java index 05b5edf6..197732f1 100644 --- a/src/main/java/org/geoscript/js/geom/Geometry.java +++ b/src/main/java/org/geoscript/js/geom/Geometry.java @@ -5,6 +5,7 @@ import java.util.Arrays; import java.util.List; +import com.vividsolutions.jts.densify.Densifier; import org.geoscript.js.GeoObject; import org.geoscript.js.proj.Projection; import org.geotools.geometry.jts.GeometryCoordinateSequenceTransformer; @@ -291,7 +292,15 @@ public ScriptableObject simplify(double tolerance) { ((Geometry) simplified).projection = projection; return simplified; } - + + @JSFunction + public ScriptableObject densify(double tolerance) { + com.vividsolutions.jts.geom.Geometry geom = Densifier.densify(geometry, tolerance); + ScriptableObject densified = GeometryWrapper.wrap(getParentScope(), geom); + ((Geometry) densified).projection = projection; + return densified; + } + @JSFunction public String getGeometryType() { return geometry.getGeometryType(); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/geom/test_multilinestring.js b/src/test/resources/org/geoscript/js/tests/geoscript/geom/test_multilinestring.js index fbfaa23f..59096ef5 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/geom/test_multilinestring.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/geom/test_multilinestring.js @@ -47,6 +47,17 @@ exports["test: simplify"] = function() { }; +exports["test: densify"] = function() { + + var g = new GEOM.MultiLineString([[[1, 1], [2, 2], [3, 1], [4, 2]], [[-1, -1], [-2, -2], [-3, -1], [-4, -2]]]); + g.projection = "epsg:4326"; + var g2 = g.densify(0.5); + + ASSERT.ok(g2 instanceof GEOM.MultiLineString, "correct type"); + ASSERT.ok(g2.coordinates[0].length > g.coordinates[0].length, "densified line has more coordinates"); + ASSERT.ok(g.projection.equals(g.projection), "same projection"); +}; + exports["test: bounds"] = function() { From b1e1c5c21ae303068594aa5dd958674df7ec8733 Mon Sep 17 00:00:00 2001 From: jericks Date: Fri, 9 Oct 2015 20:28:25 -0700 Subject: [PATCH 17/56] Update boundless repos --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index d6f264f7..ef775297 100644 --- a/pom.xml +++ b/pom.xml @@ -266,14 +266,14 @@ boundless - Boundless Maven Repository - http://repo.boundlessgeo.com/main + Boundless Release Repository + https://boundless.artifactoryonline.com/boundless/release/ false boundless - Boundless Maven Repository - http://repo.boundlessgeo.com/main + Boundless Snapshot Repository + https://boundless.artifactoryonline.com/boundless/snapshot/ false From 5465d5a9edf68becec94f7056f161641c264c299 Mon Sep 17 00:00:00 2001 From: Jody Garnett Date: Fri, 4 Dec 2015 14:57:20 -0800 Subject: [PATCH 18/56] Restore repo.boundlessgeo.com The temporary use of the artifactoryonline URL is complete, repo.boundlessgeo.com now points to the same cloud instance. --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ef775297..119e7eed 100644 --- a/pom.xml +++ b/pom.xml @@ -267,13 +267,13 @@ boundless Boundless Release Repository - https://boundless.artifactoryonline.com/boundless/release/ + https://repo.boundlessgeo.com/release/ false boundless Boundless Snapshot Repository - https://boundless.artifactoryonline.com/boundless/snapshot/ + https://repo.boundlessgeo.com/snapshot/ false From 5e21f67513c0d8b1c67c22fc62672f61f66e5c99 Mon Sep 17 00:00:00 2001 From: Alvaro Huarte Date: Wed, 20 Nov 2019 00:33:12 +0100 Subject: [PATCH 19/56] DefaultQuery was removed in GeoTools 22.0 --- src/main/resources/org/geoscript/js/lib/geoscript/layer.js | 7 +++---- .../org/geoscript/js/lib/geoscript/workspace/workspace.js | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/layer.js b/src/main/resources/org/geoscript/js/lib/geoscript/layer.js index a2be9dc2..06598dc9 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/layer.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/layer.js @@ -13,7 +13,6 @@ var GEOM = require("./geom"); var STYLE = require("./style"); var geotools = Packages.org.geotools; -var DefaultQuery = geotools.data.DefaultQuery; var Query = geotools.data.Query; var Transaction = geotools.data.Transaction; var FeatureCollections = geotools.feature.FeatureCollections; @@ -271,7 +270,7 @@ var Layer = UTIL.extend(GeoObject, { } else { filter = FILTER.Filter.PASS; } - var count = this._source.getCount(new DefaultQuery(this.name, filter._filter)); + var count = this._source.getCount(new Query(this.name, filter._filter)); if (count === -1) { // count manually for layers that don't support this query var collection = this.query(filter); @@ -307,7 +306,7 @@ var Layer = UTIL.extend(GeoObject, { filter = FILTER.Filter.PASS; } var bounds = null; - var _bounds = this._source.getBounds(new DefaultQuery(this.name, filter._filter)); + var _bounds = this._source.getBounds(new Query(this.name, filter._filter)); if (_bounds) { bounds = GEOM.Bounds.from_(_bounds); } else { @@ -360,7 +359,7 @@ var Layer = UTIL.extend(GeoObject, { filter = new FILTER.Filter(filter); } } - var query = new DefaultQuery(this.name, filter._filter); + var query = new Query(this.name, filter._filter); var _collection = this._source.getFeatures(query); var collection = Collection.from_(_collection); collection.layer = this; diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/workspace.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/workspace.js index d849a126..d23bc20c 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/workspace.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/workspace.js @@ -6,7 +6,7 @@ var Filter = require("../filter").Filter; var Projection = require("../proj").Projection; var geotools = Packages.org.geotools; -var DefaultQuery = geotools.data.DefaultQuery; +var Query = geotools.data.Query; var Transaction = geotools.data.Transaction; var DefaultTransaction = geotools.data.DefaultTransaction; @@ -149,7 +149,7 @@ var Workspace = UTIL.extend(GeoObject, { var _source = this._createSource(schema); - var query = new DefaultQuery(layer.name, filter._filter); + var query = new Query(layer.name, filter._filter); if (projection) { if (layer.projection) { query.setCoordinateSystem(layer.projection); From 915590ed15644a5669b5928e6da0d1cc84169b0b Mon Sep 17 00:00:00 2001 From: jericks Date: Wed, 20 Nov 2019 19:45:15 -0800 Subject: [PATCH 20/56] Update travisci to java 8 and trusty --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 393aca85..692f4aa1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,6 @@ +dist: trusty + language: java jdk: - - openjdk7 - + - oraclejdk8 From 9461b33a9f6dc6c69950fb96f9743f38764dc0ad Mon Sep 17 00:00:00 2001 From: jericks Date: Wed, 20 Nov 2019 20:07:48 -0800 Subject: [PATCH 21/56] Fix Bounds.clone --- src/main/java/org/geoscript/js/geom/Bounds.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/geoscript/js/geom/Bounds.java b/src/main/java/org/geoscript/js/geom/Bounds.java index 0854e02e..589465ac 100644 --- a/src/main/java/org/geoscript/js/geom/Bounds.java +++ b/src/main/java/org/geoscript/js/geom/Bounds.java @@ -143,7 +143,7 @@ public Bounds(Scriptable scope, NativeArray array) { /** * Constructor from ReferencedEnvelope. * @param scope - * @param crs + * @param refEnv */ public Bounds(Scriptable scope, ReferencedEnvelope refEnv) { this.setParentScope(scope); @@ -291,9 +291,9 @@ public NativeArray toArray() { Scriptable scope = getParentScope(); return (NativeArray) cx.newArray(scope, new Object[] {getMinX(), getMinY(), getMaxX(), getMaxY()}); } - - @JSFunction - public Bounds clone() { + + @JSFunction("clone") + public Bounds cloner() { ReferencedEnvelope clone = new ReferencedEnvelope(refEnv); return new Bounds(getParentScope(), clone); } From 5cc5313acebed119c2598d6b2fbdf3bfd6428bcc Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Sat, 25 Apr 2020 13:03:12 -0700 Subject: [PATCH 22/56] Use OSGeo repositories --- pom.xml | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/pom.xml b/pom.xml index 119e7eed..deb357f7 100644 --- a/pom.xml +++ b/pom.xml @@ -12,17 +12,26 @@ - boundless - Boundless Maven Repository - http://repo.boundlessgeo.com/main + osgeo-releases + OSGeo Nexus Release Repository + https://repo.osgeo.org/repository/release/ - true + false + + true + - osgeo - Open Source Geospatial Foundation Repository - http://download.osgeo.org/webdav/geotools/ + osgeo-snapshots + OSGeo Nexus Snapshot Repository + https://repo.osgeo.org/repository/snapshot/ + + true + + + false + @@ -44,7 +53,7 @@ org.ringojs ringojs - [0.8.1] + 1.1.0 test @@ -265,16 +274,16 @@ - boundless - Boundless Release Repository - https://repo.boundlessgeo.com/release/ + nexus + OSGeo Release Repository + https://repo.osgeo.org/repository/geotools-releases/ false - boundless - Boundless Snapshot Repository - https://repo.boundlessgeo.com/snapshot/ + nexus false + OSGeo Snapshot Repository + https://repo.osgeo.org/repository/geotools-snapshots/ From 937a6c511334ab247d1f973570259b5b341f0d7a Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Sat, 25 Apr 2020 13:30:46 -0700 Subject: [PATCH 23/56] Add maven wrapper --- .mvn/wrapper/MavenWrapperDownloader.java | 117 +++++++++ .mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .mvn/wrapper/maven-wrapper.properties | 2 + mvnw | 310 +++++++++++++++++++++++ mvnw.cmd | 182 +++++++++++++ 5 files changed, 611 insertions(+) create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java create mode 100644 .mvn/wrapper/maven-wrapper.jar create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100755 mvnw create mode 100644 mvnw.cmd diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 00000000..b901097f --- /dev/null +++ b/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,117 @@ +/* + * Copyright 2007-present the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.6"; + /** + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. + */ + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to + * use instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = + ".mvn/wrapper/maven-wrapper.properties"; + + /** + * Path where the maven-wrapper.jar will be saved to. + */ + private static final String MAVEN_WRAPPER_JAR_PATH = + ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if(mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if(mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if(!outputFile.getParentFile().exists()) { + if(!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } + +} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 GIT binary patch literal 50710 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 EfAhh=DF6Tf literal 0 HcmV?d00001 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 00000000..642d572c --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/mvnw b/mvnw new file mode 100755 index 00000000..41c0f0c2 --- /dev/null +++ b/mvnw @@ -0,0 +1,310 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 00000000..86115719 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,182 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% From 25902c95d63aba0a646963843d0eb7d7d4985c3b Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Sat, 2 May 2020 12:27:02 -0700 Subject: [PATCH 24/56] Upgrade to GeoTools 22 --- README.md | 11 +-- bin/{geoscript => geoscript-js} | 0 bin/{geoscript-dev => geoscript-js-dev} | 2 +- bin/{geoscript.cmd => geoscript-js.cmd} | 0 doc/api/geom/circularstring.rst | 3 +- doc/api/geom/compoundcurve.rst | 2 +- lib/ringo-core.jar | Bin 0 -> 201444 bytes lib/ringo-modules.jar | Bin 0 -> 138171 bytes pom.xml | 78 +++++++++++++----- src/main/assembly/all.xml | 4 +- src/main/java/org/geoscript/js/GeoObject.java | 20 ++--- .../js/feature/FeatureCollection.java | 8 +- .../java/org/geoscript/js/filter/Filter.java | 6 +- .../java/org/geoscript/js/geom/Bounds.java | 2 +- .../org/geoscript/js/geom/CircularString.java | 4 +- .../org/geoscript/js/geom/CompoundCurve.java | 14 ++-- .../java/org/geoscript/js/geom/Geometry.java | 58 ++++++------- .../geoscript/js/geom/GeometryCollection.java | 24 +++--- .../geoscript/js/geom/GeometryWrapper.java | 30 +++---- .../org/geoscript/js/geom/LineString.java | 16 ++-- .../geoscript/js/geom/MultiLineString.java | 14 ++-- .../org/geoscript/js/geom/MultiPoint.java | 12 +-- .../org/geoscript/js/geom/MultiPolygon.java | 12 +-- .../java/org/geoscript/js/geom/Point.java | 12 +-- .../java/org/geoscript/js/geom/Polygon.java | 10 +-- src/main/java/org/geoscript/js/io/WKT.java | 10 +-- .../org/geoscript/js/process/Process.java | 2 +- .../org/geoscript/js/proj/Projection.java | 2 +- .../org/geoscript/js/lib/geoscript/geom.js | 2 +- .../org/geoscript/js/lib/geoscript/layer.js | 7 +- .../org/geoscript/js/lib/geoscript/map.js | 12 +-- .../org/geoscript/js/lib/geoscript/viewer.js | 2 +- .../resources/org/geoscript/js/tests/all.js | 1 + .../js/tests/geoscript/feature/test_schema.js | 2 +- .../geoscript/geom/test_circularstring.js | 6 +- .../geoscript/geom/test_compoundcurve.js | 6 +- .../js/tests/geoscript/style/test_style.js | 28 +++---- 37 files changed, 234 insertions(+), 188 deletions(-) rename bin/{geoscript => geoscript-js} (100%) rename bin/{geoscript-dev => geoscript-js-dev} (82%) rename bin/{geoscript.cmd => geoscript-js.cmd} (100%) create mode 100644 lib/ringo-core.jar create mode 100644 lib/ringo-modules.jar diff --git a/README.md b/README.md index 21398f94..70d2a2a1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Current Status](https://secure.travis-ci.org/geoscript/geoscript-js.png?branch=master)](https://travis-ci.org/geoscript/geoscript-js) + # geoscript.js ## GeoScript in JavaScript @@ -8,13 +10,13 @@ Released under the MIT license. Please see the license.txt for full detail. ### Download and Installation -The latest release of GeoScript JS can be found on the [downloads page](http://geoscript.org/js/download.html). To install, extract the zip archive somewhere onto your filesystem. In the `bin` folder you'll find a `geoscript` executable. Adding this `bin` folder to your path makes for easy launching of GeoScript from anywhere. +The latest release of GeoScript JS can be found on the [downloads page](http://geoscript.net/js/download.html). To install, extract the zip archive somewhere onto your filesystem. In the `bin` folder you'll find a `geoscript` executable. Adding this `bin` folder to your path makes for easy launching of GeoScript from anywhere. ### Running GeoScript JS Change into the directory where you extracted the GeoScript JS download. From there, you can launch the GeoScript JS shell. - ./bin/geoscript + ./bin/geoscript-js Once running the shell, you can pull in GeoScript modules with `require`. @@ -29,11 +31,11 @@ When you're done in the shell, exit with `quit()`. To run a script that uses the GeoScript JS modules, include the path to your script. - ./bin/geoscript yourscript.js + ./bin/geoscript-js yourscript.js ### Learning GeoScript JS -See the [GeoScript JS website](http://geoscript.org/js/) for details on getting started using GeoScript JS. +See the [GeoScript JS website](http://geoscript.net/js/) for details on getting started using GeoScript JS. ### Getting set up for development @@ -55,4 +57,3 @@ Deploy both the stand-alone archive and a jar with just the GeoScript JS modules mvn deploy -[![Current Status](https://secure.travis-ci.org/geoscript/geoscript-js.png?branch=master)](https://travis-ci.org/geoscript/geoscript-js) diff --git a/bin/geoscript b/bin/geoscript-js similarity index 100% rename from bin/geoscript rename to bin/geoscript-js diff --git a/bin/geoscript-dev b/bin/geoscript-js-dev similarity index 82% rename from bin/geoscript-dev rename to bin/geoscript-js-dev index ea3059b0..5a2c40a1 100755 --- a/bin/geoscript-dev +++ b/bin/geoscript-js-dev @@ -19,4 +19,4 @@ else GEOSCRIPT_HOME=$(dirname -- "$(dirname -- "$SELF_PATH")") fi -$GEOSCRIPT_HOME/bin/geoscript -j $GEOSCRIPT_HOME/target/jars -m $GEOSCRIPT_HOME/src/main/resources/org/geoscript/js/lib "$@" +$GEOSCRIPT_HOME/bin/geoscript-js -j $GEOSCRIPT_HOME/target/jars -m $GEOSCRIPT_HOME/src/main/resources/org/geoscript/js/lib "$@" diff --git a/bin/geoscript.cmd b/bin/geoscript-js.cmd similarity index 100% rename from bin/geoscript.cmd rename to bin/geoscript-js.cmd diff --git a/doc/api/geom/circularstring.rst b/doc/api/geom/circularstring.rst index b662885e..8419d08e 100644 --- a/doc/api/geom/circularstring.rst +++ b/doc/api/geom/circularstring.rst @@ -22,7 +22,8 @@ Sample code to new circularstring: >> cs.linear.getGeometryType() LineString >> cs.curvedWkt - CIRCULARSTRING(6.12 10.0, 7.07 7.07, 10.0 0.0) + CIRCULARSTRING (6.12 10.0, 7.07 7.07, 10.0 0.0) + Properties diff --git a/doc/api/geom/compoundcurve.rst b/doc/api/geom/compoundcurve.rst index 7a3f1a25..fe1628f4 100644 --- a/doc/api/geom/compoundcurve.rst +++ b/doc/api/geom/compoundcurve.rst @@ -24,7 +24,7 @@ Sample code to new compoundcurve: >> cc.linear.getGeometryType() LineString >> cc.curvedWkt - COMPOUNDCURVE(CIRCULARSTRING(10.0 10.0, 0.0 20.0, -10.0 10.0), (-10.0 10.0, -10.0 0.0, 10.0 0.0, 5.0 5.0)) + COMPOUNDCURVE (CIRCULARSTRING (10.0 10.0, 0.0 20.0, -10.0 10.0), (-10.0 10.0, -10.0 0.0, 10.0 0.0, 5.0 5.0)) Properties diff --git a/lib/ringo-core.jar b/lib/ringo-core.jar new file mode 100644 index 0000000000000000000000000000000000000000..ead1fa8b29bf3813852253b0c8aa5bb944375f50 GIT binary patch literal 201444 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∋)^C3L@T}-ux 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 vcRP;HCphK(_21}Y<@cXG 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 ci63w+K2Uzi|mK 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 literal 0 HcmV?d00001 diff --git a/lib/ringo-modules.jar b/lib/ringo-modules.jar new file mode 100644 index 0000000000000000000000000000000000000000..82ea2c5ad3d4e414fe522ccd4ad91c91d82ec9db GIT binary patch literal 138171 zcmaI6Q?MvekfytB+qP}nwr$(CZQHhO+h^Oh&pmTzx^MUGh^eUc_N|J{wH~ta&tE|r z7z7Fc00IEOUDr|?;J-YO03ZOeqAG&4l5%47zf%AJ3jYU%0C4+<#-Y|?SpLJk|1Fe% z>pxLhK{-h=QDqf6S+OVCnQ0kmTDnD8XzrBu5$vnK=nnfG9vx z+7}s*&YWl^WN9U3ms~2rOWJ3cLs(c?S6V4Slcd7PIz?S2!M;$ojN*a={gjNHd6}bm;#K4FJIM|ChzT!~ksVOYzAsK{hOv2aPs+4w>`Nf>4*`;Py|OHPig~O!N^v zB$Du5$VMCWv190rm^&gMPO2lCe1zn|B)s-Vxiui$yd`#KJW=3{D@r(pTttKxCmIlC zJAR`b9WfXxrsX}coLY`-#-K0TkN~}sNj}4)kx9A%zSK%h@Xe5uPW6uai3jd)-vM%G zjRjTaUlW1Rl`m}g%q=70Hxd=|J@SB?&U7Fggfx4|^u!L08RkH&z*(mHLn{hWlv1Fe zVmIadRUG5I^L&h4_m?DEj5iqh_#VbL&3LYpd)ug+AL4CuzGw4l)Q3U3yy{Twaq&bwGU=I#Vr2} z06YG8EMyWkwm215OY8@slqZfcz)#RfuY&@adMk-mi#)v4$uWe2zFJX5^z5H zY%~mhan?)mr24R~u`*C8E~8JpMB+qQkaUyK`U60Xn{FvmJU%}>f?)y=`h@%NDP=xT z*)Dk^IJ7LuXgXZD9e?*HQo$c>>36_wBbi+5L&VEwnctY3+_$C_X7uWBgL2AFp%yb_8h zDX@p9KLWHo$^^^4ndZPy3c)Of7!8csOUXwc(j+_daswf3nzrRxGeALVHl`RtO%x!2 zD5Mjo=C7}Y0}IURm6jy5{v?rraFlt^dV5I)9vjvep1JX=A3ixdJ+ZI1!RQR#uB#L` zs6m-(c`aD$G4bAUk80%>LVaxEPZ?ONLa>x_yh%|k7fPyWMxvfkK+@>!Ons|d`opHv z-q!c!R?wdU>i4UR{2W#|CuU>>U3~GTR*UvOOfe)GvA_(=hWG?br4=aqFhl?_T9mgQ z+vDX2nF14OT>vRXSO}yjn6Hw}f#A*oInw#MGDj9sfRbrs=`#00Mu<_!PfS$%-M3u^ zyfjO%^epuq9#k5rTA((0DN(v^fbuTJjOkYE!^g}Ew-Al`Z?LB^(K9fMl;RJLb-{q* z!iNY3)s8VwRq{cy!_LdiiadBvIFr?8z(`nF!3hwaQo=&|->S@<7;m3xI8tKjo+TR6 zLbCA>1Td;&E0;z|<|jHJ$u!v{IO&*=lLF!j!I>E_dNy|<{zvo0i}DBZ-P_-xjJa+H zB_B3H((Y;XHo{%bQ=W70q%gH>pJ*E^X)#D4D-dH862JjL$wz~tpYrddq+S;a*K8DS zv`{$kN9+QUJk^sLd>gCq01l*pF5m&ezeK`M$ zB8or*S@WuLk?SJc3)uc_w=7lx#AFTTK~P|Aq;E1SOp8cX^J(A^T!s_`R)U>y#3m`# zJunU0rbUb+4U`uGw124%ayd=aDr(9eY_T|Ck&C5Qu`k4MBPbJx5>>MNg4J%UwnIa* zisA>?EAe~1lakH8*%GkaV|Vz%6fqF`zb@{6{Ui(QBemPZ&ulA6DuSy&@_T z+qE4Ng%vd!G+@QdIYb4ZLb)Uk^H3zS;vzn~cX|QZ&Yhrqh>1gRgdTDsWoGIGl{c~G z!QbMccI1_cfXE!>=}~#E0eo4k87kfLz(&941T%(^9TBS&Dm}H}nB7k8Nq!TcA;OV< zV>9;(A*r}Zw8{QL2P|=?29!)t{=x(a$kA&vxKKF;dEI!XR3jDinv59K#szB32`e01 zD4!VC={gr!N$GE4)Ql!CgA1F-U)FPutCl^p_dcpX%a!72naT+mTMj#*ikdctYsII< zIB$+{PxhF1RIObr$P;%`VrfZ>sFYJJMEqpgwj1=^j=|4-$zKlgS52b5vyv7dsz{!J zcZJ|rd<6c0{ly*l8-71cXY&_^jV-3_&xHblv)U{o(*pq|i_`$y201Q~)XcCB883M0 z&{E18NZXU6ajk2F*0BoH59cAMm$NGO!mVSe?o&k`b!$W^vKsADk{VyJ<{}YmB~17R zPwhnQMy6l*i3pu%tGbrkn&Hh9--2av#Jr$B4Dh-LcW)+h)d)O>>El8a4UW+T}XSA(Bn-d-D|WHDPZ zx<2zrGGllNp6^^!4n;K>im+M&{F1&x%^X3kSVPdlzHHP!8|h9IXtxaF9pwc6vb%>j zODb2J203A1MBmx(NG|JPjgz)0h0IYqYfQaqVedF*!W{zE7}2hrZz27%oCn1kb!{g( zC!(0*@ee)sO7aix4VIuR+KWSbTOPE+&e+ANvjP`4w59N{Ch0;3`q|VwKYsz!J73eD z70uz&)!QIku+7pq43!>gRpnRJc!Lw_(%h@d7fOg}?`Z6ysh)=EHIo*r9cF(VDkE5eS27}_eEo%8AtaBQJtfARHElcTP?H7X{oug=N6M359!}~1QkzExEMy{d-vh>z#O?c9MrQ+L8 zhN?x)0HbBbm&3p_(@oFk`thyI}4dwIv0m{1UJuHgc63Mj`YFw<0B+$A$_2 zWC+Bx+rFr&jScwmok#n7u0mqCgdWX-wC&IYG-A*(JNLX(b=20*Cf`H z%q~?~3ek7a=k`a%cL#?pOC#P{O=pnbmu(WNTcvGJ|F%*JKDVx_|5x(1t23(GXiuh# zM$M&nE#<@AX*<-pny)#<`CcXVx&TJ|Z!cVXg3!Hz?x z8e6Tqgvu#nNT_C)9e2--dC9c)M|1MB@q+=63plD`M%3q)>q_J97|bO^Wg|Dy9HInX zdf@i{HszkUc&Mgix#OL*U#C#kbA@0HE5xzRgn>n~8?pjAPUoLE-x-&(LSiaXZk$iWQlnf*KL zxQ>xgHOEnO+q!d>vff2=emX~qa;Vw5;aH8<;@U&*1k@4u05%xfk_Wu;D5MWEJkS8^dUB*_V$V5WIcCI~UHSS~gw~ zx?!0-=n=qBb7wy>l=XJGi=)&UzTb8Sb)lbB6tAt8#zzfCt#9y+aaQC=?^PN0Wupeg z{eeWEcPiBxXuafoUB)GJ_38G@DCANV z4?lHGb~!}gs8vrNDVaF!OWR&6z&#U!nr1`PB5L_L0nWb@XKaQ zc=Oa26F|$KT1KEfVQ39CRjM(Oa%W7xiali)s_$@oQuo&~!uZy3oEa(&0GgT;2=(9$ zxNTl;s;I|ZK?HW4oO#NA%uonzM`;tGg1WFh*=To~VaM%Kk>@U~MEq3EsvNKgjI)Yz z5bR4f?45eyk`uJmATQ`^5OxzeE5LhvUcQmzqeM@}Ag?ECJBd%DtE;h)=-Ua<3ujcZ zpVmkLu&lT2H7};U;s3X-7Vk0eTYfA^pnHB5Ppo}F2jPkuJuaAzZ@eb zM@sr6X+&-Q#p6;MUd$DioQ2+3>dn5A-koZ7gsnEYg7*fna)npagtJw7w0iC0Dg7|Y zOw}!|;?fDOS7={5q*1Et&uf?HMDL!S^)-*(#-oz<=ARRuxtsU4AZ(&5FGMGv)D2c; zzN%6>+fHk6c&J>nLl=@8^9JoKWRzTx))Lj!U7O`mu`Tz!HraiM$3;_%?NF7+62DSZ|j06u^9@c~)1&-u23}Wm5D;X^iY468meL zvuagOtRHT@-YBc6uToEETIKG#u~yM#_*N7fero`Z?zK+HxOCUmbwx>EJ$xyUfON3e zBo*er9xXM~gSh~m3O}Zrs(wrD5+m)R)wfi50uZL|y(if{iZPG4?^y{dSui#xb0nJG zKAC{qRZQf)U!C{-c1|itT{`0;Z+{%lnV$j)!};zCHy~86m2fA;7QT4gy}sQer`Xo9 zZGiXvqmiR?qX&vXuKG;0?~QeSX& zyH}xFxPy@0%Z{HiGYMFjeP4YLAc43a{a$rZf!Rs(#vf~b`)br$P0_kxx(I*i-d{j5 zwp*fQcWAd#52ycy{~sFL|JJDz_0Gy=|LIgKI{#g#GP1NYbn^VCQ{CwNIBjIRTVAR?7& zyDLVX7fF;bYQ*QKL5l_r$M=1X@EzgH6KPCXC+dwG0iyR|Mumh1jW0fqqAjwSLQ14H z`Ann4>_N>mVlq9VIJkfvZksYzeEsA9SA5VpPywpmJgGD&JcgVwNvA}SOe1CBGXE!3|LKV!_7rnLfhey*0g8ZxnN9x06$NTcbEx@T3t-TbDn)|nof4UZnmjE& z!F&h!SA#7UC3}(~KD4v|!(l!sgBtXYCk7B|Xwzb|71c6L0&~Yc@oY3D16TIAk(sv< zGUm7wpvnFkcPOY6$~w(%;l*5`?rlawG=>*NQS8(P4|i%?#?oyUkk(x#d)O zD%yNOD?oWSCN?pNiWqXu5oW~CYt^xlZVAGnqzr)(@??tKz*EmPGN>hB*%qpJF901P zt*i}ZAf(GP3VjJ&WR^`C6J^ZH-_h<)hzYPPn5xU!QoA{Ymyfe?R+B#1wJkxTs zhEH`O?sDm$U1KJipLgay|ugz+Dy%rX03o8wkZ>*QOK5*_&DG*KxpQFF37CMP%Tx{`&18iwv zuDucqMTY+9B@>SiUvfJU&jwk~0ebTK(dFWUS}dS0(k&LMNzUIyddsrc`>BKa{qDbKXT|k;{tuOlB!xhh z=~yeTd`oYvzWj)HOg-hF@AtQiP2f^M%cst}d8a_bu$Mxb`&5J)?B)>h@c6t?qa;!z zm~gRtJcq@cCvQ{hz(lHjemEQ6EGx+?PmKF%;F(v}3aX(D$3RjJ7Ujla5^l`sb;gB@ znlH4b(?JPj+K%{Hc(Ta&$b8E@6DCqZf$jm3BTaB!Yx+`%b2h*&tVQFW4sNMaq8I&~ zfD;vIy;%rcfyx-LJiSwk=EQF-o}4lb5Eo=0HZ)2(37J6lpv<6}krpD7AaQJFjS_VO z2};UtqN{4HzWouY_ve{K`nDXr$U=WG^{SU2Xy@BdmxxYVf_S&P_IEg-v4DZ>LQKOq zAi>8h+sNiK?lT*Ft%A6tAaQg|+|IFgsW}`)s%NB21v7w{b2Da}vy(K3v+>U3sPmps za?azo!tO2>-@4l0^b?}&Yrpl&@-2PQJ|(tUuDeTETeV-w0wz@=uaojxgDe<}#g4eU zbbv>PTFOb0X9H@&0XSqaKHn{vq1c(JW|wE(ZfsPdNY^)3VUA{Nv@)7ux9a+=(OAHI zFupJ?<#5TU&_X(RmE-oFkIiH?i3rry*4OAmN`uxVPqM^;hZ*PcM?%gRnFu%M*3s#~ z#koc1KMTfneOf#a?%xvi)kh=AixA z>o@22WaHf8q{CYxS~t@~t}W=_d$GCF-92BUHVZ0;At1opy{%)f=hncD`JN$bQ|X*m zHYct|BgVe5H8(wy!rPb$8@;*t)(Xg6&9X!-I~(LV^%7m<>7pQ^z*gu0tF|J$mZD$9 z4V^Wv>BG1e+v|JV;J%0JCEvU2EtbZmi|e#M&p;i;IiCA8{x!Qx%FSyc#^r(on{O$( zaib;|TXzZbs9x1^#*|)((D?PqVQCTU$~e&3YFt|cGvnxG$vMDb8n)*6N&Lgk?yzyL z%^?UN<08|R3ybQoX*S5Jha?+5JFQ}&(&(5Z(Z!6hAnpp+4Q&(7Ssfdp1&RLmP3&nM>oXu>aM z|Ln;3`w{%fnuUuZZ-e# zSv-(X8B}PqDI1#1r}IIQR)iLefHQQ8K-8GFOp&3Ln%24#3B#?zc-(ewm~DyBI482j z!r%RyMcf!Qy&re(d=Qc+!hx_ZebGpao|YyLaN!k3tKc9Bx@dCPX*+r0?i5ersgbe< ztGJ!C2JwQe!gXjXbUDDcS3(_7LaVTsneIKA71N{Z3t!M9v_zU0dk59zPxfXYU(Dpd@aM@Sy=U0ypaq zJW^$`cM#EH*OyGqWioPsaupL(JPVwmE##GwwE(xOHiS~y-rN9+r1i44z4efHrkFb7 zp`~uiI>ctawH2Ogc#&O$yz}!!{(~oV#Vewx!^MW&LMli6-SD^lsUIvSvZ2sCjFDsn ze!fQxki>iVAgNf2JRLh2Ny9rqGW$aB@=R}wU4Vzb=cYm|tTJctg?$n%6DL4{Eb~rd z@y!DRJV@2)Fm$<%I*rP(mD{%&*KZ!YE@oFL@$N zA0K`glftn5h=+z6CX9Y`q=cif_q!#{IM1&dwE(OnvjcYRl6PB<;=t99Znv|4`!(bu z6#}pPXzO?ok8EyY1p4OPxz*?(zh9H65a^dSXMxTYdrTD+hn&2;X5M+8@ay>DX4+`x zZEu@|xqQ2&+R;;>Sk07&)P+-DpZ#jDsto+_5G^6@uH?g=k2+3x8pu%kD^n%iAek9wlx%$y@6 zUeUi&;#>_7sHYn?gaQ&bw+>pWnK|3%kU~Vsa-~5Ok=W=G)0q*vvVgJFiK-}S${?=G zF2i!YZEg#cs{}=|w$Hir(z|Wi;3oCdT`M!9n5U?tom_Z1*ndJJ9j+LC+~}C5bVSH7 z3(?P%HSR5M1Z*nXof&FFkTd)Q)IGJ&YKTo-IkNt}?;yiI=SQL;0x=eFPFBQE-fIKeEVX8drS|k!N+Na!jvzt9Hd3A7kcJ zL?sc<3h8d4*QdgAcNCeP-mHou2P<+#HOYkP=gK2%q@!42U3W<=Lor^~`BtPlIu)`7 z8;Bx^ow;Ba!nY*udy?>oQxhs_z@MoU2_;G;mntg9d`=Yt@2-MOpsEJ^D?XzJV5@N0 zZpFE?47$Cxw7F0Tx7qpWtA*6H$4^tOMmfEv0w4xxve#xJ$;7UM!n|;)>3?RGJU60# zvp{!zq;#R&Y&T_0`R&FdDd6bcwTvqtDRo1Q<@#t>k+Ww~D#6_bt)u;-yWYHL9X*AO zemz_Bs#*oIt*!q86#od z2S~bWh%5-(*BmYH#1XB~o{npH9q4`NO+#K&3?c0H;QVoOk1mg?u|Hyvay&=2 zc*A z?(seIX+{!<7uq1f)MkM1?5;?Y&su8qrMOyT>75p}85+Zx!qVbmxfX=Td#rXtFC%p^ zQFx3W69}F)?b%8I#S8qlkC8Qi!nTr|HPsX6^67I0WE~W)u?a=`&6$biu^wU^5&33= zR~mG@wL}}B3?5whC&igy8zkga#UKFob zhI3cTP1HWQAfDVh>6=%pa8@^GcN8dWG_{56owRzI%1p=BQ`~vlrqxNgKNIl!U!PIs z>1o}g*7PZPW1Jy9Oy#1)vjU^sx?>HuW$B$3QvE-(_+sN(C_cVEK2pay?j|)@)3cfk zW!Y%EZFgN&kXq}>5c4K)sEAs`aMepR`wTWw0B1|o)>O`$peN-zx_MbOpn`z&N zyymvjwQZG+X$`Kq&5;~;)7;oj(zl&e#+J;5gtKJw9=`2$XW#43wO4}2#Oe*#o-pGKrH ztWrw0NLq@r^Y?qIMn3fNlO|`Y2edFxw$ZOy9AD{Gv9hV-)sN)-;k3@XW7D`|D zG%9=y1_01S004mTUp!L($KPdT>f+)_=V5Czs->;G&4J=~rf%`m!o9o^IQPm%h?}(_ zByE`%vU`I}e4V^eYwSsyneg-CP4a=Y9Z6Ye{TWbOe5d15R}|d-Hl45ohz=MXS1a6Y z-;0X}>wIol^EHyI)NWRU1UkbLEienxEcf^$YJ(dm}sGwUcvPiyp{G-i)u-m0~^ zA0|jMVCHk+v%F#_=JWJ<+Ib^6kA+8&uNRNQe@ocAw*Y|JB!wS=mLwBc>{POx49xpF z88|j0n}#4swb&IhtJolr;E4c~$=p|x)WJg3en}h2BXp9DR`iUCr29EB8F9x;P*_Jg&fCvb3-vVTTBR$^uC`=KIGf3>bVdtMTF|xZ%PV@~fgBm*-w6160}|@;Zc$ zc`Ii)+Rq;x9-d^h;%RJ>sV&SI3yJ~}J_r7Cz5Kq68D@uv@q)$RZwC9U%IScAN{3D7 zh|OV|pdRXZ9?a$Uu@9lLP37YA^q? ze);@_3)AnXHt4y|DO11#CA*NI8sM1IOr{B)7#u3&BNEw5;DJIih4JPt6D^z9j57Oc zSfFAgg${K&G!aW9dD;E$wg7okp42&&B0qI6bZ#fA8SaEa zBhY0$^$xj2#f__+JNS{@6xFE|9QBM!4Q$jpLMl2JB?Nw0l(y z)uIYW2T{moU(F{(Zt%P(8$-DtOF=H6- z;$<~Dyrfbn-iXjmrlLCdF|&SrJX`9njm)@4!P2FddPefl^KGOotM0^FUtz+Mx?R{- zz0n)j5-Z{*BI;Xav#PO#6IdG=P>m#W9a}X@KEJ@HQ1|1zsoKJ z>h`Uzl`Fmqk*smgy9PXhSf#KrPj_d^M81^ioT^yB2(aYR5*%(AV!`SU@lNNSb&o4F zmRJuu!_B^(kBQ~DBIZ9}C$ikCt|3m!%T@zWd6R}W(>I?~E-iM$fUP;&m3oYeS~kyG zmOy-7mTwPd4TV5#1miL7L|3g!(F^{ocVJq1A=$nid|!O_dA`^Spxpyp5IT+)(1}cv zv{G)26GI+Dz%Xc?c)}DHaS8QHXf)lGCJMh21c9e`btBaUTa%{4n$mu0spmypJfG!E z?o2_L_~t&mF3A_qK_P(ya1}?Wr(+tqu-QT(UREiTJ|g$higPxs1GfOm!I&4m#W-JN zQ>C?jz!zzDI8W_4y3`wdHf`xrf7U`#+LKVcNeZlm;;+-};+V4sPfYjR-Bg44XtL z_g$xg*K)G?H%I+)K1N2C@@j@Aa#xcYv~d|X)Gzy^YOK97_ik+}e-)(Oz{Y;h8TaL8 ztk)+X?jo+MN>2N(r?mc-!qm&zaga;Lz|0BFn@O5iVPLGx|7q^bJOoZFTY1Qcx3Yb+ z>cn$u0WoQm-06~h$(Y*3)zwq|H(4!}DW3|?QOkntDaq7_X`F^#6;|&G6<2Aq3v|bi zydCfx?lfi?g>(}z2BfwFJovC52L}EZ_`g?16&zHUhkq6E1`q%M|9@6S8+&sWD>?@! zdxw8sVoOu!&_sUuVF8%YHy zo3*F;yG^IVhR>EDTq>O)sd&{aQnOtr2ntPqpDiBx0cO{n2C5Ki?Gmg}G+t*K!s)rY zg}Is8oi3{LNXhJ-KyO~N`$H8)3vNLF_;^ELDfG-K6*iXX)Pd~9Hyzy;1D*_fjUY=H z)m2O$ktNocaqn^r4I;PuK_J+5U%p74+%i(}=H1FR+$o0M6aA&~h?4$e`2T)djfqBevfuy! zP?!J!|3+E=>CXQ5AK`3oWBPB1wX5N6zs-j5mp}jTk}x)>!zriz<~h?;BfJGO3uX`j zgu-@_OFS;DrE2gldW;T&0>Yq9brG&4pGW60q8!1oX5ZsR1}njH%>^3kX%SrP+hFGup79 zy6AUiBO=`0`Yt$aXv;vWnpYg0xHH%JK?`|O)gN@pKaD?$k+g_AC&g^&CBPPq7p zuUugDaPfaMf{)to;C8RxhKq}jnz4Ggc{q7+hm{v_SeJMzELOx;6UpmTwx#6~o)W~0 zLU6bcv1B}EQX6qDgzpHCiP=~_ulaH$^lL0cW6B8rylhN&wPm?}%zUY_q zEd4B8{0xRJ$tY^ z6&9Y1fpMth&Y;gb7s0T~lXekLTv$IrMMq!qI8W0ygQ0$F2QxLU`&|E8+cC4iNN!6X zm6mqRR}rtW4-lM=HSpyRn>A60LPU*tN2Tx*&OX9I!?(TZ&Gd#PTvADJ5y7teK{f$2g7Nr&zvKJA;ym z2I{RqW5peKvBC^DKG|Uu@me4U30v|pdJ_F{e2^B4gqY7mm4jF;FaQ;#M9rb3Ef%MS zFfXBnUwosPo<^g=o>BPARj@7vtA_D&wa{-z2LYK`e8tgpOJoS1xpurCLOSJ;69oem zqc8)`W>RRPVJ)Y#6e{8r6^W+O`yN^|oBOgW=3L&nxuapKR)mDm6r-d)ImnXKUG+8UG~%gRoXo=C-7 z6Rn#m8bWkc5bh|YF%z9c3mV2gc?g$Aw)!MsrsM@6#uK6s>1_tJ$`1NNSV7t2iXD=} z3oYn!TSiwl05W)l@3yvGkt=b(F4nzTF=s%8?qME*Iz1y~>sL9eo#q7q5Iu?x>}YIk zZ*6VwUEbK-%2_|><_eYLH|z^lYD;__K{Dm|&ai^isGz^S*2zbL18FV z%(Q!AkGYu+k9fbwwd0xmkZF^YOfvCi(Ql~kl&>)8=IzQDIJFj)D1<(hd%2rzKH~C- zdjgl)%;9Qrx|ex0y36bMO{AZ|?pGLI60852R%2;*b8U37x4UiO!)7h9(4NII8re31 zeU?(6$VPNg`IpqT3|>i}+IAvm)KZxFO%9v>_SW(U{UfO50h*V@_Is&4$IH##vVYUs zhK)a;jpSTgB0FV!Y+c=)@!$j9rLEr?u>W{>#&Wu5*t04DT+GAZ zjNty)3g^)iB@JW``<1dbVDnvb=8woE^;hZ;%hi^$R>{e&=C1;`G|GDiXMS!1Gwygy zxBLU1#X{t{WLklFAan% z3BT?Lg;=`Fte*XR3iux)2)YBz8spvz#+r$`7Qx=QH=7*RcE@Y_{Q~;&fcchS?F40{ zy|bw!F+b2e{qk`VUH!ksu59*enH%e3GCG5e_Smz*=8ak_6_kg!Dm8K!9I1+VpVJ|Zk z9QyE%JV(nzNtn0a)u6FAySZjIWz#5;RJ+x==#NPuo>zSb55^wH-X>?yzKV9FspEN>%C^jx0$ivDVx-wtZuA*bpFom7fVorD$8ai9j4#L-@4?*j z=v9W*@qWf-%V-tVopjvaH2VYo_u^~w=KAbO4gjE-4*&rBUy84p^ZzoB_--d*vp4N` z_Z5kZ!%Z@(KF{RE<}S=GcWqGDyGGi1vLH68>B)KGe`$mTk@09QA0}V|i)YVSPi|%eGZ5A4>xB(xsnh z#uhZ*?9y;n&K&OTmsqZ~moGPe`{vC}tyax&$KAHJLWWIk(YV8(Tl|cSxKrl}tZ*uz0Vc!XC*R1yb#mfPvW&YI%`WO-&US zN}?@{|L`2Dkg?T%pMM^U?a82Jcg|4IJA{6ls2D85jyT(zVPkl39(e4&W|2t0GnaA$ZF}_cT+wC%)f%Vr|0W z$7dO^&}8+8YeA#-*QlF!068Kl#G6G$q_gki4iI8h^?8|~VZxY~xc9n$AKm-in?C!} zcnV1O%vHslDONtY`8BR6)!LB`TQ+>8oo#^wu#sPyl=$OSP(9*S&MJppj11ap1R0dL$kIT zU@IFKQa1JIHUAQ3R8JAD-MTQGg12T?W_5?1@?Flo>Zg9%RjvBE*CN&lGUjI@j^(*d zMKxuWN~;PeCHoSgo#^F*$XCPwiFYHTvIylis#cx~_zkiukyLf&)jNaz7sf+V{gj2C zomFDC2jIaEdVQW=9js!?d{D-WoFD@x;^b}MHJ&KieeG}5iE%?kqm^f@4Km6#uvAmA z8sV)^t&mRin$(z=!1aZi<}MHI*#{B((^}DuxjAl+JCu>`$_IUyk+PkcSM1f(s$%Di zImM^S1LT5vHAH2hYRY^aErMVVZT~-u z`9SHP_Wc@E5EL3^wJ(L+WHQmJ-I|(!mUUA`@FuA&CQgx8P7+@D#Ng6<ByIV6 ze(qQFZkG80iU1hnh327J$B*Z@5CM=>2P=+FX~A*`bxg0C^=JUF~n z8s(cvli*>8XxsEpZI>Z_{U+O0k6xdm8*1r}^uc@-#t{;5{7VL-7!GOxe5B~%a}!8Q z1Tna9)y0HO(6FA3loQWHzI$)^WbU(R?2QGJGU5E&%e^LUMrKA5 ztHjz@aH>OjgAs_@qAH?3L>W~};yD)~q2nST!z7zEXPQSGo=FikqF)l9fxFm(1?qr= z0lrT0i!b5)6JiF^*BuY_oRw3|OhS0cvb-J{s1q3^ZJ{VHeDT+`*uA?_3Y(Hx42NJ$ z(a`)!*(@j+gR*!)zlW5I@_DIv@bI}|m;k}4VZGjo`1Vx7y?ow}J99cmZ=KrF>-M)D zh7#$FAn$A!SiP9K%j~<}4~GxU;&x7oH2R3gzel}v1HYM@q2!;02Yu}Q0Sx{xi(Rpnra*(flpn;xHau#d$CiRDoXFjF%kELv)A!P1)a$@8t2x#Z8mv?V2eF*QTKp zY(I7)Gl_vq#lQr8C_LWTI2i!?>H;tNKcD`7m*r1(dT#~JJAP7pD2TH;&kv&qvMT7W zAMg>UYH4wA&%hj8CG zZo5k#uf|8&fK@ixAtGH8bY_VduO%Ey2Yv)KALgG2DpfDQITg5AOf0V<3(CGc

K=V9d<`7&G?k<~Ld6TBE%yDfYf1o?0jIM5>K2ARB8& zOf-HmF5t;Q>pFmT+Ky0fx;flBi`0qPV~Z*_AW_>xgAgX3VZ1nvtNO(RyXVEb(P99C zot^7vAaTRBhMyaDip`^1qd_3)Qc@?3aLmnmX&#E$;)Im5gobA3<>n>|*UKUPT5#B^ zT~V%|IXvXOcy3%)wcLOZB5ZttfK{#bb?vAyBQJh8G(Fk{*j*8~b>RglbsdNUdv-l~fM?=E5X-Lb{KX!gh6TE)8>}XEFR^S474jspo!lP;lGx?s!+I z&b;^k0D3@$zwlNsdBbT&HYI9N-i>gaxsHVvV!sj^d3p@$bKuAly~GsgqK zvwb{(_2vfIi_?Z|E)lLnz!49~3Py7<`Hx?J{f}S&FZ>T`mn541{onrm-=O$krT8eT zbn*X_e{C!4`dj@=rmOwxTL0qRjl6)|jj$9(fk(r13Z=+J^yAOo^|`lbOeN#|*KnME zD6NtD7nh8+TY*O#;^fa?3MnngK$z&44!cN(tx|#MWW+Vcn1LZB41X){4-R+?6#C$< zm=BSt%|A9kmbsrrI_Uar!roKb=btY|;SfNusEiL7;Wt|c^^!+In$+whUy`LS*iyrZ zcvky_V1NXhNMQ#pxU?u|1l&t7Xm6YQEf`tPWV4fGWb0Cj0=Ch8xHZO9oiZ;3P}-D& znK7sMDadZgZ4(~eWleC}9C;tr$Re#q{E zLb*r#*dl914mv^`Lh%$t3;h3=Xwqvz?8KA0_2+bP2;udTZppd4$r%Eznq*P_(_0Rb4~7dWJc*ysTh^Hz&6i zc~!gJG+U<05IVoZe`YH|wD(GcT4ldosgS{Jp+3ovsdLd{$ zgV23Q7Se@a3FR0yuj2@dO-QS|->IZxB26LF*``8DPbAC9GYe5yx>Xr6~fTLg68j&|-{IT`v_`BKs}K zHS36HQtCx`_t(Nd9zQw%(rmq6o{zX>(y3|xx(M_=fMi;$$*#vd9jY)%*5h%{#()d_ zs4Rvyw;cBtVy1N4fJbcvMYj!kFTNdVj$AO>P3}-0eKL}~`5>3xG_!Q9gb{OgpFFy% zFk-J@R32SL7`1jO0_m8k->}$8G9fKoSt>aU5N1ECB)K@aP<-tqwRR9%@EG)s1uj)TBGCS8$+0%GD-BH8enNyPX9sZkS33wn3PD{e^sXlG z9CEKG~jwP0taK3+VcET@nQ#ux)1zrjBfpT1jg?x zD||vbsqov~7rQ|Y;w=t(TUoy}Ud+1sS+;ynheZ&EkEnqqt-2S1UDKM;wUKu&^A~8_%)99lti90Dn#vLjyAVMhe7(Gw8vmQfnn^2K? zz}X`goSl%1AXI~#@F_oh1p^7B(*66$ zcHo_r3y^3}QpJ#XvyEeoyQkTE(?Xd;3~sJ0aVbd)Fm{|_crUh71v~7{h!A-mqQbfQ zp`sg#i|>ZynmHo0nrQ2AXfJWfxNo^ZPdgAoBxhUbROT^ipQ}R8UI*o3v{ASws|``8 zZ2ww~d3lnN*Vo~Tt&!p!3@b_)3Q(TR%GJ6o3~D^0y^tp4+=Hm~)TO+`7*Yj0jzDol z-WyuyB#Dh!ma$rxvYiz^55vLab;e%%m)YVWvcmWZL`*h4n$B>E>T+ca2P5rIS!vWs z!X=}&tjDrk0BRY7;i>vZVaay3FWBs<_FwYkYOnQY^>CzO(fTdg5 zk357f5UPAXx%DRtEyV+EPb5G?qb84z{^qd?g8S2~A4rwTv^G2RuCQ>FUE}$E$G_fKvt93)xiX8c& z?Iz*uVn50)sSMlK7`57A?IA^$*S*u%9q{r+q_VHwu^O1goeWS+eY4HZvZlkKPC^s_ z#CZ0!_4NPzoPIq8*)vpb2nzE#NubzToGQKpu6aNCCi%9_(DVv31aT0aNPYk#7AOKu zdV4>HwKQvWIu674OMS}*Aerjc_OLoF)?-}V7LXBY<`b0`M8~tJqWHnaoa253u;1tF zwJ`S{6tT8cadb%owGC!v0dy<2x`3nBnBOh#o18N&_&j$03vN}gQ5}+lVvweIx*bIO zV0@TZk~+j(Dl9up`$-Mki@%O41=(D3>&LvD;bkA$475}bVN<+Epf=OL(2Hrd&Z%Sy z#v~=YOp&K+PTT?xAE`?qsN>0h`|~&LvNTP{gZtqH1q=ouNKPhsQzwaQk*vzfjP1=L z+Hr8S!3eO`pCprUksqh;>aqy06!9T0;3{_aP}N6hs0~!JK|6(qDqH@5P5~@RoO08I zgh9TQ(-K4jFP2-XuuC^W?-?e<^~AR;nZb+Nk}sztcNx!nzf3~XiX%}@eS)W&L4 z*bIM5ODd+ufiJfmol=^UEEWk_U7*l!Gtn<1Yr=ae!_&8F1W12o1qC3Ua6@JaXdTE& z=q^S9Mi=emi*qi6LXW@+nu?W?*yOsb>-+lx5d6 zMPnn_-BN3UMD{s>w8i#Nb_V)tvo%UxO00U8Rc9x7F;V}XQX>-esS>LSxWq8RD&I}u zJemV^xnb%m3IfUlq4gkcNWn&~P=8v2-Uvo!Eu1l%l^f9Vj!LNLjB*J>1=e0qY63{d z3waN6((*?gwxVYLq| zavP~Xxj{DxnQYOjiL>D+Ova%+oE)lra|iyp>k{;>NQ2U^zt&7CF&E)KSN(PVrWL~_ zZ4_#)Mr5gg0@SioFhMsjHl}Tn_<>e59|9C*aa$X6=+Hw#J0l*$4#>jl3#KSH$0rH0 zG6pGMfdW;Y)yYX#Yd|Q~SZiM9?@jWLO;+c(S^&=&hA2!8jgxI24JlNoD9_nmGmy+H zq+&eFm(74hz}!ra)8yw9==^8c>oB!kMTI#U)be|Q(V)?hBK^>-*WbM9#DnZ`0?!^h zII}a@cGy^;OAZWR1jYs$)gr6XHk4O*mJD^Z!my5JKETS%a^zY}p7FT1S(YINJMd%` z7_mr7K=i0n9)VHViV!i?3*~uh3b3EnC;0*`DV-??R+L2<)oh35BP*)r;1y z{22rUPO;B$ot!nQOVDrZIrn8$Xaf zpA!rNWgkmFz5$6x(neHNWe~5s^FI5W2%FkSx&b}<;K{ajRnXQp3^WL7%mcKkqk-xj z7U7>uo#s}a>RsM-*LSUH(^YeB@E{r3fp@Q6I&siiGGBYQe+NhMVS6hIASHUvPSE=? zYE8^?;~)OeLPhTj*l$saa&z2#^-&@jK5tKV+8~4S3q7h}Fjs)MDfkWgLBLrFS{HG5vyAV;@ zS#TW-_5EY#U`Q_KRCZ)^*rAhDapGZ-P-?up$CynQ(4>PlN zew1Z-?0GD`I~8bK*9=K4hJxg;bF+rW4Cw;h>YYktCN9tLDq&I{{29O>{`M3vP61uc zdF3lQ$T6YUT}U&&!s5utoI$#7$b(&N3cRO6py;~*;I|qe&K@su@hnRxhBgh}WI>82 zo#tO8`vA54;UIOsdvw{?x2Mx%u*^3{M7l7Q&0c8GSrO1V;B}=Q2U`SsS?M*OqwyUc42p?&1mh)qrV}9x zmagOn+%8WdG26BbcVZ_P<<2rZzHWgW-9;+ZfotA|F+f7uK$;x*E9OD^c}{^!zgv2- z#Vo_ZJ~`e1eu@SUNuAgmT%-%mi6PwW4sMt)*QQ`oaW(lQ&&@p^I7YF zs&vwvM=rSe$E0)E$wq=GS&u5-;d;2?QCb(G)E{zkaLBteFO@&dU!N)ZfLz%wcgJ6a zRyv9Jku?gsYoBT0jAV6$;6^9g{F+L@&Fg6ag9YVt+T#Xl(gQK=yVt1Mqn6s?3+>!J zgzoAXHG?&7b&7`WQAaS0V4`7Sv>Cw>aWjo}r(@hGhk9#N% z@flFnXgm(A6+Z%Z3xnR834DxMiGwiGLta*Q>E(GNiyqrwMb;3#;qm<&l62|MyC)K% zo8i8Pu^&l~KtW}dw#poDmiA05X}U;PJ8D%SQ9s*Yrn%35;2GI@?5OazB5nZT>S@ve zJ@4}biQPYkUfanvLMo?e3~yol8jpU$$TOhzbjH4 zFE2S3?7VXkbq;~?S=Tv-Tndb-W;N-nR#&K*C<>b|%O_oG&vB9S#mKp$Uf46GpbOS= zRS;edr0y427yacJL#XB8DQT;LPRaK%*5b9ZSWuUpyL)I*#?6qKXzyLq4MJA^RbhKk zV-;!;sH8+*f$XFf^SoR*^oh(3{P;$CV4Az`GZuch_W_<7yGx=(_%EIxJo&qReWP>4 zIaH1&y0Uf)+RvAa-G@w4%0zzU?h>+c83SiTQMcTJ#Lh#bhKe#3!&`x=wpnHMd+!xj zQ;VDgh(iw2>%yBBuGDmrjF6q$Uq{h{q71zsV2u!*`?g5*2)>hDZNog^H_nA3TbVD< zq6@|8+9TmFx%2N@0?nn0>x_4*tGXm_9e=s1%v zQMA!vzfiFa9j?xoKnIy!THpAhXo#s3qV;d32d^!BF&u0U@_ar7^f-{Tj=u#JzS3@P zFpCF&p$v~AFj%7gyWfNbjep+fqPPe~(Z&azO4X>?wu|iB3ll?K#-i;Yym)075^@W9 zR!TxaWfrD#VMFvQVh}PrHhgd|@GXofaA9%+0VH>tSIvej2{&h`jvsTe-<7L3GYOTF zN=Uh5cpKaqIw=qs7xP6`2zJ{d?a3D!#0H`s%%Sl?Q<}07?X!f946L@q^Pv5{*WC4!V>w>B+~Ew*0c10Kso%q(BD)VU z&mzc@GlV zM0WyUEzf+tRO1T`})~bLZ#!JH1zvQ@*JHq>#0#|j`O7yn( z3V6Myp|2F$+X%%JqNs=%>i&dHBm!&E#3ydL{o6pFKlCBj)N6C^Dw>njV*kjBr)~|; zIp6Q4)`C8cCiW#&zOL&@Vu&%HlQ!o9$JAEyukLrNOsEQZP%v&TJ`|qor%&W#0SY*KJWo`&pZq8E0+a=c$EC@&1%x{>oWm+YtWF^HS*QU%yTjh0=!2>SC9m>&GZcS^wxd(*R~g}2Kcf!p5tPyTZT^q zlX(ZBadSREc}d@|+Edw{LBQw{J&dVMsjxnfqupJ?n~rI|+;XBpydfSU#zc zgFU$toP_s|N!k6}Crb#*Zl?hwk(_wQCNhR_{nt7&@!K43(P)PYKt_gKx20bne(kjh zb|;}P5Qp~+Y;|Av@6u7oWJ=M=UcU3j9o6J3)*75Z(Xvvg;k7Xs{jiEd9epmjg)1!Q zga>P)fF+46Ng>nL$J^#5PUD1*G<3EHoM<27>C?_EXhK4|Cc61k(UkXOu7hQ2|Cz9i zo|(+X+-e;w52A5@%gtFku;*wwsHHS8L9GW*+pnu#W6}yusOf95^ngbQh5@LcNOs3kE8Y-AF4yS38?REma`fx{I{S zI@xjtWyKt`F>6#Yv_E$eY(n*~7r>{(!e#k>vpz7@X-;QvzB@oF$MgO#pz~S2&Xzyw zDwg)K?MBza>;HAdl%L%D2j|2(G}@TEy^hMxN!Us6O0e+zEGxmFlr-&MhVPw-n{b2Q zXC0{PD=Y*Jn^uDdt%k9ykadzSTrF1|m%9EvS~YSS<=OM^p8xpc^H*szj0_V&Uz-WC^ zOid;nLfgm%jpLi6unrPs^wRq77j`@IyG?!tfY*B}S>gCK)O!Pn#_n-tg(!#WtIPUN zTnf4|-ZmwX!?3)ATg{2?qpBBO%1<5&p@iha9=j0NEiUoof(^9^+~tMXMHloHww^mK z>a(15Ijn;hTj{nZNh4Xa} z9Qm;G&Tx);;J7dU?Fi>X3r_oM)|6fPn5y5#ic5HiSTb@R>36ZZ(U!Aqh1v>P1#j%gCC6q&hNUIV0>yYF} z{gxqw7yNgx`p{uqdl>??7rAX`zL(S|fX);2_Mw#EBwqUdIS&62+Z@tS61>X{70N>> zKSUXNR#xqkM{DXkj5?Fmg5`LOMs5z{3-sLGIiXQO!$cn-&dYT%*U z-j6DJ+m_8}w=ug;pNQ5i9rmtRAaGu{#`Pw}uwd4V+PCo4OSC4!OZdj@3B02`Qk;zA zZ-L%60h_vWPhAn;HwmdL^9ZK!*(c>-jjcTrOwk=(4lhuVyGdli;rW5!Yn+e&vB`m6 zWi_k-^mlr#S0!>HTG-8#}iEnODiu^QeuAh}h}81&25G%*C`ug@S7Tk(E1aPvaB}s+O;*hoQ|d z8#3n&@eW=4+o?gez(vJu0q@oJ$>Mx?;|=r{Q{B1unDVZ!@#RXOz4L|@3IG5I2monaX-lr8Btx7R0013J000sI003=oWOZz1 zb1!FXZ(?C=b1rIg-8^e^+eVV#^(!WHB_e$kXlJu`iM3XuD0Zz=d7bTC_DbbC4uK&# z7Kp)O08vb$s{0%F_wJWmcTdk?0D_WokKNQMRSpTvG1z$xmMM+ zR$K8}7c2Ai8zD1O)>c@vQNk=my;fqCn}y6pS(#E*wN_RvE3=_nuh+UT2+Xcko(oxI z03fqMiY35={Tg7IZIQqlT=t!*6>O9>{G+Ydn5@Z_*fh4Ly{RljVQR5ZLT^e_)hZLY zzEW^gm@3nStaiK!A&OVE04VBO=8eR)rpR~jPpU*ynj)OZ*0QRb61U8bj%M!o=b}~6VG|GO zi&9o{BYt^PS8(%|LB7fa?a?6rl_+Js_M*U#1j6KiLx4hbVI0Cme}r(sQ;QdlkC*ls z4$HS^Gr|!}flai1tz?D_8BhFuV9YqWehloFyQIFUk0%0%B$6Z%x4d{p{~xBlBRkNa z(Le^cZScp82-J7y{SJ;diB`Flm8ZsYVq8+GzcwI@@t)Jp7Em!U#(h_6hiq{R`+)He z;a$S2cL3Y1qHkSrw@2MiBse`uc`L6#1Z1%jMYCC`iuh>ClN{7G7sxh?%mjr}H*6i* z5(iuAWhH>bTN({=VTuzlgheJR5XZb$RUvDA9gN?lgK6K5AMvLNTLKRYDdKLSXcF;B zV5I<6v;s`a!dNfib=6pez6G}TaO#RNNWv|h4MoBf3WazB=8ew_BnXFX^`tAyZo&Pc z3_^=s2h5eT7kp4Q1+f-)1Qa*osr+&<8Fwys>&E`85F>cNXc~P-qvO8@r3!Rrz(8=* z0zcim4M6s9KS-Gzf_LiDy&817cbm!MHH^P@*P&hbz%TsuSAp&%u-J+Zz#u!J8x3h1 z@PXZ=Y4S`I=+4AimL)i;tp>w~0%aIaySKeX@R!@uy}QFSbFc!)q?2M<{_YH!gVv7+xi(?~*9tl+f3GHN){OVIZzagRt-Pg!z1tBR1oz*7z7f8xS}~tP3BCeffbee3Y#hRSx~%(fYZ!yfrD8|K~5EU<*oV*T%l&NwN5dyO5 zTA_HNpScEBbbyjau&REmH_9}vSFlQnM`^BP#dkum;!Gyltae{);5`wijxv*u*{txu zXjA%nZgZWgJuUw@5_d=E=Rl;&s#irlrVCT?^vMKmbE1z=>zPg9TMaqnSXGs&4meA_f-J0Sf*%rxUQlEona@g<3JpyTLPHFOd-?`g zgQCD=w)j}*Pv$d+SNsqx@AjI1K zHJ@zr^&~f|@$sL*o)`hd&9e{MD$>J5z`^M-zn{*8+`uoM^nBY)yyBW07QHFX&M~dv zItx}tk!?wBTu}mGo}foV4?=fZS}*JE2Y2B8g5U&;1PAaie^a`Rc``+$h%Z*B#77^w z5Eb!uE(EjXqRI0iVPm^Gg^ zqs0^IqPPUr`B-1ap8GQITu{jz1pFE+e+EnD?4&J5Edc8o?*Zw3wTyRC3&c97Fh5Ra z$8)T+9nX_wHb2G?Ck9=CSBgr51dwB>xcjpA5Q4#5$Mi%*F9eJ^)%IKqz<_P0ItNwx zy9o53AG!?S3&6r+g*$#eey3;41#E}RA8c^4N<V>LOZ!U&B2-YP_Ak zPkg`QP7+E}3=$-*B0a>?Ji(%q!LG06wS1FSx~zi?6J+Ft40LeKK%WQs78wDG z1Fs-^;ruVDAW!ag+LJ+3s1r1{m4mAaw0Hr;cry2l7k~No8v=%8w21VJPyXU59psm+ za9?CEkCU5Ce*7*jl|bZEs4W5=L#$*#&x#t2`{O+ki2!v41a#V~+ZNCvHTLnW6lg|+ z`?f^eX*d^Y%N(tI4Ii9hBVE`=&3jUetGz)J-y<`(kbSvu+-va;?FE~Bg12bupz|bB zV%`+IV4e(~6ra=SKw>CpPkkMNyQ^0um%7X$}9oHeeMH8blu(Rj-XZAVtU!{9RLojNE)fUnnTX`|e&sjNyy7 zdpa&LGjoZ*XU8F1F8PQ+!HiS1}KVi)3q#C zu9aQpGIbqkP%l-r7M#=}H|B~`-N>T!ct%g|oa*g>ApIS}fsQ-sq4OYLgpMRQVKB0+ z0O8UktZF-gyv8>M!wQ|XHz6eo*O7Yd9sJhbYbxE|f-mhI_W$i&zR<3)aHd?VW%lhw>ns9F0wZ!+hXT*knPLGo$$J|y306@~YsIXw)r<;$GwSr5$g-T}dNG4NxH8TwTgf}! zLpTIN7K zmhn2Y4{peb=9xO3aX)}E5RB3Ml5@rw_)vL>pF^bX$K9B0BC=o?WPQ}+@oZ(T4L^0m=@6qg6wG;+&TO^Cx1 zK&%?9w@^4*snS@D=7FRI12tD*#+ra_C#OIT8*qbUwsCd>P|_Lk1$}n%-ow+r21l|W zdlVnemyW}Hom&)9pr0zR(6x90? zsN>{#(v}4P@X1+!`{1q_(H>yJ_Q75L{^0Ipmd-MM@W5`kIkau2>U0J?tq(plEa<54 zyzkcL9K3V9SSgAIP=vw~klVB}*3v+kt5ecZ8XIc(5y#@D3Hb~ed5*q6( zaCE5Fo@rDlq(MuJqVTa`pFEqny6RdumfAKb-pz`nhw%gC8X6Bo?}j6ihT=4B zU?FLC82XC?p}EfHZEgmN2skb^(<;!%pRCo5gyuO9&>N`3%_wK)3ilYI6-HQYLY3ws zHIO9NKf}_Us!26Dk)1CkMF%lz6+>B`b=L{I^1jxIPC>w-_ga6{1(^6Nq4#OqEg$_ThZ$Y!g35KN= z#Pz{Y!Q~6I1}d-~Ye%zK}DIqi)^->n8 zTRndIOzY>Z}%~z6nieWyK%6}Mz*mZ^Zy-^)vxGzohfy9#y#Y~bZq1m@p~iWwbVIPtT5?E z=iItj>tj-&LR=yo&Pm#Irqw4u#<_tsO_%vDu3z0u1@@Y~u;0MG-D$79LBtL1r)$oN4?DI+-uGI$ zbkQ=Z)TIlR6Kp=e8$;ORzCWU7v=0KhIb%RzK=_JlU6}&!2JAW{qJk7h=dFCitZO0A zMQk?yNeYN6md{5lota5dC}j#v2b#~`15m4Gbpt8~{$Yl19bni3pIT^mFnnUNt~dGU zj1YO_5cwe>@~4?R>*iJsBfgT=Lava?*y8uWRVL>UArnZq%8EC`lbDd1GZE z*@~7{9B@qC+>c9EFocn0WFk%+Px^{Uq!006?FDS~ikR1vkp9ppTx*S8#s$I@VUY#EcuIF_>WlLGY*E9C zplR#gm-6j1r>d06kum5+F;RE|pE{Fi`%Jim$4A4wt#^*_72TL6dVuU6tH+3biHErg zI}Vo*yt9ts`sab;#>?aVSQR43!iainA~qC}QNuW%RI9+@Ta3x`Hhk?GP!y=Nv9;Nd zXr3%2CSYqyfW6c0zCY+*+6u4U@MIlL?T{c*E>uDK4UeXlBE21l3&<6vxwP~SVOu+l zbRzO&IO;?14pPeG?qjUb8BDoAXx#5}SGcXq&9{ywwtj`S-6AeO|4bXA10UN6(Uy~@B&Zo z7NE`{-}?Bil<5`5LVrSSIzv>behrxdt3Je0bj!a+NG?j_G;c&p?o&D-U(#E?ylv`{ zboXB11n_w#OYnOhFnV%#7h(w|H+(%gx}z}OnVoS~H#aMt4$dCX+qp{qzoBzKJA`qJ&AS7D zzXZpDGja^wZy8#xZnUi}FLYCCVG)p&qH7-NtT{dEo!i}D2*)4g_37t;8or~6M*sQf zY4T(Qz64YSc=CMo91!!pT%8VEHJyr2?Ky8VENKb_#<9%Z@~+RhR| z?l)0%?I|1Nv@-?uY8mx!5V)eZfVfjIpUtP?9j66oDwY1J6BNJ&*E)5!0;k!yQf|Qs zx^$7IP+Tn}^q0vPgl`rdgDfp-tfC5}X{<;bk=%k#<(`8;J9VR0Ll|k7q#)DDH2V>O z(%^dxz9RnhzkG|hRtpW53#5o2iPKu{*IT;7n^ab?ow@>29Djnuy&i6AH{vLH2BhNK zOQ~}^?B{;+zs30OEPb&wUH4CUXjOa&eQ zFO1H}RygH-)n30dF}k}1TB~#o{8RABnB305t7pLM88{yFj%-C-K4dY+U;ZOkaz7O( z;?HI)E+Rwo63Y*JZj`KRGE4nCjiU zHzf-IL4s^2)xWzaG&Bj$*FqC{xSA6PaaVmdCOl0XV1CZ8eA0lY@3IG5I2monaX-jiu03YHL005O%000dD z003=oWOZz1b1!LcE^2elJZp2?IFjG}D-g|xNQpu@Q&(HFe%&OQ)3wXNHB3p=D-ihgb zp>%}M&kGT+)`?oFw9ukhDseK)=IZQ{CY(&@3xVS2pVZePd^by^)I% z=4x>|SQf?lXfnBrZ{lc{tyWq3yN*< zjS;&iUQM$2NA49=JX{KBlBh-Hij2l-SYGb%>D1>A4)T-q4| zBvieDb%A&SRz@IW0_Ib*&@GfKbdw6;N>S#Z2|OguENrU*H4Q;TR!LCNNGm1>2e&d8 z-`>(v$HJ|FKQhq|;uHY=vy5{!957P`qhp@8|6+j6l`xtiPW7iHnb{DvsKG5j6* z@w>d0QJhsv!s)PtBoT92NCB_oL{34Zi#%I_M!|y3!rWR|(Q>8Bq`;LHtU1^5tx82k zWSBW)u}Dh2B&jcef;*YdLDfEHz>s1o3x;nUiI`_fBcwDd*xmyCphAc@K)_(dEL-0L z5@zjM=J4VhbK=2{2lW<(%&%2pSc{ZT6|JZMx{Hi;kY7e%r$tuWuT_MwfpM0|A;TMq zZwCVYP&z2-u}D;U4KCqS{Pgo06=@r?!lC!0lEz9%n8?SaP2w;BiAV32=?bzl;j|Ca!;gupl}o5taU*d`rSBvwNk4LCQ-DNxPBYG&lfD%%F{NL z>|?o_0tc;LjRU>o5brxTvxt}+W;UZl0PO(rn0MKtrjA;XV*H`IL6i`e^8}q9WfH6imK1~BP-F;b(ik9&3}H2*95+0IesB** zV=oj`86VD_LSBR*QGggv#w0lYgmh}9Ztz=#NMj!z2l_fbemWXkdvC*OaRmr~IR*Iy zi{F!irwrg3JJbNUW%%~`@W=nC313_NHbAY%;3Vcd>(_%}^+j&D4=fjXNwELQO83zU%FU0U!b53aM4Tp5- zxdZ114vh;CDgmE~fNM;OVOcVrDOmnnV+bvn!bvT70{_#%iS8H>)KH(Eia|;r2R)Wo z!@(PCeXCLzXzw-|X4s@AX!@AA&Ic~EJDF)KZH`#c48B52 zP!B+(DuzJ86O&pvD)Fg_pP)4oDE6MqlyXVO*FZ{^BgagT)417E&2HWi$f3_q6aZuL zpSCi_sPPgFPJt)pX#FF#2U2F5_% zBzN*&yE2DhVVL)ANxRWMr*fr&cV6tbPRb1iMPLT$s&m;6hJqm*(_P_=?z1 zA~rB=kw{}$4~aD9Y?6o_+#wMwl8uJ9yQGlU5HGV;0-5$~rnHV-2(?12at8|#Upv=< z`z9(cVx|9AEXYRoE%Is%>mjekoK5m_8OCOLZ80H8%gZ%J^{bWqijve?Y&L6ZdZIy5s%@tp-nzHf_4UOP=<7`oE~@~?hYowESrX0L6A{x~|c)1O{t%E1ytTVKcqU}S9t))Au z@srVzZ7pPVd5yqHRQobo~3US@oyRqH>dW0sO((*B>qzz ziX-Ej7 zcCBO)PRD0c1sSojS(Z7O=wHLAx+CPxg9o9rGKb0t{g?R|o_*j7`?=vhuC_-R)xRDJ zl4~Y@4@YKpdCcO`ln0u^_@L=a%z2@{*M(XQMv*S&D$ij75LkzU-(;S`ydztKGL8PG zG6VLGDh7>Q3;$kJMHS& zwTb)R>Wm2lP+RyIVw$*(b&<9#p zKgJ_u&GBB5)2R763cZJ(BA%6bj&8`Ipe)-je8Nq_9mH%w?jmSA=Sf9vfgbNE?F|^( zB;)&HhSwsa4N`#s2$_VwiPr*q#n1}d>@TYJ9|KdBv$BwhnSoH&RWU^8Vc?#5V+h@| zEwE4!+)o7_F`3)kca~vCPNC*CkvI1R0Z~^TQ!T)(tGgPMv!d)Ge)IOF4|e1JBJ$Ns ze}K3i`3^3@H$Itb1&KV)9*ft9PQqRmUW=Hq{wO~ZwygmZNdz@FSrZ=Nrs0WtM4`Rn@yjfk_uhh~)3{y>;kK^+3!%sMFmm6+ zC~De67~RJc+m~10A8t8E@KDwcD*N+hzU4H52ZdZPue50y40>v+*4dp~7P*qqQ0f-k zuqoGQ;n>M|S@nQny8(6L3LUTFMB>R5q{|CAQ?31My;G22LEEKUwr$&8wr$(CZL{Fum_-1j>(*Q;l_JBZG01{p>vL~bZ(?VzS4uebVrTd%7Q7Ws)c zjmDF72xV1I7skMqPqid4a&SrPH>@FT5d|wLRT(5x9V}u2Qwo{BJhaj=WnujThyC%r zV?_oxse83R$dU#Kibd%Tl#?QeJ{2CV0i6d80L3WM1y*E+>>fpFm}v=TJ%r9|sSeBQ zlGE*nzJu3E2faLP$#0y~%dc8*S*wy|$?%#T)v;(&3Cv{35XiY6Q`Zn9&P8ROG}y7% z_6Km#@)(hdAC!>|cDyjx<4JqX^@^j#O3lvK<7aP*&-csO<9p{uXQm)QEwgPo#2_vg zgQ1vbW*g{-46D$~%oxjgG z7Kyt;jou4H80N}HTh|q_zN6Xb)e6NP;mz6}LTwAOS5-mpEt*_LQ0_>{7A-BDLPB>o z`Ma)?^2i`4|ekUtN4NLN#5KwU2Hp)qDBF?!4X8s?74f z*^`Q4vqZeM`3=$ZLx`{K&`Y2$y6@*QqHvn?D|fo|KjS1lG^G9u=^bADsFOCfrqLVP z69&XTKG%h~-%hUsyKrfqiN-5JVKjp2VFggx6*zkQd7KGD)|8=y6!_D-UqfL6EN^*~ z*85|;P_o-aIs+PgT2aUR#n_zCo@HNLX(XE3Yf><3-t_`0oPU29rpA|KGKVR>T?YDf zs!m(Y5U0H+b)wLYHq<&Yvr{{;gwPSfU35JAyipS(Ua^nIcJ-3FI`=n5f(8yPq#slv zY`5;$u~LLwmxzq;nLjl;h%~gDuyM1?S9`j}@tZmRKjizktF4VwD&2T#!_BH1GxCZ~v8;%dJW3_JS}(7C5)5%qnHrk2(_ zD4}&DtF%z{wA_w@v*DIngaf7*b(r}dX$eKoOgFbFFy#xaumrq;GKRCtusK1pT-UJ= zwOlR_=-caTH1Qz2Q)V-vz`y2vKOV^Sm21`mbS+8khtKGB;_y^hRGUEnp1$L?x)g;T zGN{x>Ru!;p$5fPk1=$HG7$t1tE$x0z*=RkPPSh4OK(#3^b_DaQq@2<)msO>^ft|P( z+ez_xH*ClG`Av3eZSvE%?^jTvw?|U^y;T)l@)DIG!H8A0HR>Tnw6idRlCZf%St-S| z9zWYmV*Ggx7u+!{Gy;VyTy+y-QgR@~ka_j+*ITyD6?(rh|ZuVPbw zk>j#rQx~~{qW*3&k@H$zZipUc2`OXSE8N|u($IEiOA>BX^8CcsgCF#&c!m)S%Xsb} zyZzwUkE&lnpIM@c+GX+F>#)z~8?!%rBbu;3R6hRP!Cyk*LRN%@R!$vwCjNjc9#BqQ zR*v*^iZq=_kf|LChLP&_G)NC3(FmjL+z5B;8M;zj(dE zgZ$xRwy4T@=lEvytb|jMX)OE+K#HDHWh$YVPtv4il~z%d$GNiZv$bPGP>%}-6XKZi zvM940F560}xwr_^Gy>H?ej6%hWO%W>xXisaYTr*YJ)^!9PoKbFU!oh88P0GyF=_erlqMd$Jo%(zz&>j zRa|(|3q3KFMo!yS_I&l*?RX8|h4fBI-Dgog>3T+>|2Kbj^z6!;U1a0H{VK*aOq*M` z)%isg8g$LN)bcpF`0JgT4L#{;epOJ4o6-5b)}%ME3|DStK0#f+&%6ZCqcnBL36>Nf*G{tD-Ez@XdRcs)2j`x zyunTDJXEcSwTX@}ri=4_Rv3n9J1ry=3I9z>3J)X3R_Q)DdQCp7OMtL3JnfZ|sn|?b z?cIfj#qM9IgaQ2b(Y@`9t?1`i7TkTiuiw!f&#A3jj&HcZ&-cT$D%HY7m)*$Qv+aXT z*0F#X=yzb^&jyQ}OVzzZjWX|-%XqgMC0CI-q}S%r*mP6^w#nnFly!%;{>CUkx53iO z`1(P01<#gB6M0whbN;>N6t$&};^)hwKX3hylhln_P4~<7zU$Xe3=hTDQwp~0`%0T_hf6>iO({M5VDo@h+^(O71nfJr?Os|C?O-8t z@E@T64&Q8^IY?!K1_1Eq1^|HjFYrxU6X)M-;1#x&(<1vlSC3%ER~)9TegF0nExN0v zgnx$=Dkw_8Iy{QX+-kb8zE(qWmT^qhkMCEU^%@?0Lhluw7!V7*hUJsiR#kRahuckf z$Nrpl$+&juzF>va-MhBdzqCThBz2TyLGp1ZEn2ijH|!e0kNQB2>jevKbX^%Y-OQenl#DB!R)QP)raJDCp5r zpcg)BV=@E|3>Pjj{{keH>{22fBCIx=rw~B`rYv%HAQJXXzq2qlJu z2k`gOBDI01YHEyH0Bv4g;SI$z;)q58N_57AjfhGFM=O%(mW>rt*ROegAo2rdw@LW# zCo!3n(w&22bC9r^2wtKvVJE`kedaIU@O+{lw>RI{!k=Fw;6LU)cCi z`O!!R=s+8~lxYwN)SfiQA!FeuG)mbba>Z~h5W4YZ4EwccrD)5ARFYF`5GBhQNS}I8 zI#hpv+al&4`MFY4*dzR}I~D7IlEmQ#V_u_5_o@buI8NJhafx;t+dco_Uvc|<8=KMi zB7Hm+!x?5`T_`wbTEYJL3Cio@atl=k9T8})R}YHv6`Z@EB9RA>wPN?MCR zteeK@5Ri|a0o8t_yxMy5DBVS==+}#*2nvw)*urf?&e@v4fxl%i25KVT_ZI3%8y$-g za;xPly;T|C@m;d`nY+J+d4_AAACaL~?y8s2QV9{EL9OlvX*+ zBZG{Hw{5QleBco69SL0Rs^kZE=D%qvl}VGzVF)PMtXJ;BaC?9kcASHWMf2YY-Z1E$F&Vry3C+i9U_0IJ1E6Y$@(%!c)D5Zh9)4So3xNTy8>L0_HYelNLe=P!yIr zC{vE&8uyIRHH_0r;!4$Qn+WK}t6~ttTu-KR^CL}0jN@kJ*-Kau_m^4Mi2&%U3;jV# zt3B})kE;)}o4a5a2k^rn1c@Xmhx6R*{7K0&r@zJaGX%~6?X+($@KFo%U|{bcXA za>0?)mS{P?&i;f=P)c0d_5^sBe5-m{&s&?&{eGwz;r`m(bdQ1iJJmGdCSgr{J0!8q zHRTRg@dIXnm2((k->@SBJPa09W>lO}di}fRn-07c0v>KiL4*M-s;<<|Xq*pM&=Ozl zb}>H}P(D%~J@h&)27q&ybc<}dC)}$pM2#EctFW!js36ktX2jZ`Lw2S zW5TE6B0$hEy&zDHjv-6vnbZthr+1qpT2{51*gT!C9kxf04C@TGLtrB>%wm@>IH)WJ zg(Fp&<9zAPPJh#@_1s}^gAjMaR3Z(JY*Q@#Jy0^m*e04Mw8mlu?vFO}Z@=}a86So||;fL+_1=3lnYn9f^1OEsbDYh=@@9$PYh z_HXoZA>4LYqAGW$Vi*`oD)w)$-bX}XUq^r}kS#hWMvY-ToJxv;LlYP(h}yZ)dpo`D z)B-#sNL90FFUC?#;pAL1|LEMOX{0{7?Mz?1u0ToCt_M^og09fQ0c)Ywl|g-i2~Ee) z!tsC&2{NFoXuQ0%`txIBhT*4uWV{hMk}@V0292>%SS;7*0?>axkp9S7M(*2B$&B0q zX0LViN>+}mM-cYyZY*7H-2Lu1QQSg&c`;MbQux3+@V!8;)q?rVM)6ofKX8npsE8tQ zg}izLFz*6rqNMKDg||BoGngmppp$NKw>zpvdD*nu6hKk8`nQgzDup8q!TAcb-|Hp; zWf2kn)CL!_3)^QWMx9vRe?D;{(3)B&0 z20luVPR&qt>ZEm4Z>R0X{YQH~i#cH4L(T^X!&-IIf`3!Dgoh@Y-!3&UVxtZ_pIt+S zXV(a(3ZU=0o(#?*RZb*YBY12foG|a0phfIp8_AE5-6f;_rVAp>%#Iz~uGl`>%zUTZ=ot6o^j{LQ!=oUY6J31}m) z*=Y_>dPT{vI*K=cVl}D4JhP&`F#v5@jkDYrWIeQD1?`ytk}_KCgtRW293H$)i*bW3 zfn{h(7p~-`at6c5Y~<8;iit#fz(U=nCKv)52acI{g|3zDDV>vx}njSOl=LykWBw7L(4S(9l})$qlO!?BD zz0K(=D}SEg;ElO&`$7i0#o(nqV*9X~8b6lSt>r)t>e@@R+vUSgwJL*>N_S2Ng|*A9 zT4blG;=})trcDhWcG&I0u6xANt>3Rrs}kXwyxm0z zraybjHn#iK=cY!pYOCve3(ire=LzOnF;065GOhL`Ij~onEHWsE3~e8pA|+u@)a7`3 zgJ1e|_3WPI8#gpcdF)6FkWRPc3ir=<@YQnT9bzM@U8v2W%h56uqck)y+XSEc>mVR@ zqYjtIb58=s^K*;apP!D7RLC!HVivO;4@#%0?Bjrm3>ny|y?C&T3|A(<2{rzf7a~2O z2=7|gM{w;ZZ`puP&K9DL$2?FmYx<+dHdCeewN%IVf)mz*P0oW#jb#~jEr&Uqc8{;_ zMuIskZaZ88DB9vru(yM0xB)^prXx0t?UOm#=b+-wJ#KK}Z|MInuj_9QfRP~p0OD`} z08synymqv(HM65Pa5VeR=vTV>n9C7!MT zE?Xc=Z4H)qd4Bi=ilZ)L>3OnRQTXo2Uua^|_V(&@RfJic&D(Nh%{YL_R#dA`VLdh- zUm-PrnQ1##iKO}r6PO8HnuIAyUO{KLOL6FZLnUyMvV(gBov#f2jkpjsyjl%!Ad2?D&`@w!C?p}AlSWq=H!tc9p}!Ylbf{y? zEV*$G{h0!0pJ-geW5bk~eENI)%v0O6;wU~-q8i~Z;63!rfsQSQd$DR^lj=@$G|ucw`)^-fZRG3)McXHaS_@wU>3SA{-hFUXp>6Tv$xh*h~V21=&W zhNU4>ETiL;79H6DVeEKoOM&r7{52tJMCHiQl5tIbn-0CLedfw5ESRYT$uZ#ZM;Yzr zcbets`)bMkfNM!ziO!M?1E5uekmZiNEp2mJRu7=|-uF@82N`@*9US|*kczxe#ykPu z0&AZIW)pvudv@*lGDm__0Ea@4Am=R==qU>c9x&O`xWxI@juD9 zw%Q_E&TUCDBFF@%PG?AA64;u5w8Lv=&?CZ-5u_u71zJ0v2RMnWp08oPg966>1_Te; z)+P?|0=XKIG_2mUO6y1_P$PcZF)Z3g88CfLu*;}NVvP~hUT zYbO`_v<^_FhQ{z2J?iaD0BVKUg%C-f@qVSIoc^Yy;7*aW4Mri@}8{`Z>0&Un6t2kptB z^~!D^_G@1pBQCcu3m^slg=(da51b@O(w-#vu*`Ku{SgI{47`kTzl3QFk8Rbi zd`}mf2H}Oyt9jabfbE!~BgL!D1vCl-G{O26K!z<{jL~ul2kuC>`+7CRqRWbfbVEC5_C@n{C10LO}tVy@0&|(eWMNMG32Up7w5%jz&sk2*g*{$%rY=e zIp#~QoY>%NkJHR6tjeAPVl3%V&&OkF?u@;0?=8*=#-Sl4-kUju+v;j)Zj{`3%Hgj? zEb;tC0jD;t)@Iaf^g)h8r5|`v$vazwVd7%l>tM^eIvIc2Rol@ubAC3VN#jdbFS?^(467dd~93qT8 zp_=CL^^=UQA^RW)?FTNQC&U%t??y>>KfX7 zUwf8%O|9|c2{(lu=Xy9bR%KWP%hSaQ_*4a_MrfXU= z(rDwz{PpzXXVuz$q&KcE8#kt9i}6v21Cfmy>a&<_?ss1Bq=xzZNj9bznIN>eHx%@*0MVPK;w_zN+T+9V&GN&j!Is|6kkN>-kow?3dvOci zEHbJBL}Wf_Ba*-kzL0i|DD#=PoH7O;DLP?cyVsa)l$I!J<4O`^;V~|PI7wopE9!%F()6b)cQQF5 zC_@oA5<`O4c0xN{tI*Rtu{>E~b3^rD`D6D1nJgq-ER1}5ar?xcPW6SjJ|ecx7EyAjMxDV9kBG>eyL z9+)nijN*+K_tZ-h6L`uItE*cEWYA^cqhpI_WNLzj1&slOUJ~=em-e}C;KXG{!@`aZ8WuUo`}3fcg_rHk%&+lZmku+(x~cC3 z&^Xxd5?!W?xBr(KHpopgGTRGe|tt7g>i5UQr{Jm2!iJ(A){-%_2qv>>@ zN=%(~YQ%lJfW2Q(~Q#9aZW0Df!0EStilqW*xa*mNRPRmnIaA;~P zixI`vqm+7PM}M|I+mbeD4_UAnuqIojEL4xxPz0CNSuR^AjsPNA+0RbXw2=AGv!b_y zcPaqd+3#MW`!sxlFI_DqNm%-UK_6ITJHQk|9WWz15VWnQ-G8*6?ht3Okl8iY7p|`j z(^ zQ0}hijec0$2AdEU!@3Nv=`M;rNTL{=BF?&t0HZ2DX4)Cc!w6jrn6#AT|2upFEF?WZKb(xZHTH`m7um8>X=l&X5!%2LorwxDxK z?Zr6{BBsjn$KHNF4du^`RFy=Pr31_AOhebIeS6tpjb1^PIR~eu;A=(M*MsjyPlYRc ziPxX;5CNNn0hPY2f({LoRDtp?tqb6viDNyo3KdtF1X3m%s?kla2ZbXfC%*a%?1tGO za8TD?dPS43{-I^A3*GedP%hd+3p?2b-JD|^jrEF##+!_z{003qC$J)!3Cb>8KL>~D zO`K@l$v5x0iO zYg(#yJ_!*w4UrdD)UBo8kIH=2$^vLRbjIXiQ+X@NW!&w;=pVIzzz6rSQotKpO83XQ zxe5=K|C9QX4$&H#3Jd_?0QLWTcU(+OO&tHzGp;ISw;_tqeW3>9j7Zv1QONI9dPU&6 zfJTc@DDElcs2(q50qdBurL#_m^Zhd2O>vI;=t5z@|7dUeoN<$Z>DZ+?r4L#|rEstT zz6cM5zlZkMd>yNA-wfJKML}?Y(m@H_O#Wgza=r4v=!9orrfQy53j}4m5iZs42a564hZ?4p zPfb2(-ta824KTahd$H4o5`LvTfppF92>#P2PsD1h*kguUgm$Gfpyb!eiGYjL3?>*w z^%mD+rS8tX@$ z551RE3%_~TLLlyY5C^EwbCO$QXtR&RK6V^*7b!+|KnT9O4UQ)1T*u%x>f=Hj;o@Bm zi+1!Gp>1G=Z&*r!Bc{Su*~!exekFds6)tX?IHBdJC<}Q@P)qGdDCERw1^mI1qor&+ zq?W5m)`Hxi5rx1g>=cG94o{e$CYnY{XCY$Q1yBz;V&N`vNoxkY+T>St=m>rDZ3VPf zzxlf4lf=z82F_pVrdjJ|Kzdwv$;fBHH^s?BK?DIu_m>y(9o^e5yH)u*bu_Dnx-0oH zH|_pdHpW)$SS{6SjuG*`Owu+rVZ)H22igaGwb5{wn@%Z`p6b2lmEEoa0^w-Xm3rz% zUZZ>u=QZDuGq7^}y7eSpd%^Wqv>eui3r8$<5#-k#hYVEJVMJFl&ep=ifxzJHJvQmt zqbjv$!s<5p?xQ0CEACspmE%e%DvB0WVXi~o*QSL`*rLxkN>D#cmOi2K?eYsFbsf>l z&VE20(@EakaY}+Ft9j23GBacvtHLVSzUtM`78$8c+qNZ-uH(l7anA?X50$4 zNKm7V_w6AcXjY$8uA{qJ7>D1(d&fi9-D26I?HMa+ z+tz|s4kn38@YPy|{G(M)Fk)DbxDkgSj+bzSta ztJVhXXe0ZpAnpxWH=v>6-P9vIt!TPK`37}iYNT3IP<`j;`T9{mMZ_vX`>RDaC)Qwo z%A%hh8u~7*1@!3OGixZrM7?4z<~d9VxDN#fu<{(#{n?C7tqGfMAq3HPIkW7l=I-^3 zF*vK{py*+_-p~}_$%-9-$s^f9*9e#4Ku(J_3qX~C43y`=&;NQ_c}tUhNWbSz0lWxD zX404~Lo8i@DJI|s65~M`F@qh(jvosC(Y`HGQv!$bm5M+W{Wm^}SDLFZ6&q!5Cm9ya87XePa{pDoJBEy< zX6b0~o*}-lAKY6J>iiGKkBRv{>e4Xw&Qj}s0cc91PLKPBkMBBbHr;BYU=Pb?A{!6w zH4sVukcF6In|XU7l9dR_Xgf5|X?jx&5jj2>j`LTjpY?1W<~!VAD#*}t^pdffin@3@ z;}WTjkt^|W>In&#&8I?WTpfc(c%sPmS}4Le1!CT$Btby2u`wj5%ZELOe)a z)~0!0_G~+!Hc8|#T>^}OY4}*&a=jfZQt7aEa=aUy4eNq??i1<3YzV0qG&PlbE36|o zoCmHXi3O=--uxL76b-12&PdlcqxEwAoCn4|;gd(BZtnoh=|9p*y~zQLI{*kQszAI+ z^s$(nZr@ysyPSO;u!fN}|M7e2^n>$rsA()24$0`DHA8OylrH)mpwIDFaJF6&Q3e>R ztQ;qOgV->udIPV5AM%siC4OuLcv2tKJGy?oWEyEwlT2e?w3j!<&UPG}Ey>?XZ!D>A zHq;&$)7B`Do;r(;N9TU&gX--c*}@iBG6s)M3M2%b{PJB=tcU%diEpZ*x`d?CGgcqP z4`Vm{WBp0eF}&fD{1Cd2joz<9qW+B4Dd{iF%oKU3qj)i(AfxY+Dx{X)My>oABwynV zVNJr_Cj($wgYZ;e#j5R{PA@m7myZqjmYyx1E&UadyQys=0eIH$mslLP6TcX(9&5kt zUJYe&tq4F(V`uw&Ms$A{d|IpP>5|z)wlrPO zUdOp&z0}$uQiXJ}$ZH~xy6#HN)A_SzVuOfG%@#oB%8Iz%ROdC6BQcbv#}ttuEUZfi!??DKQoxgvF9uNt zH4g(%ER*x#)AWs8Jwv`~+1~DE{Y*6A`1feoqKQ6L3NuZCn$)-py(z}v$ zRVEmhKz#OrUm5@h^MNO)nH@+pw@2Jfvp(!nWWrrE?;GNoC&!eX`vECjhY*33Q#;sn!c#7;aU`y6JiwwN1oEu3d^>vxF7mYYdATEk14 z>;eXW4TOfGeeTAsdN$V~MZH!vF9s2J9kAG>N<|MtECVky_HopOQFt9{k&_cyQ0evE zfV>(iLD^VllsIPU$}OXD$O!cP4gojIsc3 zY5J_WJ)`pINB0_vjDm&$4{JsnCHhWf&44W&*(-5^kD(mF}DR+>J|+Wpb1J#Cz(J#DmAD0Vqf)^t-X)b9~Jc;xfQbL7-R;1v0;a*^aDei3F= z`UL;)X%)2jW}&BF$Khf&007MY^&*CEvw(@mCFMs2FL_@xDUVsea6ePva>axj!r3m2@W1=z+~ye6 zeq9@WV5~0X-3$6GW0T@Vh-8_Q8F5UG?fsn%L%-L)6NHP6{heFK=h4t{<4D+qeOr$< z@>uigxVydMx3;$K&k@5efz|$gPtp5%ywI!2>`R=~v?GCK8%RQR3DCTDQP0i_IAsvS zJ*^Mq?$y^PQspxdsPx3uPQ>e+PyS3R z2{dCY{9<3eyT*9(165LmHJv~ZQQ)2+LzWu(bOle15&gECClG!*f1M;=-XYfoyWuWb zd;9?u%}7aBrs!*(qSl>z_zK!$qnC|=_v?YrVqM9x<{y}KpVzH4h7zUM>55d2Vop{7 z8s-fu?(g<55Ug00i44YaoX81UnHm&Z_>xp_5lE@)A?8rB-7&*jq!sWKx6F*x2Wl|0 z1mI;&cxb~3DZf1i@jT<0dq~rITyVy^0R2QdH>^A^{TnblOQ{P2DYN{XHin>9=8Y)) z07E9%`-_&w8ORWclXVDLqmT$<7AglNzJ~IhG$mdL{L9vN_R|F_{7$v>J*2I0mV(Emu* z^{jk^8W4k>B7#+5ExwEomEKJc2dB%o?dS9A{S3)^m1moa`w~t(1q=trP8SRw_%4{Y z#0Q;Rof?vjm6F^6?P;dxXX>*fc|dN@rj>Dw=>9A7e6>HU?pVMU*yql{1T+ccdF!J* zMYeA-kV3+QS=G~UV|XtPosOQrobAQNevx#^wzTf!Wk$ymPu~>pp3{|ImMd%= z%-0&E%I|8Ey(etJAFpjAWJ9eC5l?^hcWKzw{(%x~ECFp%gd2OG@f6fhsKM1kkJ=2ZdKqxPr1q{nDcbS3sI`#Ao-c2v7KsI*pa z0xb7HgDvSIrK^HKXB1t-NuDu5&J}ht#-cd{IT5I4yPT3zt2w-)$U5E`iw-i$2)m-x zVaxihH>}cE@Y)PF*UK8aFvpT&H*0Gpt|4xO1Y2zIDg$DvgABVtwb`n2eq}~b1uny? z^-z4U9EMa-$^xkm)?=8_4}!aATU0X_J`wYi?k*~xz4a^U*_QT+<$!e1vGW1))p=+7 z*uYK^nv-FAZV9nSU%xmxg`M>ZG&wq8CGQOynblzX2{4;F)!AxMC_{F4EIFIk1Mk14 zb4=8Z2vCVz3?d?6ZO+#V>)3~vw(C}3tQP1!n#~20>;}_hCyX%Os{j?#*3KO|&DFl7 zk}dd!;Qu(xI@}>}NMo1e(gGha(pGZ?CoGFWX$n>NAq2?r%FjO7g#TJ{l7D0{rwj$8$rdmJ1X-RNBP>c3hKrZ9^pgJ_mzWo@&18s5pIVrZ3#~>U?E=<2 z8rp`KWFLouB_(ep$J<@!V&)*ovm19HCt9{kTE@+ zf}ZdltsCEvjQ$rOr{Nh7gvVB6)lyZsL|>{ajswXZ7X&nE=JFrF>yPkLg78{?mB}1r z-}z|}F4baghkOwrGp62WvUp=*@7972sz_rF$QFQjfDF!L2Y`+NX{YZ4BJt9Om_#*V z%_K>iz1OjU*L|WsV&7OY9wL2xI|3Za$R#S2X1TXqR12s;?3P=W4AQbon;n*0@Q)53 z3tjL2^Ne`1Y0Xt{Z93M>vw#wlT20Ux$;CN$NBS#-Xn-+8;S1aFxrd}3O51i>ZB)(Z z=l-ynae-=<6lJ*Y-QB3yEVsxdoY*J@st1^O4N{I=Xgb)wj0mIiy@{(>L)pLa=bxI@ zZ^p2mV=3m#tKJCD8B+}~#i)JgUh+E6O-lCJ_^yKo#St&XmY;+Ip@7-e<7}a$tb;Na zjAqDzJjgYI*ufsDT>VcOJTpkt#%Wg#DG11CJaUhuh~WCU6@c)JzwIdX&tO z*(*A*dJJS%sQq=4(Get^Q6nC_0RGuP2*P%9of77K=~~DrL4Wl*68EHooF*D@!?qw_ zPYAcmQZL(``o_ncGc@tL!dm&tNRNP{U%D9fl8&l}&3Ow^?7X%SzCk@#*CJCbaOtF@dEPFx~w6Hwh1RT@65>uwKo{m{GOpa zs)I(i*&?(#R&;ODY~6>9gOvAkc_>R>xAlb|i2#J#~()JKIa#2J?AeNQp0Y31ZI-LUn zH^RMYID17~iq8fgjx*cGol|po`Jw85ot#jLcVtkfg01M<_ro=ksxkFuykEI6ULxIEz6%_-q_iUI*D>r>BO0PDZvWPuNt zs6&`oRRF4Va4KP!>9TQlb7bC~#>?ySMc4PI#`@05 z4c9YXg2g-ycwAaE=&>hnp&=>*2U71Il^4;3Q|FGG2xRUPQlwljFWDnr z`WO@mOjw#n8n5^jGM7TJ*!sjNu^!UW0t-$WMj!e=rAY>5Mxtv?yRSr|4L2BP3+G%l9aFWss{)0=o2f(lT9hv2EY!BhAG_!~DOCq~2oN_y8jQHG zTR|$&HY6?!49`TMbVnbzDov5R>}5g&#POo|u;YxZK97HKBWI;^j0)j$WDczYat#gx zzGIKA$()TCYb7L$xJsDNes$Nba&oY0%e)Qz+ih^1{9$b6)Hz9Cq8_9>#2MvX-9?c! zj&alqigEg)?jMj(K^F@ZfCROgnhQ|niMGW7uajWZO?aHxvGOpNWb39pb!Evxb2Y5> zvw>nQeVHWf5<0(@2+D|H1uKy-eyPvF?TTbN);PU+FTDID22g_`0+3Hsu(^-Ttr)w(ag)3Vv@N!+zD6mKXyNqPSA( z&GxpxY`q*^W!~XP7x?cWzsS_#`bVhE)MR>-j@v^5fF1#IMOhws#{)0M*SY+D=F{c&avjdD%UMy3sPHnlDOzoSU*4QhWgpHEWgqD@@TFdTQneiL-Fx{g zuB(5MK8;??2Lq#@o*opktE^e|u#=&$OzF>}pHctJd}#Ku%IwkHiX4t*troG%d>qCT z#b(>cvYXQFVL7f|btDOCQM4<*Sm45c$XXHgy4yWzrh}}Un^w6oA?I_TkN#HKgigBY;9CWMU*WO}dH!Mg1#-`AJI_H< zx5ei`QT9$dP3%I$(edbYa&vW@B>Tja)2>+!WeH8V8^m4)Vs?~qJxEXuU1<65{B!Dr zQBFIT5-kPFY1$+aY|L$Qaj`GrN9i62_}eNfHP>QUFd0dmcp+lHt(K0-$kAX}wM&0X z5+-7%f4$pzx;jQ3)Z^);pCh5udEW@VVhItjyXRdr$hECjs#?{$y~s8QTlB^drwom7 zJc@OlL0bXxzCd(O_v*{rUng+B!;mlkp=YZOlHmZs@w%hw>t21BCGL4uv=c9i+rxr3 z-B<~1ZcQZY>$y@DEP`fbkyRoj%MA7nLCSd>pUYmJagBZPUg6w5uJChn^fcvHy=|ud zBUL%ap2>0w=B^_Stp#ySVJm}Kbdv0L$+YgzeLQNrpr%MVD`aUwESB;>ps>QV<=#&! zhqu&Ao`>@wuOAFk#EJ2usH3s z)hiK}=?|$6h$N+D{z)eJMH=p9TsoWt+p|iV8c#QKf0|3aj;3MaH3!@qlPwjUo%M!7 z1pwrCDczy8PrUY7aGdoTuB}av)y7Kz%eRGi&n#aBSDUE}jRVE=ZSfaL8=o-Hd4Otx zm;(fFUx*XH60jaX6(r#oLt4eMewoP$P!=;y&EoW@XaI`j$W?%ICRK$3+SaNyqfY1O^K|-VVk=e9JQd`x^B)*2wrdKuiN` z!G)lySIGR^9eq|yT+7{Ln)uB&4p12M;%Tz-m+!P+nKeFA9)r&i@5-62F?k1*EnG(D z6RpczR6{9O9j#~@3jyDVCcN|1m*h97wfc~HzVpwJu22DmL)E|3o)LH)8V|-d?mfdp zm@J2+5EbhDzDxX2dEC*8K3`o%mEq4Jg&tb6cKxW*O`_zuzX70e8`&}9MR>wSdY0us zf=o?Aq$92)i6Rz^znSM|)SuHpnjVQ<;XW8efL5&qvTn3(7rG z6YwMFj=13nyT}?sUE(xB8g7bNM_@A_eU^2`ZG%IgQN5V8W$^%QR|%{^vvZ`34g=#8 zd+G?ap|T7&?d8I0G+=0>FKcokzdS<}zW8#dNi>D`0}YQmSP%6i#(e@RTJro|bIO)v zFt|#v1GKfro&K;nqMBMsg&r@-)Thz3Fb6=Nw@2tg|I5Q%`9iQ;PWUmzg?Vx*Y%!rE z%_Om5P5b7S&M;w!v2jI9=)CimO{FQ9UH^Hb>yl<>n-gFao($T7z5t^L5zdhHV$*+z z=67VcNQ+lz{R&Hy$3;{)sVhF$yZ8jXIMHUL02HRn(qYKBjmX6=q-c2}p+t~BuCkSG zRJBDBC}lui=ltY2bpRPzu`ci#<1F{YJup`Yq5_fGJ>ahPPUaPL^@b`E>qZgZ3t*6% z-XQ|xK@9;SL&L^KBueaJNU0vN*zHvDEszPiS;dK%mX^8z{Pe8)H%Yf%fL9X_HyR;U zX#EHYuq2WKA_#5Yy#&b4UCMbc{tgHe#?#pC+|f$nhpuyK69n3lY}$6EZQHhO z+qP}nw(ZPH+qP{RUAO0{XL^3cIbTHVwMs*%5@5GJw#m`E%PLMWhBMP5Z1aLYjhlVB zugqdk)OWx9jBtPt=?HmV!xa$Y6oh_;`Z-2({anfqsX##znPQ4X-Ofg&-u~$)$8_yS zW)RXY7qceq?-le zli7&2tK;98xP@?tqO8vy?gxGj@6%sSws7A(l~crA@Z0!upF zLy@5ROHr(BWL{78Cy!yJN$pYN{MBJ_L2VrwTZWj1wFP!_`MBn|z5MgwqjTHogP7@2 z`5*cjL}tY~9SZne4QYsnJ|Sc`wxwa!+kdMTZ(?J^7Js zn@;!t7JtEfW}h<0H%-^cb6pxk4+!q7(IY-CwuF_99-<(5D8)8|MvZGtpF4+?B_6SJ zybIA0CSM%{`XFOg*gfo1TqOj0yk*~1IauQCCd9ElokX4KN-J=~I*6+-0z~cke$sq` zFD%WQ($-Id7TL(xd4}n6{>b~Z!9+pjzixs~J@3+K5WoTaa{bR(xcZLhW8mLrKZ5*! zed=BRb)^4U?O$tZ*=@3-{9EnoGv?Q8scHN>#I=zx77ByI*|?^FFdZqhZfzuwSI(|} z^xNg=7B8l4T_hEPmWD`FCxrj|m_tR8$L-5a7&kr{eJZWZd zFuSU4MLJGcCdnZ36ltj_=`gJ%x*}aCTqz%k7ThmCV2>m#7hx<_YhT+T=J+MwH(E`J zmKh~TLVs_}EU7U9{Q`xK0o@@@OqY64B*~hXN|Hp$z(1p?8CXAV&CJ=*_p9z;;^4tQ zL39x$w3rM5S-z5Q4V@HVXu`+{kD9k?KMus+VOXpP6Wl+MACS5%7$pA|z-8t8n2Zkj zuEekxQPAzt&+7CLv27bHji|yCC9jCT+pjr`1JPYu!Tj&yr7S1GD8C;NO_ZT(2I^@l zpeG&-VA_^nrkkdgw=pC)kkrGLKF!2eO9)5aYw#Irw0*t&OdI(55y6(7P2k>$Yh#c5 zPXTKJR}K*Qp}E9mtDY-2L7o`-`%&=S6h7DnAl%uZKLh~DJb_lNB7@I|-?t{hkZVxeJj|73u zQe)ddEj)ZMD-`P$B3_gQQJ_>dHRh=(B!LAS3NY%jSaK{s?WH9TjfKWGwsaM$DrB9AS4IdU#m{e&Ycvx(F|_@Y}hf>q^%HS-1sKkT>2odEK(Dj37Suu262wopChEzMT6B`QdE{{Uh#YuCQrQLX?HGAfy zzM|B&V|j^c+gsP@qB2zCkb!+lyDm>vr^**DF$i!}sZ&WZWP<@sS@SR55%)m*805><%ELh^^$)-g!+oZQwW@y2 zo;gp-pn!zpn3joYP|L31qDAeWB&ZCPSX>_guMUNzOsikNy9=Q}`nhdVSJv%1*BZlH zz=thM-z;FaT`Z6r!~ieGW{O))HiszQX;PQ)yz^^c_IjwaY5)dCL5TUXVR%IWTVK2y}7D^XV2ayzwQMA zoyqCspZv&5aZ{$s3o|>l55lebu%jzY_pH`u?)#Y^f81IYYy!Aa7v4Ku^gK7KIM$4# z&XP@Z#_z&0kV=M=mo!0?<#Nj=+RJisPVYweO62Jts6=-_w6y$zJ2kM(!`Dn%Dl1+r zZcM?cG^@$5Ld{0qJp>@yp4*f~%a=z~4j}O8Y#)wf8 zEB{m+)7vAmg%<1$ug5~0XYm{8UvA;o>zwto+Dp@P{A^hEpvmM#*U+xEohPf01+JxZ zF0@_F7K#Us;HH-GjhxB+#;6oNAIC@6;~7p+*rVe1VV?4y?_K8K7z?mg4<8jHO(I({ zFF8#TF|Ve|iqIGHNtB`cdylUV2OR;Eo&mJhghjYBxY(k4TA71FP?~90G<{s7acn$b zgxR6{!V5A+pSFx8uxfYWgsj;*GF0`s1tcqSzl7Q zJlKdE@~cjsqSqM>_m)OmH?_H<58DV>I2FTB&XaE(E1Kq4iPsxf=CAXpMw#7&fu7^6 zFe&`~jsXG*pwCj=U zRlpC^_FLF>mU}ItlSw=anzQ9dG^x_BF2J%lpOkZW4U);bV|JQROl3&lM)%Qd% zB^@P1o1$0t*?=&le=Bjxs-n&9`KKrMZ6beQt+t<=lI;TKh|jYsu7;nR@Hg=p$JaPh_T%4;qM643whuFRcD6UNw)j8$u~St z0||CDrDwar{#AT(wu5Kk#K+Zs7FPO_Mtl21OfrFygU2^8sL$aa!73XSuz?@QgLj@6)@*4T+El@nRK@9R{WIL!W zAvfCYPVY9GK3P442jw6$U)83d0Vo8cFN9Nji^$}|#o0Q4-`{WU$)jS)2W$LXAhb`9 zAKC=q`^GUkTJQta(p|;+Dm%LRw1J=2Z(u^q?ugF9>V;?b1kiZUzzmRp$7nnn z#-gAynUuhQ5&5OQG>^U@vLf{wr0=2K5K=QDapx=NkOKupD~9U8#YV&Ed;=;#+6KA$ zYbkg5JYPU2eW`pWrT2@_>wG=B-Jat7uKBjPI7cpW{I=g;x^92HU&Fj!?ZnEG)MaN) z$2Z;1xhK*6P)u69{d^tX4Q}Uu4ui<}czC`pXJ>PN9}bRpV`JrXzdv4oKSucgpH|{c z_KY}UQYoyFC40OBs?{S!lvC#^#_B0Y`Dh|PhWgth|J}qF3iirhj~aGPg~xb7fk1-2 z=^v(ty|G9FLN$Mzr_+QNQ9|*v>MX-xkVh<2o4$jW07CTjRjQ{pj``;oSZ4IAOOP5> zVLEWkMzt4tW|mp_`Vt%AgAEZu4DzJZA3R_@!6=(fGM7|V=`>l_C$?*P%K0wApw5^$kUk5-ZyjGpC1~~Cq2w8r zF)BlEol;UN24aRlz@MXJNF1Ink{JjI#GZqGZn=YNfq$ER;%ibb7$fZmhoN(wo}O~~ ze|m%e(;XEc-v$nlOKQZVEjyp;_AyZzw@@=;+PGa-lCJYO=mH39gqM#Q$i;|4SfL7L zx(5WxdOs=aMP$6w$eJ!F@)82(Mm0hr^1%t`yVI7um4DtwNavQN83H{ijH@$qDv=rP z8gf)T4A{q7nmI`GARA*2e1Tp&k1auUBG}g;X}nZw0AcAq!qbHRtTlo706ttvD*JB) z>)WLPWei#JR$C}E%!-*EiVwtGc)Vaeub?fH<8yog&3Q(4KAlc*YjA)6Sp<&-uzZ=# ztz>2MImn8c#cNhbHueQ+w{^ncCUwUWGeA^f;sa7|>Nx)kVopW&*Z1Ww^=X+o>E6}p zd`Ng-@k|-eyO>duvHlTo*hmQ;*;%Vwt3act?450R+B)i-f__RDM9Nt-e-PvZ5rQrv zVLP?{VPy9Nna70~Geum*`iZ=WdzRpGB4ECqJ|T{xKNTA}IL00nv$|1{f*D{xjl&YE z2L#D}zzN*Ca&VHX4?pwikwSRl)YqJY8C z!#ty%gW2m%}^Zg*d(8oi8VT*-LQdDK4J`rW@?-g;x-qq4^35U38TsH-Is?bB{*XV0&s z5oL+;)J1IR>!WHXCd;z1N4lelxVB$&*x%AC9E*z6^#A}+>sMFov)@jSNhV~;7Sv%O zeb(jMteg+_e9~D@zm%C69t(Vfg?4t+lQgXW$G}X<}|?ZZTH;vQv8vU;|fe#2~3WpA!RXGuS>ZAloVPkB3SQdj&%u-w6 z1lbHqH3Mu=!2{m{4fRT8z$SsXk2!(1<1)aD!nqbqg7J21VXc#Y&rJm)?m`1ZZ5yRK z01)odZyXJ5v~Pq737Da<2)IZBdgWP6Pe#5_a{GurLE<|x<#-i~nEU}ZpcBzVa5i0~ zRQ~zf0)ygZMNmtid}g%)>|T*EXMrFzWQdCsO$srm{Buuefc3}r1H4Teq`-uTg@=3U zamW@pwO9Xom@#6rdPf5uxfJFpE!e3om&0&*Lorj973>wq?m6~WQ!A|bHUM@&4Gr3E zfy(Vp&gbq%SG>iKo6U1)$c`_T;WolmP-pXBLHa++{?Hc!Tp=@h^68PlE~aNno%-oX z!T=2iOythN*jeSfwfgh*HRUz2Qxj{^-Mp?|@_93u9>7jm5VHkh1i$i{dMcsCQ8Zce zV?zzY_FF1aBnRa)P+KvLwKb+9zPbI_B(UvXMe>e=k(#OX@?~k*c9t~iXTtW`*Dw?> z!L^F!Q9g@XPCwW084 z)nA0c3a%{VK*5*oyvGkNjj9t;rZb5yH4aWo4D%r)$zzV(qM1L4zcHFA{4r;ydFFmW znC1*y$thV|Y@5y5&q2?m3HWsflFsbPHDyK4!08&H5<;3h>fm3#D2-e^)-nL$-e50MBs0;pfR<86+(8VTwf=< zsNX7JLMNk+fDNSoXewk#hZ`j(IkS2~zx8q(I4JgemRkEG4 zV89!nVeG^uO-(sEk~Dypn_8~=xktg5p@>$G zd`D`2wYU~aNzTKkqXaY_lrY+A1U2$fWg~!2p>EfzI!{-&pam zMw=-Z4X!6PE^900UIDupQBqMbQuc$D<|whCiG}GCNt$F0uAnpRg-kx(LlicXspb%@ zN3&X97tuns#kf6%aUm+d#NKFms|cm_RV{pKxd+B^4)hioH%tb`i(>4zRy!Nh7?4BC z7$JFDx?hBlKDUNLduJ{vzB^4vz8p|ylQ%Ux3h0U14asB(yR)DD!a9h_+TZr#lRm^F z<=gt}#)g|ZY^)xLk~}B@b&^dTcFc%nIQ#hcSRkuYbO}DVvW^7%sPb|B&Gou@(-jf} z1+tVzlPh`*b9d&!x}gKQc`QFRg1`Be9Bm7LgZzEN4O}rg1F@1nZI;+s)9dWYE&0J@fIa=V~5N8kmLZ z>lS9I39#K*Pw88;@D#f@(b_!mrtiJcoi6HmsjjngsSb)S>VxBM<`E+*P7QZ3(Nd+e z8+GkzQH+i~bs4S>pc|P##i^$uzi{ zWA~GAy3ng@s7&gwa9cAs8W*oGjoWe5b4*VDyUFByC#qsoQN>#Pz;+#ht?;_#5y#G# z$x2G#eKfy2x_=dG7YNK_W>mdM8Nh}0v&WNcWcYTPaUq@Kc~zxee;D%P1?MG5immGb z(ogM#?<$AZV;u%v5if$l2BZI^c7 zTcqUu;y(#f@LAX;?U}G94q9f4r1fk7=~ba=R3m~v%+O(w88{g@@Pq|Ll1F0T+;RVe zJhy_;oO+$?REeHXLTafTxWtCtaR8WQdVssX>ZcIztuK9X7@**xqpO7q2fUe?V4{=s zVH=pL0I+BR-GK8DJg%^z>exB^+k`g1_gK-T8Ou+Q!IS*lIBSgjYZEOMZ}aK)8P-LP zJZpK&pAlshtvW-uxq;w&d!aFB$Dp{*sMreubmS@RRZw{BdLG|f|D$SsGi%E;2F3~5 zV^jC9K7qq6{MA({#U%LGukac%Li;W-Z*PXe!6+(FA-M^ph{%tcM0sr4akNTDmO!#- z<8lZ{q>2^N_-jR%X3dNBJTiVJew>uf9JCY}MJ?I|?ntSo1Z>AZkAoT{mo8zcDaTa0 zMU4GnMwuO>SVqAk+E8hZf4dB$M*_NSVTu&T{Q^ufRQi*5X+;R}?Q%8L=X=)o!Go@- zC|@4*L7Yj-JTY+ujCuVv#+~Ih{1)@0f|?*S4Apr^MD&&L$f`MUpmP9MMRHrK`|K%n z3qg;11(B?AK?OPB=x6o|rT_VGY`}XH%#gC(N1M zgF5Zmry<>_?F77+XpLU`oBGXGVL%jTRjG+~m`aZSQkx8}E#*nMl@xOqtZYgOkptK=-NsCPZInuQK;{fJOrGE=S5 zVSPp1^1@W%&4?F5gYVv`TaU8As(8~4kq(w{^K>2-jbJ^epj}x=AWVvG#2`IveH-OL z&>R{MI#|uQG)=#cj#PZ-sx#L@om!F<7aQDdF!n92nAu_*gz2j4cqb5qrNWc4Iw14P z{g7wY;OcIEm8wXkW(LnuRM|P__t3=E+h=Yxxi+>w_ZJ?Ji@K96%pLnBT1Uq+E3vUc zbuI2!Hs5^2ymK#X>ioK?RtvjTzqSvbc%?nZG2*w&loN;PF)vO$mW93Qm1qI7n=CT( z9M_dm2Fn*w2JZC%biH$>Iv}QhQkT=prZX=%J{ISv8QvnDpFT*8V%mZeav_q_sy606 z`{FO%qMe(9G(g))2& znZep2r)g83f2ic*qAnyBaLX*8|KL0CVV6TD>)G|JMpG zi{Du@liy9AztlmJvXY0KJC7vy+m*yiM?n*6x21Vjshe+SbS&yG#FAXYo3(45Jwa(R^-?*T>>(Hyr@q z^Kuay*p4?A`s>K_Yf9G%oPEnl3~sgMMPIobUcK&pcirI!l+o}eYc=mnMrIXwVWBE$phMrncHu zwYiwZW*44yaQj%8EJthXq%bCR@2x@JQ28iBG2B@}7pXm9w@!Ph9np$bIi0C$tU_z* zvdrp2!FYf7{#bUPmr+#DYU0DIV^Wzit=v1UdZ}1R@oZ?VS2f?$1cbLJ96O6axBWE3-1T}6&NH*5!ctUl zd)PM1)7TxaQgtE2lr*~2>}MaxH(Fjl5t%xN_Xz(;kHNr89_``bkujm60dT(1sUfXL z1TG`?nx6FY$@eRTzby&yCe%VsDS`cr@Bvl&uX@LolP;SYj(oFjwZO~|+<%WET+~}6 zMDI%*tLz&vVVK+~tVK{H`fZ@V%!p10v(*qgbWTB4F$9dZyUcJIT{4PUpy1CnWdf-d z#pBQJJ1Pf$Hn+A<-)VP9U@5FdKd1%u9OB<6h_`iMmPK#;2K5~)WrDmauhn-^ z^VRcpEZ+V5$f4qv+c9gEE~$z7e2v9+q@^r1j>xn)FN{qve{ZLNO7l|^ za!mJ(`5QO^GVLC+NWAx)nQG`L)EBlY>o=Oq7zTK%QBiDr!;HthtK1wruHIclOLJzH z-lBMiu%njM7;O6nrf!|mbB}5!`iLO>WHcT{n5c5!T0XKwqTS$}nqm?tBs~;`%b+LA z4EOeDIYq0gv+}4KCns`V+An7aE43wYDY|zEizm$vQaQ@+P^OovvbtkH^z@5n=PInU z0?V4@9J*yamZbx8-8M7w%;R$e4OiAKFqRxmWm_Bt4Vr}Hb5Xa(WMjpQhSAa5fVn%N zXmc_FG}=)*NiD!;@d=3EnB`a3gzDBsQ@M|DS-Mo1zIDZO4@*c~aS~Tj{Zsx5tV8RS8M!t3(9@cD%r_4a}M*L>aCC%Sw>^H{c%<-%C`0eIm6t+2q zEA1G&x^^s+wCjUBVy%tzp9c7lTnjUy7s&oRF0LU)0jG2GaQXuKJHV4yEx#%+{?DxB zBiHyb_hvH9u*h$+3{R{Jtx1b{T5Z$M_Bo7Gf9;0~PuV!f)`*u!80^8m_29KnY=d*g z*|`ieXI^gD+$aZ`8Z?5vuUce5VH`Mu;<%Vf7DljbPW15S>%owQ*JiLoiwt$LvfRN- z|5g-4MezM62=`~h#gSgHOU}k2i{b&!`yN(4dT>@s?1JJ7#pb1>r<}mgukq{b_=Bq6 zsQT|`Np=rnnw0)!{2{}%5^#X)XPvaLT|hw7WoNQR3+T$OcrlyE;R+tBJ-n7>=-)xQ zTlP}DEt6H{e<7*PM0(4~_~yD1b!2L`5?u1l!g|#tP&+Q79twh3hBzGwdb5D0j+of^qq#d%a8Bf}nM%h^_0x%_md;dW%E?nAqViwTIkZkmZtMGqRh3eiX3(lMAXI_d)v z#EBvh zwi9EojAvWH6mba*%K}fPNIs3#aee?-Ldsh)FcO|Nc<~92Nk1XqsA(awc|&2(#%_Jc zva$_>6FmhVf)!WQC0mF$jG@^kp&2}zkG#>(LEng6lWRvCg=ulFG6^-ED+hoXVert6FGc+G=7U29}iTLWjYZt<1EO@ zG&yi*AS(tj3TgnuL!pRq(VdPMJNG!o$yZdN1)IkEoLRTbaANjoc~fP-l=`a3@dlnu zQDHx_yF7C(0pG^_$127XPLDt7Uq!+>ma?x^{!KU{-2R}VpGa9d43ZkA<_J=jN^3K3 z3V4!e(14Vq5ge}S6fVpIfaHcgQkGC?F-2?UHb83|=AIrKKg)UWoRA3eSML#c-{}>7 zn;n~N=sCFRIcZ+F7;s#V5-F6v7U>g!{d}XH9Bi?E-+BYYMaw zcaYVp!p!rfU}W*RmDAP{xja$B=A4X#fbJP)^x%)|yaQg>FJ4f>79}8KMXZ!0K-z%s zkt{Yk?H-WML&?KB{>!)BV0prJ#|`If=G)RVwP_+5vyG&;i1^Or2rGSTv9NDAH81w7vE#RHGw09tZnKbQZlb<%E-_r7JRAB=hnO1~EGzcQdx8@@2p#hX z>^4EXn&_sYz?QH0l@LUj2;(g0;ZMTuE3@Qc&151otRow!Any=(nZ{hc(Fi*&yZC6# zrWExWzqAa;i}Pf=P&wSsd9lNJ8gV%bc>pU~{`=8;(BPl{@bHa2o)DgG#bar0K+?dC zcTH_S*)n`^zH? zr{y<#>jJ7oNN z?2eAZ&EX&g?M`hEzvG8Zi``(`c8E^B)R5sZSl@XvhlgGbJczYwhklp|!Ct&0WMfu+ z2O4^6FK%Yc-Z?-QR)8-+|ExS~gKkznO1w$5^ZsX;ycrk~1R-dB)WGX(YYiB}|6ymz@l zExJd+oZZwQ?#y{t@ABqNk$&B%LGzZu^@}2Ejs)Kme_BT#mXw$AoWO1zX3s0>N04m7 z4|3AUO#Rzp$#oY$Xswv4OXF;NCav++t9?V!FA5)5qRJ@9iX8gc0@pR&AJzvg7@}>g zsaaQ?Po{QGMUaXCJ4H~a#E$EgWb>2Ovb{K(s+pkI;1Vir2 zm6l3%&d=Ro<5?4RzodVE+LG#e6a8}hzT4{LdVeNs>cn1sg=q{ZMGPE#3vIQ9Fr!Pf zLT1-r3%)jW_?X^hi!CZ&tvQH4%8f0DW$fVHfR)d$webH_Tisex-2sZ zG=Hy>m>Vw36aCIF3b)rPcolh|J}-*qMApg5dSYVmNo5>227ukR&cB|zz%ltSc#=;x zqWLY!WcV?7uG@9MLb_ql{0$tVke#eV9`VCCCPZoYI8z1@=`3>Y?EDbQHA1t;E&xSy zx_H%ed;3t<&mkp8maG>G6Pb3V6ovQ+5*JCN@N~l7+#)A~*QtGX_IFm$qiGJ`XU}B` z{v+Lt7WrqSQMb5*dzU(K{+nBj1zmFZ+#HB^OgK9Bwx7)%(ZRhXwbQD%+i#ajyA)j; z@A|w?JzuZ`%jAj#;FvrhJ+=^tsZF7~&cWj5L%uf#4B;lo^Te!$+!-N@zL#6i;X@z? zy!6HM+Z3^;vbAK5i}bmk)~N~|F)^a^U8FDzHdsrKJrE{L8J8VK6ITTkgjRpe82U~@ zKUM=JE}XprRYBXir)3%MTYk>G1zR6Q5J>7%KP=b|VawRVcBO!c(EjepH2vj6zKsri zWu*Lc!Yw%PTb|{NARPz6e;`W`ZKJzFZ9}b~kQm_-cTMgHG#;8~vre@=r%VB0bC5Yg zRNL!ahbNH#AbV%b1r|n@h4oSsRXmM&C;O3amf4_pGFiIbP4ZKgvOgOBTlZ`Yi`Zkd zFHeR3JfStfEJ*OfV~vf-ggRwMd(ga~+*A7cc)O72gllvO}Yz+8D{brch``z2v zrz5sjz_^?x?agbptu}i`KY9BR!yB+d_q1a>ucozwSQsk8t%l)^uo&5(XnPPfI{Aj+ zHo~zJ$EcD_29_s)7}kPU3X%4_wLoA+TD~aB}Nk zAd_94z0=h)fc{m31|4QNISnSp#C)fbXIf-S599LK5*Yt)DX~-OaQKRMLZtN~?Pcj3 z+305aP#}2ujSC3xAm{o%OH}zC8D8$Gc)@JcO3L{GUaLaXSv|L7rs!IAT33UyiLFy-gA{rmev z^D7Q;9n4!S48GR76}8qx{n4j;Cg}y6XpZU8E3ETHjQsS&!KZ$)eno?%Q^v+6mzDW$ zOhXSJZGn#|I0Jam@vbxQ579PBtcZ8-JwPg-P%864E(i;Jaxu@GjN1`{bh+jR3ovnJ6g#e+0QcfET9&)RlH(fTWc=qI!_;jj*Dkr%jF!XPICb_ zkN|M+Dxq*-@_bRrT0GUBql~!BUNl2C*Ukh1`atlUVZ|K-YJ24#Pdi?6a9x){6_i@< zRaCU83*bu$I^?FAWI zkG|s0H+WT}1ud_Mz0tztTA2%+*g|KATkWN5TQ@D~7W?(VA)poFlHiWjEmPFbQ;c_* z!vsJQQSu`=1%zcp9D|(IEK0V43plo)(aNu0Cn%a!=>Usj10gmVyH|nN6?Ev5x_z08 zo)g}Ga@i|t$)(R)Og$~ps;-bRV&0la%N~nyCQrtA4q#5B*$hie$9|!!!9ekC2{cm-O;(!b?6z0Vp-23k^p0oEY<7l_TQcmDq;AxCx7XQhVtEsg`v(nm_NY*OrQa(GE{U3w z=Q$U4Yo=GL9{V7Xb8*e|c}ID^C$J0H{cAnaz<4qk_r#|Z6XLhTE5tOMNyWd@=SSB+ ziFy&RI80!Zv9(*B6twzdAye;PS8QZJa>Riy3g}G0aCR{R#yTo$qt1;MMRVpGMjNg6 zNI7t_Op2jNasnBM$$)Mh)NkZ49)1FN6UPK^QW2xEl7O+C2=O@>`~w@1ml6jbqBH-K@tSWeF*|{_A9s**Zgm$pJ@6^)%DS(xp<=T-dIVxDjsQ{dT-~MvdOSaM3UG|3}3Ri@^UZ?;#`#mlKu9T8~iKNb~JLCJt^IlMs8 zWeSE@Xreh`&FpuTv70Zhny-DBXFpi2dfQ|cWew6H8>PJAjNEZY7$*mWF)+43zkUBK zmc4G=UYitg&rUaU>@*ex|V`Gcp&wd zoeuNsd2gPnFjZ|+Ad{2&q}~K~aBi0S41BS|mWMMW2rkYgV6XX|hgIt5bCAp|RlY~4 z5jP7e0|xr09bhX))RfgJ?6YOeG{ikzI=53Fc`l;NT}yFT&p1SSl!{N`~b+f6EGNt z#+4nFC>;4aU?3UJm-DfMO1sI%Z$?}WFN8&r=QKgtj2LYHeK#NGu_$v zVN+VWB3=Bbu4twe4sJm4D%hypNbj#`TaF>dHYu6TtrQsu^F`ad@mZA-uCYE8CBisI zdQg?d`L!e3vdDKR)j$Pdke#u_vkg;w(?MjI#2bQcIcuY8ci=7tMUN!I9t0K)S{z}s z8v9)pBrXYY+oiT6x- zdt{u)d^xKv2hD)99h~6`g-siRmLi$^To86~I&3b6wyuHy$Hdle0h0yTiph3&zi^sT zct~OY;!TT+Z!g6dbIJB3UHn@FY5FPmUIsxWl)CZSJpSrf83hwGHC{LTF9@c1M^8JgXzOZd~aq@Qx4Am&PP_MqDIAUrkUVFX0z zRc0thsXN}&9h?j>K6p)68FF^Ev1Gr~0Jbo+3AIm+;En<1^BJ44IsX+)J0j$(Fg#4( zN2fNj3tw(=@|K5XjyJ^0$KErq^K^zmQ8-YdiOyew#Y&dM`IMBNn(n%o1L=#y1-DAB#8NiEIvk(P*@*z?l3W&|%qEMU|2CDgStV~H>((^826@}XK* zmd?i_>$i-qOPx&s9Y^8Sblrx1nUPiI^#jz3uh@Q3f1a%Ew$(!Q8e?4mD3baKY&sx1 z%^x@PC(>+&Gd%q{du@XNSk{H>(tx}9z~a32t}rLKp|Qi*6f>ebHa zqaB-{yi7k|YhoJ$?e{PW+elB=&1z`3*5*;7RWqa>XdfHicMRNmuH9Z-g8}gSYXd7B z4ZAMjzfHEIR_i(*Z6CPc!B{VdW}GAKdv40f`@ZM^SK28}&lo3aTRcrm4?h&SGa<#K z8Cwo8(|^a3Y&JYYI#4hE}YZB2}v?f#oCt-0-lH45vus@HH3_a|El+>mU0IeT@$4}e)aS`q_{L`Hn(%y^y+=BvtmE*}y zG1No82G6#u$B_Ft5uQ12qY_?24$G#PLUE;qjkEoj>Elb~PHV|yW@X@;taTr->P@9T zo14?5`L!^nNxZ0;YSm&MP5oqOB+ZhOvwqE1isrppkV0AAn@CdUma|O4^MK-67PB^T z`68jtMy`RUI7|cX!MD5+?uNvkT$tMg-9yFni`deB`1-}LtY0OF(RQksqM@{^pXJv0 zMf~uWwGc6vU4+8|O?)eN)$;j+0T~q&Swf{pRz!77GU`bdqe-g7u^3&{#^gn^Lh$YZ zVKW(dd3`>?y;|8O@jNumgMfFSAcS?1BWpo}7fPo>5!!E0uqLcDAk500DW_y_!R=09 zXmJZ> zUe*X?Q7ub@%+96j((tv9+7exC&~45e*>1GQw>2j^+Yw$o2KRAA%zvqQ&OB5oSRLgj zpmkol4#^T_MEmsG`#VS02bt0=ie5eH0U=>)^ouk~zHi=)Sf1L(`5ZEAGn1>gyzwO5 z&kuIQkJ_XS-p;!`%CV27o5#Ma(nptiJ`i5rj-TK6?dt9CjKAhe0NZH1)I2k6>rxtmi~D6l!sI&e8v@+_LlNde$_CGJPNkmUzgMb zL8g{KW#_Wh#zP%1l{{%M+f{s2;WV$SLQbyyV`B}L{8oOVvlT<$F*a>IzGS@WN-pv` zao(Ka)L?+;cjZNiQ}<>PkT}VN=-qNJ(1*bOM1Sr+0q@6RcI%5YfG;)W^^iz z$b8BAw_xYYDWa78r|eLa#HTt=5fGb9m)u26URRg#!YJb2+gf)nFT;qg0oYhaG?Tm+ z@>H{AiIe@Bo3o0D$?{fLNOp_CNf_EBrCK>|q&4J)cpI$xH>AsoZ4d5qimqEp7uWhg zu@rQZCRCP_1|`!AQS~^ETDcGE;e621_54eBxLSSSFKx|vusH)9j5f6kpvL3a!in|t zmvyhBCK2&6c^3|+Txj&H+U097M*6QH1kiMOpqt>gq5AEPaGkPX%Nyp3>>mI>TkN9h zJxu>9)iLuj%ol+7DgS*?AVgzLG(juv%$367zCQT8Woe#dT`J>-qjC@mc!Ua&%L>dC zZu{>rcK_AOko zhHQDn)ZBvZ|IeMG+PJM&fa7EXWVd}hn+YB)6&U=}0#p7C^z9!M*A;m^L zKak)(M=J>y1+DoytmWRrEHeW>b~ z0im|gKvMZgS`*~DqW>gTtQoFZtNw*KLR5;iYbzbXw(UHY>@@;4dy%amf;y1ca2JiDl=~CH1n;&aBHv`!tiqs+N-PeY=N|mG+j1dii65MUCD&R@v`$Aj>3bJ ze$e&pv+OAk0zMFm9*dm0oZ!l+zeQWd&~6<34(aPC3CGLJc4dp#a$T|^RbZW>_{mSf z@LOA-=(~9%T5$fLXNAi0-V`IZ4H-Go-7We=MyLvfo#ucFMx2t_X7Ti6i;Afu`tZhOk6~V(}6y+e6{L9!u#B!63ASlP15S&95G1d+}Bhu z>XFpf5%qa;7OxMMjt!hlsP`=L{}J(T#P&2M?xQQLsA!U_H=7j&RtxNZfkt+o*fcw;)g-bSd#`%(^yF7_Su&>a3E%YeVvv z#KZzO7$dLKGtsSxP9PTH+hBw_dCp%^gjZq}-zx@zg!VdMYX1(Pz1w+_(GJ}KeKo(Y z+hH5PX1?en1);r}7afPe)E|)=&LcAU=Y-VRyeXy?ZO?RufJXfk8HX?LpBYTxRp_2a zm30;hkifiCp=3(61l?V;*+KLWgy_LUHLs5m@Kc3ITc#&ED89v(-55KaTD}6 zRs}H*r+WMfgf*xoJ(#Pt!Z!Bz4oQ!>!EX!)>)!ccG>yLC{^9^mLRO3?Q&cq|gIr~b zA`^fI$?y4GnVH`*mzVpAx~d64qA5I&HVROcyV zu-c8V%-R~zmg|ysJ;WCO_Ov^8*RgkSWK|7d!mXvXAqi0;X~Qk1I46K-m|tVCIoowp zaA(w#lH*v@k0oLiB z1%)_{1@3HypCa+BPm;y9p(Kla{|9RTcc@lry9V2($%0{;7|+R+9WHKk0E5%=ZGs6V5BUk1 z#_#J`R2vWZ9Ouca#3M~u;hpF#LW`b=om^dXQ>uJe8H~9dp_b|*_Nj>tcCS zh93`5gliQindzMgWE*%zpT_B2d+lCCtAZdsJC2h>U^qbBNBNBD-Mxk~<5;jR$~pL4 za^0i3Sk}^9{)PV99Kt!Lvn~uO(dyb79!vHwWqHn;gnxgnC!>F8hg-Z#3W^Cn${x2s z|G2&DMuo+b*~1VAPHP8|^zH;++mFdc>DyOc$0lZ(^-@cn`^(j=n0CFO8bl!S;mOSE zr)75k%Qll2Hi6|yZkg(z0C;BCGsYP+ZyC`ST1GczfY(q!0IlenKNo(2TgRK6Te%dF zCM&RV1(3T2EjT749&U4zi8IA0T1x&T=A7ABzeI%nHIttG^F8;t#C0d3d9w>dx>%!T zPwvQ)Qx)Ml2XQ%5JPvk2n~r~0e$e(4(M307&-}Q9c%9*BbbQ1mIKk zfj~z7MC&%$V}Gl|PT@iJ{*tmQb_(e=?(g~87j)`1^XFr75QDd!55XDdf@443N#q~Pucxl&(a7#UQjfwRyPPouX)nC|LxF@I@>LG;7W?jnH@kFpC)=UXrCD#J|v)Z>6Er=C_4UW zX;o37;rVu64~cTf7PT-gO>2%b5<&fysWt|*fe)d*xMOK|Ml1){N(C8PV#BM*-+vt7)Zny*k#sGZnQ-#+Tuf@ zG`YksjsF!>a@<<_^>s%foveKhFJMOMBfJfDpB?NpE=)=y<_JVjq8Z%>z6gggcSth> zE1{xv4iTyhrx65Z6OBk=QA?{=#Ugw1ehyfORVg<%p~jLGM1rvT0yVbwVvug+08Kcx z0u!}dkl7hTi9vj|QLGn~OiUNZHaD3JF(K#jLcq!eGow4yws!(VH~Gn9TEuW+$xxg} zcg_>t30TOvX;*%%VIP*xIwpJAr13o}44m9_ua*3GOZp*+6Ry;op@nNgd(2nfko;9g zt0t-aY3peJ{QCH~*rrw!fct@Yx$MH)f=#80tUK_=N*jE=RsXtDi=evGq7V=$`vW1i z^o>~kvYmSl1W47_1`7_N@khDb$(0{`M&>0YacCq;#{_9-YundikA;vCsDBtbgg=V1 zh#wUVDcfWrL6|rw2mMJ`7Asy?KxbB83;_aD z8AGTDTAIX{m<;1X*@0{WikTJ)DYZ^WT}xuk({ikSyu^hfXZF&it52Mf)=9@KJR_R6 z5}n{2ujLD5%8Vsdp_ZjEVvmHJ5*MM_5$^nK;~}cW7-dDeX{t#M6wk8240E2 zeo;gBX^+#_+s(`CVkH%Dq@C#uN?vvt!45^0EGR4ki1FBW3d3ZjP>0HiNh3zNKO=vt zY+yO{nVAc{KXaG5WQ9$QAw!~vD(sJs;9U>yw;ycKynJ(F1zlPLEB{>~Lgvj9 zvUW$cgI)mm)-`sA&SuokEcIV&5oK#=XEaer&l%M~uI!3h&D>~(^G^uV-$M#16`MkS zM;ur_9q}F`go3Nn3obEy*!NExHns|4aq(fY3c#I&)KN>^u7&{AlCD`D)+Aa?`3uz-jG~rsQD()e;WkiC07fm zl&Q^x$hg6(^_F;diATjZsr#<&RRazobQtV1YRKu`TL%_qw)|6!OWSe}@H4ke7k9Ec zOk?3@uJ?hGvO8QH06+?FlJ?;UzFGzc{P|%bv>b7vdw&M^G%_MyP8#{ve<3GK7n{EN zR8W6_m2Z+)k$a|GvXxP7y&RO4+;QC3w_Y5^reS<^RtL0l+%!~_1^G@#;0rO4Gc$-q zV=k+(I{>}s$6(l&fsSe2S6%EU&M}^i)~PNeJgt}|Z0Rj6!+Ct8m`X9f)*o-Y$SO6< zmJ_;OcS@dpMSji+h@!Jkhu*m|*0;=PeAuNlWoICLKE<35V%pYGuIOe(^Jv{DuCQK* z=QB~9%UG*z4-?J*omkVCvDVepP`ua^V@_dyz-a5T{@Kp_QbZ?`Y zX^UR@IL%((;<*+NSu_==+8uvI6y4RTQgN_FLtbTrDZlaupd9uZrYFKo9f3HO!$;U`XMi;FtRgO3;rvE))007?q{pCBEIy>0gIseap ze~tUEyrb>D(;sv|&YCKLg8PNnDsPdjeDRG;j;ZCd&5>7KDujjvr64icmUZ6$_6CTc zKTS_&JQl*cSsa!DSP#}F8^u?Hu{l&H`;*46t;#wTC---BY*Yt-U3Gw`^@JG(n6&)i1MQ4&qh@^XZ$stUi#Gkiemnmzl!^)~{ zPb_EuC9_f-h>QyTP(C3u+dT5cGW#+rmWK`jc@UWd#+H?(?w|AT%fnU}EHQ#$^u=Ug zAAx>XF1aku*;)PEYy;=zkK^?$bynG5#9!hHOJARlpM%o8-Rv%2yEEnU)@9Yq`|RzJ z9}Li&Q70tOsan+9R*8tKI06#?A-?XS7v`16g2vh(MFxok1$>151AD^FX zC*`k%2??K;-UP=lfSWh(_b*k)_Z+G9(zqQaC~SlbaJ|@*7&^k|^^UZ3RN~RT8$#y* zALNP?hY%vXf;o``l0{)O3Lz)MIb$ z_k)o91~VkMEyMinf6E5IVMHdDA2Bn*{R9JYl{or7&Sz!}e>5s_cz%a)6e5$w zEy+RA5Bn%6dT%&D9yv^~vWUZZ6?tL(Y|H|Mt3fo6)#Pt-RznU$pJ=xONVWEvqAK&uW-*2U>i2C297D4Zp(Vhi<5*}w!lgR= zp(4$vjw%!gi23FM>c5F;C>s;p95kIDs}*3F%<$|c@A5sqZIG+ zvhs`Y+I{@Q*F1{zh-u9@riGf0p((?krt=9+lO*yB?MQ!g(v87kKSj)Bv~`m|o{HDe z6?MkJK}V=w)$my7a_MQ>*+C7$wj=@i{5;Qk*Mr9LVT%H1AV4nW3%p7)-btt1s>bZS zISHZnXsua7v)+2RN~A7iV3fq&bSCS?#$!_vA6IIoQu3*$kaF|S8xWMC{X zim|JF#QdPL%pA4GjW&W@2}{Qz#y9xz^m6i=qM&O`0+dyJx~jBILv;wLB3%(y@$EM& zzbfUqreJZI?$_4xUCFebQ;^;0-x67ErD?Er?dL2-YqmP?{{@=3azMMl5P*~Yg@Wz> z#QXd}4#6;t9sv0tHQSEzFgcNRNb!RBXqaaHz zJzrw!1L~}A2IJUg8Sm=Pjk2(s(G=r}nD~nj;-U43!Y_(w@H!~fi3tn~wA%$B#-FSa zRB_&``fKgh){Kd*zVZkZ|EKX|i;2@r@BHhJK4oKWJzhT{_Oib0*6*$(Sk#@FdH&9< zD_EQhFl@Tp9!=tlIkxw6o84r+YU*s!E zV0L=c5kvhHN6M1<5EZm{bOwFUWI&nH>O-dLL_EwME441Ybn~iIRA!OxxN^h5S%R$Y zj1vvR>-{wkE+@^IJtMfDSg#U&#*@mx#ZA+FYXp$rtKA-#8WYUM@83eQ8Kw0H8&gq5 z4yswBRE3Wuj*)OpU%v$YN&zJv1t2d5+i}EfWt{3~Iq0LZMupDDh4wSbxLQwFG-@IS zS|2N_6R!&GJ$T25YMJ`pJS;MJ5P0CsVzNCHN3g6rI2mT-gn!MT?RFU|u$y7$l;Clx z1O^tYqyQLUF7!~BSI@)4pE?o@atFY$97(25i3cK|;<+Wy%b3FOD;>5WX0C(quljFA5`*Nv zQAedG^eBSeO+|seTsjSiyM7V36>E6X3Ev3K3Y5i8jD6?qQ^2jYfEqqk%Ie}94%tm5 zTm@J<0K#L)45=KB7hjMd$&45{yf(&AbTnW+!`~1vY6!RwawUvqY*3ihjzUK~@ubmC51?GFZ`6u-V})v& z2p5kuGdV#jyl}Sg#EgoHzTlKl)43%S3fQDcYOW4|a`Hnq&O}@%79`$G5l3H?vfH?- zhs9+bO(SXgKlQoYM&NIsLzejTY-qyjPUM6I9&1P?8p| zrmG=@6+mgC!u;@;diI7JA?}vNxucwUYjE!Aapw)@L=k0$d*kB~H(sEv@Ejmyx0n_S z9ngom$@<<1-4_gcVz`l}#EX_O2+=VCU8jtF6M!qLLMmc_|I&H!;);B`n48;ODD?tU zX^#(Gyl^F^;-~4mRM~O0qjz`03)<&R@b+to-0ozZeTO4D&FY8meZxw4{u=(}iTsk} zO0Iu<)hgWCjVOD?3v#+E=S2kR@{IJrTldB$@ctzn3p4nFVvnj3eg63_-|;gLp77rxikPzqqa>!I;;yF7S!=>h_{y zh5INl)HbcBYA95IUg-EDN@+o%irUqJV4-IQS?PHPAj6i-;zJY29Y1?I4?n~+o z#0vcnAMm}}m_QKML|<+G82Q14)=fL{V3<|j>Hhq)+UQbAIUC)iAAd1jtNGOs4b+}W zbF`dRt!XWCH0p}5Ci0IfkuN=1X83^&#snzxlL zXPZuH)o~@Sf?T2VQLoD7>aWQ$ViP-;S(JS8SI3P{GEZ@QmiQJ7&ESQTxCdE`;_HtStXvpW zc+k}e_kbhdJ(w;SUW8R1N$jXOQtJsZh;I^R{nq1RCHtj~&lc75=sa>Ybv)hDL7}vT zofNnI(}q*Xh|P~eJXbnObBMEf$exwiN$rulMIVF+fZbc1c%b?Z#{8*64LEWmzMX`n zGj}HAzL;dMXwpIHzf&tb4kX3vKjogF(?_sz!VVD-RqUY-IEyg~Rux#RGuFL~hSV+jW%kro;ryOImCpbps7Hlts`~b$UDT6>!Dg2h&{}!E8E2ic* zes}8(C&9#{j~y5Mgq<_Ygx$`*QDgpQMMh{;NDzVTrK-JPqW-YV7ABetW;wdlocF{M z?|fnpY=w5v&@}4=p;Xb5qGN=V{}%o=zdDJv+%t!7^HT^oOELLGM47VJ(7n{P4)hDF_|$qfTk@wPCs z)eV=IqTN6$J)mpfb@Sp>Po`WL*!ci~vfk}>OH};a&Jj3gR9SP43Fa7eoyT!ho|z{L zM%T+ZaXSMMy2zuy-`|9;o#BpY%|0%csf;!r-Iym}4v692UGig}1|Z~Q7qnzWx@`*g zZf>v6I;XOgL8By;B)mwK9Na51>2TB*>w>6lB}Nbc<;+pi&1 zwTT6Vq&7LTIX3>#CK7ZZjAw8fWcOC_e`>@RzBI0rseR*v}xEKWquuvOo?_ z#5YR@Tm=3-WQRU{nDJD2`iXCEKBW?Hej0+O1-LZ=4!idh?vhpwc`>pR$=;;W?TFH%QaU8my!MVo`Rhr#V;_6_Z1w6 zKA`KQ-Wv2@$;+#^+mPEDeib+eHETrBCewS86q3EGoD0O`%q1aZ8m}n;eQ6Z|G=IGy zYp?x^Ez|+kp~Z3igv-ibK<6c7-sr!|8r;jHvlZ)*eyLEkox7QLR#%#)T2QN*I)+F7 zQ)ZIyArW?3f0?8D*aa(#hybp2$Ya)CU&^!@c})M%>h4r#q>2W2l!XM%2NlYNp>6=v z4B`%_v?9393MwZ7UY|N%@c0L-*JAJT4aT`}Gi0(00d>SBCvuv6cewj{qn z&F>?x5C~Tcoo6g2jA!%WZI|H{v!PwcyZ2OMxY(6;hQ4Wo7DBj1lQKAzR%GsvTB1v` z(v^oVTkz*Dr~;Bzcmj@k?uR<=j-a+;9eg}!Ea8Xf7xpG9Z;nCMFH1E#AN$4=4O~_d zjxmrY?R^2du<9QR+mk3{^a~eX9_{V(2efIETUa7-AUJr!NVM$8Dp3z}H*sZhK1Gik z^c^~&;#r#|Qv{x-IbP(N4D zkPlsCI(N7NS${aLV^Rvy5pw=9w1bA^q@z)&9n5r_H+c#oaSxFNw7v-UskW9?4=2KBH2oA&x`DRDoq>YBk$iZi;RV&Nu5YmwqT+w#U?$FM}CHg@E4 zSX1xn+`V2};zHzz1l+q}!4+Uv;O$Ty8@Ap=PnEU)D4*Q7_NrN*@kkz~#b%&urXt_m zh~hp|SRxWGcv5oG(YNt{f(5TS%Ch=OjPl{~|9czoY+Tw5Rq;;xY065&Qi4gfOljlH zo;T%enXk#7{VG6^Bhm)j)N+%@T3tOe8%1GC?gzRL`1_S#joriVsZ=^+x>RMEt!?}+ zTQ>8raQ`zHOjwJd;eyA!50np(8P{|yJw*GK>-h)hfzowm%b}~ksBh_OxI%9Df_WFH z0v6l$S5NlTBZ@w5z^cXQRmXNHTV|n;_gbk}PSCB(8Y{F@a zCWYA$Yaiq6jAPo!R9CuQ1rOky{faJbbOCX460P7v%)=UB0 z2ID^9W+`sTB*rt>yi_fQx;JNg7`oRT_lp_{_s=%&Ai{?-#C-@iCpa~9*UG@YKfr%4 z6h)c-fqtL>00{m$^f3N^3q>1y^MACX|8Q}&{y*B0fGaa<%A!I>JI}gmrVf#LcKu=O z^$Ppq6CfEOB%^2@faUt(Md$86ka$0Ti^(WGySm(^MBfd3XY}^4QTceKy7v{TH+x#7 z0=v+zM7Vy*-U>gl61rM*$ zpOtATV{;dX*=SC{TF7}XIL2d0itC3S~N?Tym=@Sml)_G{DLb2Di1`3J$8gC zO6U{jF!~DEJ0BN|^fpm_7CS{Ubxopdt3JJVWem9?SU7nS2?uPtM^z>d?!kg}sS^Xy zC&C7zOqW=v0s$bh7*#?#P(}mACL>CHpfO14cd7huOU%?=)0Dp3AzJbJHIo6pKv_=i z7Ba!%oMl!f&EojuFzcY)py3~yzi9mkt;#8Yj5wjt3EJs>4WUeUxNWF`RDXt5>mkDM zRWdgi0HWbWVc0yT!meKB8>9Kdh6I*?UYRfwZKst`C8v~9m{9|5@G@jhsW9;RcNZ{n z#`R$>++won<6aQg_Lhda3>JcbGb?( zDnWw;d3gaK1pu7ZvEj}M$nvZRf;62ak~f5Vnux(ydg4E8QOf36RiSFgsw#76O)Jb; z5at3{k$h55*r5?PoU`w&=i#Jbh@C8~e|Y_q1|Sk0_Anp@b7klxC~U*oE(CqnZiprr zjWHe+CdrMQ7$eB&*$KwJJ4H%Xt2Pc`?fQfM^?{K>#`DBbXsvhtvF z>kp<1XG@UNl*Hd-afZkF1K7}~rc1C*bF3a25u6|&0`E0AVX#skJ{AdkpU*|dz|lMhF> zlC~V?^uT5sZ{e=XAbXoXNgCf>Mdu=Cvj`gLwi+7SjhkGcbZXjMPkzJZ8ev85OJRKw z%-XFy3M<1SZu1u)zK#6f;)_@?#k0D<_eY%f89L` zYXjfbz`mmKR@ifB^D{=>fsOGIKeLqT@0d|;XG4!7Le*UW8$@g~ zRCZ{M0yt0ATk}N7%xxLaYG~gja$id&RB}F*!?vZz3CM;@;d7OqEZ~j5TLw)8-(5MD>UqMazg{~Gy+cAVe^u7`3 z(tL9_zRG~Xx(Te=z{$8aYKWjDk6pCV32+7fH7xRkjkb?gYOvK0y7>-#iXsJI|8z^& z(L!vvuM6wM=wgyBKx-w5O~Ue*V$%BZ9N|{?6zNt0aODs~mAe^-k^lEI2jRlk)|lze zV&$u!HX=14nO>K`zUo>QOyxkDY^gFEMXSZ$>7id3z{}udc3U5?w+3H(k9CZ~o;-y? zRMolbgqKKMt8%`QY|jy;4lZ|u%ix1*-)ysvay{+NLz^v| z@k{M$t$ynnI}K4Bgh<{SrU)X=O-rCqP4GGHt+?*(dibJ#)BGlDUvBNxi}m3ey$3@i z8(g0J&vV(8;+iw~Wc(<-)KmYZfBR+(nrDIX;LW79#_7*;qY^XXsylHu^|aKbY_&m6 z5~@s(92xYK)SzO{!&wwqh|x8jvN(f50ZjtxJn@~qwn?5;vRuY02at~W&}3yQ-w@up zZakVKli837y4WzNxVfNRdSB5z_%L|Un4G3_U}W{DfSO&5GCp!tfT&0Pl2weW*e0Yj zqTt9b_s%)lXilUVH^?w%WB=+>?0V|XkGjOD?o7kz9rGhL1zg}pI4gTLltm%f2>w1h z>7oJ0Rci0g4(E91jLl~(0!C8{x&3<3k`<^4B0bt!~Opn7@ zQ~IPf4+awr&%zp;mTbaNTM|KtjDvpHT3Lpz;X_$p&e+{+Xb3hp=0uJ=lI$e>9$T=W z@0M050j2h~Wx3)%yhMTVcd7hR1g^+eFSGCUj65q(SZCSBiSo(@h%9fbRS#XYSLy3@ zU2F03(oH)csg`xdB4u1g{8=$nbs(MP1iwN;pj;!|C_Tpo2F>45wQ)2g=8U+S{6OGG zi_IDH{sA4$3@J-Cc#>Z&J#_)u1ZFh9M+hJSr9mv*g zWN)08v&sE)xw`9@rNg?k+u0r*-}feDr&7%)j;Hsl*7fz+5({@zuV|~&&8Ldt{6PX& zWB$*2ZQTrW!&hQkmT3@xKitZv8NSEZZRZITO{tJ6BU;DO>gv)C)8@?l7MPy5U* z-p~H-?}Mkqb3SFr9{(_>r9F7myFw#un|i5m&*w=n_c?FJZNJI;Bbar+>boVCHLD|j z*5hWcQ~4R|YrE&ylG>B#vNTEU=`=z5#5yc`6Fm}T&JE!@vz$sj3PsmCb93`j^Vu<# zr^f74(+cM=*V$jQk_zVd@5sdEgZM-0&Cc6#K7aD~UgWW8()bbYW%LQ`nAR-6j(p&* zi&Wez&z$#a#|MF=o-p9`E*rp0#srLhEo+-- zos)i2?&tVkQu=4I6VazKi;wplq*T&sp(zDJm6fGQVm+D4RUl-YC@L{Xi#cJsYzLg)uiZMVzU38iWy; z)%!i&6S%u6{>34^;Cre+%W!T;0pITYC{0! z#qsF7GBAY93A^H8dm-ldcWcnGci%*(cT@Y(#w-5;XM5ThhW~;|jp5?Z{rx@W@AZ58 z(nt8=fBL-LA-?m>a{74rUdF#I75Lyjn9?AD7Ws>?S27NIg4$6`o>??VnHY9fx+9wh z$DX{FVc(@^aJLSawY{liyG8!QyOI3}Mq%}6WpK#cXigq%3e+fzQuVh!%%a2wfVRZa zF^ReTmMI^VaPN-<5X`y=Ikl>phNiIwGFEDYox(ZJnB+fFndtVshti7g5&Cg;8rvY~JE}`=nDV^g@e^qQy(WD0gAIZ${sv_CV zcGgf=ICsg83x9L(2Nz5Sj2dRpW*8u1jC}keH$0M822Z>bH@`(XqPc1!g)D>xo0~v~pF7b> z(F}l2dz2^U)^8rakU!`IhOtVggfvKX||7TkD#+S z_5+}^D5IZ1=@I@*P0lTJ7L?|Sq*Z0NQ% z0KQn)z#won(aFI{m8S<@e1XeMYm|Z0P*ztXwG983$qBqOYQD*OA_YaWnaYmw^Fq6e z0vHc61*=S0_NHmUSq;3#Mf>t->$5%Q~Uga^DrQ}nLw8sr+28{w(( zldfMI3{KWLNXTN{x*N!1rP^;P3JSu1N!s}6#cpJtls-8(t7?NKZMzbtrO1qmZc+BK zjX(Sht>B$(7;*e982ENHNJo;Oz^jX=qDNueXr%`o8F+TU$imXFDkqi=`T1_jhTc5I zDIcE@$(Yuvkxe@4Rltdsj78dz(Y~%3XK9Fcm`P1A5Q3bQ6|M5rMY@`G9nT*B&>kut zo#7$hLYrZH{c|8h}vsW6z-=tpMR=o1e=<(OUcur_u@je=C0ap#8q>e%Kwgl9p-WcQMnX_ z7UjxJiv&KgFD20aX-cZ;AQp}|ThzLLvtODxD&WEutTe%sgj~cOF6DBTu-L-%K5!}r znmq};{X8pSV6peC%yc5x0>$!X#mlffW{G3L$?{S$LxAq_%L=d~$9pybsD4PWy?R`1 zw-JEc$+8@tyzUH�q)VNY`c$E$sLxrdX-6zQ9sjhiebF4GH@5HX@qkAqR8oh-Z%M zwIL9BB1je&h}Jg%?XOG+_bsqT=F{|h^#4?Q(m!dH=?AATYb%+rUYGyof3(rxyG3c=G(5?O8aj$uN ztD!$7l6Q+#;RcXIqW_&DvEz?hHl*mGEMdL{dZC65pf^e-G^cRKExgc%CeJKAlT8Mb zm)X%UYYuGfv#rB5zOi)m_OQ!P{Z#A}WR*I6RZHXJQBKxkqS4GvL+ajMOQ-Hm^>e`R zv1X+&Y(Q%0gRea1`sk=mnqZTj4Zyz_4cgNs$&^9tJ$Afp3lCW=g3pNS8FaQM#AB2^ z?n(24P)vz2`^f zU`MTxeoH#WNfY2i2D&>Q#yzy7RQ@Rmsy!k ztA|``u3u<56kf6t8%h31wm#J)KZ_-qPD*bngL=}l5Pu|CCHo@K?*CC0fhN+Hb8Ge^ zF#<-q&@V$=siUedeODCdE0hO0r_@55sB857Ud=|HD@baYVk2v?0EYwO{M-9vzc;GQ~!bG!K*G)}C!_^qvB zFp*EkVe3$?H^|OTQs!z&DWEhxSyEj^GVVg%PNdIIldDl47ZMbCGG7v0FT@hFRzPns z7$&L9%qnc>w8&;}m-!K6QepcvrC@Kl$YgXZ^n@Nhl$5;$0KmT`6F5B)08UmMpSsO6 zkc7hh<2%K7Nz)sL><<>3*p0%g%KWN ztjHE)%eMZ^_!m+sXgou=f9MM#WtF?C#ztsIAk?${El`HeP36Jni_v7>(w0dM9oEB) zDjFKM0vdpbji3VKRM6_}4?o)+JBFeRHVqgR-ds@OE-w?@**nP#2l`HcXu4=qcw zZiL_oM8c3(^5)ydF+seQ?4-DS^)VsP;6tDROb9tA5`^A6MBhl;`cgaT6f&(fMJQP+ znu;2Ynk8>Nr+1(I)8jafz)$mtEA%;p#?EGgnsDu+UtFM zyzWE=k?bo$s%& zwL>B^jc0YbFObNCPi`gTByUvSNfaS#pp-g=3aQCzZw~ zWSzAv(ouC*F^8G@$%wHq8x44;#}8zdX=OAU%_0l?rlo}zQ^p$3)*Xv#?8)A0alQXE zmB9nfSy%86gU8%I9L?Q=Qpea`VG_U|wiN?U=M+>KT8}hKLCN5=!O&cn+1Zb;c`@Mq zaRz<_`2*aFJK4^s4i!O(pjRvl`?lkWsUErRU~(|jqnCvkL3_!2vK0nIi57JsDc%v6 zIz<{~!V%(94kXmlY@rGlApzNwH;&DIK%C1jY9#+2t%uKhLPDv7O<*^1?Zdh3&{be= z@u>Pk!-bbv*_zovxRzFAw)s2Qs{7ElR9S}-Gb3);sKA&zwjbQl?-i@15V>b+~k@)ZxxAvT3tRrR1g&=D!VFjiR%NWxvO9BWOOl zj@Ynl5t#B!)=|H2MiYy)Oy|&+R7Xn6>#-qBqpl6a!qFv0fU4srwT)xscs79E7E4pC z0qr69>`! z5kZV9T)l`(*&MZE9GhD3ke*E<2WOs#s-BCU=bS}$U; zJY3qZcf3+sBVS4H0<*L4ySNL?@9NL`f}fZu`}XL-_3|iOkMJrm=H1OI1$iDpmEic?mR7jvi9$p>rRyArFcciAYN$SvY>+R$R2#k z-wH4Q1Si$1VS3laIiP-rTO+C#3-#gMJAdu~@zc|JC@c@fn1LzoPjXX1Rv;&J}3tK2_;&D@_JH8ygQDn9!2hI#OdD`iz`GHQC-cjg>XXS-$joU#DMMVx;2~uZ;A5!O5 z)sPOYif(25zZ9=xx{hRUMj=9+)RL6?Fj|slBqS+XjHOiy(EG!cjPH(0v!s|k&wvGy zSntv@*Xo6C&9sG&w_8g}^V|6kJ0r4s>&xMF?@qU`$Lq}xY*@|r+;;G158z;N(kFg% zBG|&1l1f}}<&;1&>|e#=@yX(N-g-%*dpw{p!`bG zVQ3yQfLY>6&iS`)a$|*iG-Za&i7R%h=SAbQzf&@LDI~zr`}dfPgKYWJV!{j*_;b<} z63ZH7Nuu`@jiqYI7O-VqO^Jb!U!LvNxd8Qpb-ZwTWUE591({$5pAHuF0$o}5ThN3J zO@4`JBrJN!QL1(LHb(O(bqztuvG9<=(9*p#6-rqh<1(t7_RpF%?4h6?T`1`2=t7%- zimYaf82>`U(xw^<{)>p@#t9|o=i{P!Ctje0M?ox~7xwWkEY|D}O?ZD;%b=|N38nTegCS=`AoGlSKyD1mo0x9vk=U{s z#Gna*xbdZ!g0hLt_+*BrmzPt%U5J~5q*DW@7jW&k7p#e`fgN}HiWeF-JQXb(s8qC6 zCQVqX>=?1!3+iA3Vk3JY>%2vZA~yx7Q`#H~iDIiqOJrr2u>SDPusN z>+kRNm3_^8`1sf6%V^>u@ZQj>_WbMZUXD{GtRx6)^FWN3pt)b6UXIfP%WYN+qP}nwr$(4>f1B3`MYO-wkJ=%ByTboeDA_)xO$#N)QF9v-+dcBhn$y2 z1KESe11^yY46Frdl6>U9m=amHpT`IEgH-=#wu(~6)s4{#@VJ5JOq*Z z2~#b$him!$M4H|I zS!bNJ&xLu+`6bU{yrEuDTq_>@N^V8`%B(PSG3Djs!FP{xAp9w1h)(oT6TsojwPF{? z)|fvFzM+gXMTS$YoDFxE^KFuUrx7dfeK}*P~ zQ%()Lu4GBv3PB>Xs#=-6lkv!Uc_1B>#;CdtLJ{*?f{;|i#bFpS8?%m8xY+Cxy(Ygj zZVY+<_*Pi%w4sL^jK8L_SbDvfK~JY~zm>D!CNi|WO>;#+#8CWnbzmOl$_{BY#H_8Q z=yek5;ZZQi6Y805mGD3OuYNzMmLPhdP zh!JA{{S}Jo2A+w7|5>WSQ}(V)W~UV|*of19Tgbvhv}~ixlk1w*rW=G#dg&(d ziF5c9chf>bi|Q_(4>d(UB(~8+iXyy5yAV&c*pr?3lm6E*TL>E5WW6xrBX%TxrQ00O z`}GA2*Wsde!|>?6imd<_bQ;!!m!}2B*@A~QMF!I@HIW1lz-^?i6YJ6VV*Cw7d!~m{ z8#_Z*#cjutQv`T(Mm^Ff)^UQ)+U(wx7uCK4Y=(e&xa=wn(~6L)sDulO?YY6?JFE~f z!wLiL(4RRg1ZsStc^tPuC!@qb5jC;}f=5Q0+{#FMlBbwh^~%iCQMD~=4i?kC$cd+2 zR)sH@oWr|8^gI01#&gvYCdaVT+AGzm98NCm$OE`GhH^WOxvkJ?b)G*?kxjj%DP%IA zv4Ai%q7ED*{#QzIXo zU#w2yZ@dZ%2W!LhskA48maL=W6gW3rw7CZas85Dq3J;}gL~xUdE*|GM-KV9k9z5OG zC%P-8;yojJT$zW5xXbpx`J|Al7=CM1D?V&sM3jlJcNXVNL7SYgcWK`}Wm7**9{$)^ z)dM*;(hkCT^B0Y-F4AINJ<+T2uZ%}5asJ4V;IIzYTKmw#&`og_&3x!n@j=w?P(tn(#@vYNN&ZKms}7{+*a$_DhmnZ z*KW)}M$n2eOl-~rKV~&H$=j=0A@e1LWk~2mvCLX-(v3fdXX$rC7VRPbI}6`P_2A$M4tH@1}#O?!a9dv<;mL z`I|<}FTHs_1(s`~fNu`$QnSs9e8Ycfib~Y%J8h2N(gIFs&NfbEc5LUKb)sGkP^ql- zD6-kBTdMDDH(%ba_1xde?_l|x>-XKAUjPj*bIZ_9ok2no76CRxE0szbt0RW)=Fa5>Q%-G86 zpKWyf|HPNqTK=_k5@SmW)6(leZR6ETGuMvGXhkk*(!{ranWJzxkqUfs_2-A)*DPQ^ zV)DN!i!LQh$Ix`_?5XglV0KP!Zhdg;@QcK#sjq@NWCp`K6JNaHBK;-GXvyL^s8v(y z)NT_h;vA;OT6LAgna5RWk<7+KE-dbzh=hf`DN&{7Jq3S6#!0#wVccBKQyFu`d(`e2 z!~Hy@nRcfW185%FBtQd8iK&98?2?p&!`81eAm?nW|K#(d2pDlwY7YBpScC+GgZHQb z4I0Ey+N%&hZ77$788rmGKN4pIni!0esLe2??CwD7O*LY)A4|p~f@d&KlSn51ySfFB zlOxwR5Bk|3E~7j;V;vVI>@-CRCKO;a_DA_GL!uY}m1ShbwHyS$LWIQVJViQgWbicl zVV?a)KG}6RZ~Ra~JbU+-)eLYZ%BU8{!e&9S z4;ryO9;1?4X=;ss)KFQoGNgM*z%Gu%Nw3^Zl_q@wGU7IFws zz*12)Q2W;&A2)?#?YP!R0m^r5Nho8#5QUr7^*NZo4_puI6}W`f7gB4IN?wT~df`%d zLMtH($?G!SOg^7jQ-#DV=&tK{9-S9i#4VLH9U^-F^uhfZqIARj^!%pm4Cv>Se(^c*7)1%^|Vga~WkF;451(DQi{!T7jUGv}TRLszAM)4N}u|NWt2 z+qcML;AtTd5g1(>GUfg%NsZB5*k{rf3|J{FfvDhQsQ07}Tn0mC{HzyGtq-rBkQ{De zf&|ggV^hLxKf^R8@j1`Yq;UtF#F)mQO54hOfULS5AP_KKwAr%QYJO4DG`_a5V@$g6 zU)JPz!QqNy3ZCYl;jNl30$I*uJ@!v#!(+8H$Mfll@VrD zbAjRG-REuJO_O?Bv~z##u?NM2c_l9j;Fy+K;w}k`eYg{TAK~lzD_VAsUH2`%b|^(C z3pZOG$SAPO1GWbdRa6snR&rk^4org=}9nR6ztK1;HM}z}RUc25u$L1esLGn_!Maa-8=R zl@)&lig^&qo=G3TC6GyM$+)1e$O;9WL=@T_9tnTH+G+BVv!*kv9C{**5)(zO0KaG&+3yl;UZs1&aiSGiAHb4RYqkyxvc*tak%y3&68zqIcR@8+9(sCs z1JQtA%uLFp`rjc}5w#O{ji9AC?ZQ8zIuJaPdL*g6%HpoU2oED0x;wun#z}0;2P$J3 zdO^zOj8H9>Ok)Vl^6;X2>(pVxNkWEx)u;D;BY>M>{D_tq8)oe)J|SPskb(|XD5W!{ zTBUnThS9mX@g{S#`i{syZvTqOE##!GF8yv~)W z8pl1@5ZN&gemy6Xc58%R9pQ6f^k!wXkeoY=5Q%2zw+zbCUE9ClHJ8aEwbTe2=)wB4s8rSkt2imxa+j3?17K3D}@Zg+=;l zTpcnQ%*vUI1Ln9i-CrmKwbRlE^>jWW9n#J=QCU?Kot-$;{H~Z&XAFIoP(OrbX_X4S zhQNvntaV_l$+8u(SM0=t*$BXa$xVRES*t-uJ@TYHoxcEM(6c$y6`2ktpVcdp>4AO) zrqIEK=3aU!q+8^b)a_@dLVzbIt9sIQH(dt(Fb}bQrkGjGF(IjEnpMlVa;LoyR_CHV%K*jk-E9{Yk7Eu`1+#z$Mh3q7QJ2+saxXhWQzJ^ zgKUMG;y1K(T5%SH^CZtgwEe7OE3i{7@) z5lG)f5X!o^^7r$7@0_$MfYlUAvv_TNTOUjN*6R2v=9F)qMblI)Ld5md#KoAB-vZSB zmRjsiq*`XBsQdFGYa;_EgzysA+nI}CB26bSW*M+NT`$!KKzEQv+7d(DGuA3#r{%;A zfJD#axw*C_%Nz-A76*0B<` z%)G>Z5!%bh#c4Is^`%~NGe}^nf&<0T+ZwHoR=i>c1SS39QT1vzo4jO2;91^UInRL6 z<%xbp-dU{0SU_)N}0CZANw3PwFi zR8EIsQfMFZ*Ql}+xR27P?wmb@dnWq8ym}d);gCZa2MnxxDViN?Ii+~Srq06T6_dz4_Q=EQf8H}y# z9}F-o#10D8Y=z79Hm0+Q^Cx48+;s9<$fC;xG2I<;+;E&w7 z1iDm08?=jXMW*JD!|O+2)AX$tg&n#*`l@uVgXZ~a;y6o}t0rG>@ty${*%Z>Ue^%Z9@aY_#4gM)%hQ^ML|6O&VuA7L}`mZ{+)bCiv=J>)T zu{CDK!E2EdxzstkeEVqs#6+r^JiKT7IOHftru(cDeJ@x0CdY}amC5_;&BQ>Q7yt6^hSKSyFC`d19ij=uLCAVFCM?x?N_!+8^wAfi`>`tJuwWuT*y@ z+gwiCSa|&WO|$+;Qtc}2?1HJ&*u1~O`2$`ozNYP&#p}2l&0~`iX3*)iagmWd4j2e{Z<@fkzIDFCMSDrI)ix+uC!d+Smlq z4DIQ~gk|%Yh=Bzup1~pWvxk0MM~019(R9gy-tlYqep`3IYhyi^^)I1oDk-VlfO6R3 z7>MeBcCX!AXpp7@{s@5O>EKMhP@FfZ(165aBY$oUw>M zHgmXpzPa4}WDfSHoBoEO86f3m1igpuhHe)iKwlk*@1$XrK_hkYU7~aNffyqS1S$Lx zjFJ4bVS#=4M^KLTX+gg{>(KHH&4roTf7R`x>XrM?fYL*)hFkW+&IS;=n*JT$r>L+RXsE?r39O0XanK!M zg}nNW2&j>{=KTvDg8^BU3;G$5Y;mcrZC+gk_+ps!BU&S2Nsdy-ZHJL(Wua_&s!zjk65{COvaF+2K3M>~IO>A4Ge9TtH` zwkp%ja|cxD-{d7a8P6+&3EE9&{jJ*Cg@KmUV0XyFwOYg=wG=}ai}KNAMI;gZ)Sc`2 zbE?e;$kkLR7i$&o(B;*%l0dC0k8xF2bd2E$Eel{^1x~`11UhvUdcq3^FGA2nl1MX- zfO>3knot<51$`nfDx?Fb?V^~vId;~QDri?`=rSU?TH)G2hdzlzi)8K%o-zjAkSZoM zdDvShDXw2RyR*yNbi?@&mwPd-%2aTvVQno8qS1$bdTaElX>l9nE_jq^vHsEC@`O)z z$xpGtD<5dgQ3`M?<9)Ue>T4p%-kFM$hnc`$*&qZHH(H3_IDHrL0g)-1SA3WTcdih+ z_&9GxnCG%W76$(5^cmt!aEb44vT%79pT)VZi2Pa&;Y4{Nb(_G*A`Sk97&Qd=Axb!T z9hdYoU+2E^XsVN_pI#?A+pG($)0xHD0ksJN9xY8cGg{`P$LR;B2?l+4E z^7}oGQgKmmj`1BuS#g(*+e3lpXsk7Q3cYAx@#V`JAtCE}K+`u8MM+<-mP4OQ&S8l6 zv-P5c<@esU1jPy3_GX;!YZnFX=wucdcKs8t@WQ>y)F-DWN}J?E)x>&F!1FwF?sm6! zx!N$COtmHipPsL`!+vq7I_o!6lA9T5`@wGr^HB6nRYnhBh!@gB7_3^W{wFZ3?R$5b z-v=+EeR$#?U-E9gI2^e`8v$InW@&wc@TSY4e%B{+ns=%0!HgaAv7f1pA4VcRm=HoX z@0(5N@DeMJsJxYoEWDj1!cTbdb_;N1i-XO5J`WHB&aMi*kW{mXvQBg~s%XRO#cMOX z-)?>O<5qU6vk7&ARfsf~2EScQaaavWg36si0RqZbBYJFz+AlA36u4@l?hJ@mo8wSn z?xE;I8GWP^U4FZaYIjINKhF2>UM%kRV2X`_W@LtQ>N zL=mEBZ)Z>TRkuVuDRjW!&hr5%cILdNnONbrXEG6XewgY|y1$Up`S2BT+-vGZnXety zYdW%bR&cu`CmPI65gN==BaqWmIT&JRkZXT7aK$<>x>|B__N(Us>q`0Qd)<(xOZ%ew zv7H0aK-Xk@yDld>U>#lmyd<+wK44;V`_}E9V|l`Brnt35Px*LS=+c237wwYxigf<^ zHhp?3(zb1kvh4=4{GNRFim((7I4)=^zpPlURjnP7*${qibnD$TzK~973HVJ7 z6zm3IVL?ns80eYv1=lN+7>a&iHF?RF;IEZb{LNO|I6cXMxSo4PhvzHQq8cidSG z7*L`q(PC&10Gtp?7(yWv5X47Wj+D}4Ntt$^{090O($Q&X!M4o;Jk<=q#Mc%d$WVy_wFvSTdo|qQoB-7sFa`wl$ zrH}YH-y|ULFLP!i9diQ!6(vyo1@ZC-wq%q}qC1izlMhlv*w2I;Mk%6otK5pxTZmkx zVM}U)Ip*Wb=ibrLlQw(?GC>B98;=_z%qVb{F5>#t6YSEfd?A3=n$z7sx$uFs4|udT zK)`)qs^U)mt_wW0l^^BXtURRFR6~LBwm(hBl1--{@Z-yIg7_mO9Ic{NAJDmw zIa}3rTOyo&645sS^xj~gG)MD-jS=J+dduaMI}4>@kr+{7(JbpYS#WI?Y;ToNtA2&| z>SfC*-__NH^3f8jz1h93r_NgOdgUTeEOwQxL~H8YC1=;9u%7aYZ79Z$m|h*8u}9|& zZ3E}+g+_Pq>JmL`JXw4UcyI>`yl~a-*N4Nz3)oZXZ|!u(gJ{1x{m9^nrA`qSS7+!c z*P}@Yd3OH%2x#Jh1SwU#K#Fii^r$xVK>d2^_M(LRCxAtL3Ub>X~SA zL>4BUr~th-+Cu@>hj=I|=t~5pJ)W_v~t| zO*aURt&XWEyww~>PHG)R{8uZ8#gb4%ft&?S;{I!uL=veeVWG~#=LtafWijO13i!CI z|NTLbBg6^`^$DVxzq5W!_24tOlsAot)(fZ}a#&h}DnTcPz7*uBj~zfyqPx8hqVuNg z>nHlW%IP`B`VZsU&vzi-wQ6$^6Q&R20)&c(VyE@0o&*&FcMrq1aU*E@3dcP8fW0RTN&=3?HdE5)91_ujXac4>n zJF9z=0_zVLA1X2g9+^Ul7NdeQUX723YfEg$CU9+7$r95TfsuOp0u=&yxVqC(d*#*~ z@%p9;V2WTXwot-UKw%0*Mkfa&R5h`X@}!dILZ4c7wt42dNek!ZLLZY}$c*<6gf-Z{ zQh^jdOIeIfK&6*9e(;VmkN10Shfu+^Ankr)QpGvOV$wAk%Nz$$IiERO_8uwsh>N_s zMu?nvMQ7>Y$n}Y~ofD>peZ?6N*7d27zZsrIMud%tB&iuNM?Ee@1ODZ(D6B@y#)zR@ zQ?2JFhLT6jEVms8D`i(Kf(gVu?cXa?W%c5;l&%<#Gi|61HK*=Wg`)caXu^zGRS!5C zjeR5CqFdWyoiSC_SP$c(=xHbxg_wF_Yv+f#WW`W)C0-S#Z5_?ZJV~XDK+~B6D@`u; z7g^q84ZOcs%Cp^Fv}0Z}2tOX{o9)@k8@NpxmIEry>ce z6pnOM<+v++)@WQN&d9E7A=}buwhPeHT+-U#b{6_U2Wr#|#x*ume8f(Fm|{dsLf(-K za-JQ;f0O)w-7k{I(H=V&rfob|lr%p)i{~P4S=n2)lQK%>d`)kJ8rS`4t{%F|TD~WM z)#&EaHlv9w<6Yl=4PW+DIR{Ga?>%o^*?dt3qsZF|l7xg=hA~8%T|R_tMA1*HB0IaC z{@tz~b3L4MIh^|zStL@BVL3)w9@70Mvg7uQ5V8G3b{RMT0G$8zGIn+{w{oP@cW}^m z|L?bPwd$tLrYM5?HkdjS4^Iw4?f8i2{Hv~g{0m`t)s=vi@35@vp;aYLC z%5h#+pzF{N$b3HEL0i)|4l4mI#W`Pg5sRo;AhE7MKC!$Xw`{+F9YuDwFo+nnTOv zbk7Zs!sOWt`bL_`Gq zITJ%NEg=quhQ*CZtLtudRLrv~I$KwH?3{WIa2@MB!yVCfyR+iPB&Zb4(c_XRU+gg^ zxmR7Y7M*`x?de48Q;MQ{Rt)qj`joV4tna92P%Hbmq4(AO-9~pYnI?vNB}C-kLzPmR z!fBy(O%M9L#a)#ltcyK`Ijb3Rr|Elu)9oZdN<#!OR(kQFo|>lQ)XNqd1J#(^=oXL& z=u?1%3LatPq}2*&RH97feJ(e(VLw*Ua#S$g&5JuT2sx!-T9=3S z*4939i{z*1v8<03?eiN{?i~!pt1b3a5ZaXswcPft^6+u(8G5S47m4y|k@_>e!@|XS zdQPGmtL`KymJF!%q2Nd^TYW&-O$*8TmUjt}KM%ek_TC;@ z4GT|iu+0Z?<52Gesh7V$*h3PU1ZxXhH>erslw}l>3b5f?MOa8&@B|%hvI!1tSwweTsnk)Lzn5^_TP36t%pZl&Q<($JPZKXC*HYm(J*G#Q;#XhtUOTPOt;;w# z9ME7}76IV1rxmPMNvINQ13fDVJ|nN+$fDN#DeG@|brX(z4OsaTi6Da)Z#26;Mtny~ zJr|Nd1wQDB-7O9=n!M;xnToZrf>gQF-V6kmodOcBia7f0l$l+G6Dp5V4b3_Q6D)zo z6|PQVk$7nHZ>iI4KDC@g!p6q4GBch049@i#+Il{$)!K<*>MAfV{n4b$7Fdiz9ryX{ z@>s&ZM1f(~+Xsq_2VJ?JdS*}bi?Vdk>Ijh!XN-N|Hpg0j@1`^qD&dHo|lzszWk zt!gO{yf@rX90-LCZuyF*7^t~oxDo2w4QpJ5r0Sew({Ek6oj>!7u=dNb6=KXPdhIN5 z%g9(5t(j}9P_3)}#ns^Jd;B~rb^)$$ipT+)9i13`%i~hF443Ti##psulmpVM#OJ45 zVg04x4cx1=8~$sJY6}^@!TxdiI)pDjeSUCku+)1)-G7>@xR_sY3qOD?H?5ztj1GJnH!i_h7!JnIelJ+ z#w{BJ$_*Pb&uuhTqMmhR5{a%rUr0H|RZw{`&qN=E7K|D{Q_|On<;o~gpn?VS0a|^3 z{l0T>h8i!4yV|DITuo2S8&}V{O={naE*jayzf^fAtnze9H}z}3$PXwyPi0BxeZNoB z$N&QMuAJEqT&|7|F( zQb#bc%5vaCDzd_nW!=*e@lL8?)XQ^cOAGR0+Pk2dqzeBnFh@*yMH1(p^74DlABORX zmi~KU8e#jTWwLJ7y4};!VevlXNF_tNfee`0qKk)zo$~^p+1G0E%$jk>Yz+Ck$t{() zIB0n?>sK4k2Vz6^gBpo^qDzc@(SY&ZBQZc7Ma!Ksa(Fc%%f1gez$`hi&)o=8+7`5v z34qVZXVCo3%XPE52LJhe*dwO4g9ERV-HlV{`gwZ#SsHja$jilL3T|3T7YjaWT6%XG zcAeW}>dVgSea--904(@5N!`y2P)HDw1TN^~Jwrn}Qm;pueJ{@rCpOo4W^kix=Yr^a zA`X&mz?363hyux4ASg&Zi+pErOa9^<2Bp+Hb*wY`w0o1$7<|pQFqY{ zVmEZ{jwZ9fsx0v>v`5|pGzYQ9U*tUZZXN5)y)rFO8lKrXoPF#1RK!f$Sn zG}^Rk+hqC#I)%hB=U*cJDT=Fa+}qb$mrRDj6V3wAoD5E$3^@o2+lcRWA9j(bD`-q={q?H{cIJgVPd{u&6(@cTj4 zt69{x*sq^-%jtuU)2&=KU=yU{XFDXWU0(<-cFbT=H6l2cNOEF&vuzpgPP{a6h zDGn2`H;obnvNk!3EyY32E-uMx3y5Y^Y_kO4F6?UH_XuOqGT zf{$CQxA;9D)T+0&=?l6U|L~$%VfNV=C$aJ8H=+5{43@)zOwC%`WKsM&Sc4j&F4(V{ z5FgRzlTKp+$_qaGwe(6gs4d@JfV$Er)|m*DyvV(fQ~5^s&l^>JU`f?;2C*v<$=Jm` z3~VW%IRc^jMd=bCsbBGQ5D7nBuwLsSRZf(bmQU@$Nf42-n%zvsW+qo%3YcF;E3HP= zNTG%yfmj(I-T{Q$#NH;|UG-Qpt*Tc!DHvadSV(0qA2#WiW5P9+Kt=*gV?W^OZM+cAE$o(?HYH|4-oAj_l#jhmoG-!*TeC=cc*`QE6r>5 zcQ^w8=tfV{CgNWlFm8MD?tP;_UJ2(j7-K>jV?fb@uc~_rZvWDIRv-~@|2A-|Qu^em zA@S*&Mb6Aokl;#y&?Krw+kf&N{Vc@n=tX=Y-{pDe>|~PAjt2-Me4F}Q(kjcY*$`O>z4c{pA+%?X^gaEt(6YhgJMTz_6GTHu(14~ zB!F%3LD<|&*RNUFI+g#%1)hwHBd-!$TtP}-V5-#-P0OJF7-rAVevcxA^w5Y+>2z;o z%eeMCeh!z++dE8jXo5xG;Fvp+#J>O^r;DRj67kCZ+!eLoH!ZNP)i&V=8LIe_`zay% z1l=IXR#T%vX^9EmwY%qOnyfOx#dI|pdwSOKMuLtF6tw|580Hpf7c)KC`Q<;>{knaP08xGJNfV4P)&j~PlE2JvL z`hHiB;(>!oWCsdbLt_UxUSmW<{S}Amlh0aWLHR(eQaUPO<1U#Pt7n29W5(>&&9Aj; zh9Fw|qaot`pq5|8&weUjzrxAk^Zn808}=!Td~AeN0*2(61(=SZu|J8EN0)OjH^&(k z14}K=3*iI=jjgZL6W8#ahobkJ6PBDL-KTA8)@iR91=@|Xwob9j!lt-!{*Nq%ho*G3 zD(+CG?~I*$aUPAswu6wHscxfy!cp0P{df#S-`H6v`yD^U;H49&Sjp3 zuo~&elM*A!(nmPgEwoxOWw^@QUqSxZnbl0I=UvzX37_40eN%cGpx_Taln%}z;T3Zr zq){~_Mw*r|g0$cQxAV|gGqd>TFDg-_DX|E)mjlUVT8IGp`N=ZkeH)=1f?k36UB<}* zIjte#PKni(!ZRT?0fbj_qc=jf1+?EI}k8Nx|dA_9ue0!iEEESh|2t#Ne); zEr74m>;0IakO8VCjXwj?`Gn2b=e5xJ8<|6GQZm-Uyb92iq9GRkFz1Nkk1`< z7!{I(1vb}ymQ+!1OKxS09hh>e4Xy)dKhuot4qs%(PWWU=cU*Je6Epn*o#{EX{?fa0Qbp^16jCv$-CJ{I&2rC%<*)o*Bv4|s3B?|)UvXrR zfkn5CKt=`Q5_T|zfd=Wonog#7Z$C}xHao(8`9_%5J@0i;h$W30gfwzf^TV8R=wd#O zANt{%hdfO`arV2==~7Ey#`7GqI1bl=%G&~EF`t_)in|HrVI><}3t&A*l7|Tw`$QZ4 z2Dbvnqn^Fu;JMW-jip~elKr$wq^+z1S)OonbN;OT1=3mP&y{bFaj#bh7|9sIYEgG& z&|QkgX4X0uZ3e;5@c44HtB1$spf9N(r$4I7rjC@RAG0`8*m6lO6|K-bVZeq{dG$H? zZ*#}doNpQ2rQxU46!gmBA-QbgfdwKrD;rKne1hICvr?{9T&F;~xV5MYN|_m#q(H3= zY}z$6)c0+2eO`A3g{?v6p8h3w10*RBmrAVWeV!T_jR>S1|()A8zZ^83|N4h^iC zyKNv;%g`xScDH8PSU*lOs5r5mQ~$c6X2-A_o4q6ZvmF$z$hQ!-)FIlQ4g`0y5DD19 zxv}0TRoqMDFI*zA%tiCz-?w2i3m0|RySRCIo3uzqC?O=?m>^Rb-giQDFCvmy4Yz}h zejSvgsNhF&JLoJ8ks*KYd{fITtvC@@7{2_CMbFr+^d@ZSfR7OCe4$N&-+Effj%>Ia zLoTy9<#n_q0yJT>nY(#KSlWVz^mNkG_f_*+XR=0$LE|4H@0gNGMwZ#zF zmuq6r5zdBm#U0*4Lohs+1N+CSA+6WGkcmVNFSq6w5?Pyt21Qxy@RBMRc-uu5SxX@qtdEmo z7cvnV!cV;pSrdt)VBO#0YcGRt}H)nnUcT0~2e!n7YreZ!jnTVnCWA zOhhYk5W}}x#D;7EIKG8F1O zbw?WHkf4@?qyhDxTvSqnIeWF`al3I4#BR$KF&Qtq3xL)}B$`1DRp<3V^)c*f?WQ`F z&+?N;&7I}4iMJ*wkQVcu0QUX9%zvM*f8Ia0i~Ynx`Lb%k+#7s-?k4^KUGr*gxcyGQ z-&?jo#lKSVe?PrE#c`;g)0iHYw$`fV*Z;nZwtn|R`F;P>VFnZN;AXe6t!YosuJr6o zT5AKic|Hx}l~B(n2LnO1tkp+92qCJ4W|`%cR`jit|FD%z9dXHUS5B*)a=tRaZ?Da# zihFRjGbVKkTNH4|xhM2V+=OY?a`jh#B@ywZKM)%~M-Is@LIRz8H%eufChAX>^4-^B zF`mjG?gmhbv%RWgr|*c&8YBN)GIw#m!PiWs%mg~6;{&Ho^)!lDcCb>O0r0&>*ojsk z_9I_~kCEH=S8$U6>FhBb|DlRt4;k&-^8Kt90fy>SNywJlDAa;ia;U=o`FjL;eq3d8 z&K(t;FK96qg(@6Ow;UdR(ij&uoRevF@J9#{fJw&zV#=zXu@wdAtiyOS7<`?YEFUs> zW)v0Vv(cs)RVb&;Y(Ph5SQBm?MkH>7a0lV5??Ho}U1s=o9A0 zqX#@BCO8&1-C&qN3H{H}zh>yC)4KKVGwNS*!%tisNVP-bv{ibx4>mZV&ro-SQuuSY z4fdSCI}pDoPD<`|3$=A6X=(UfikxX ziIg_qki8@h0^~^S64&iVKN1R2(SN%#GrhJ6^O)iy$>qWyCYj?%+ExqLWh{NMMty)T z1((No?OeRRZT5^6-xYZK9goK(dkknilRZ7?Qy@bcu#p*CYY94j_Iohj*xLP7RUJsle-On1A-RYX&M7|7NM7 z7k-Ntpzaq!l}sxoYZm;9=C#)Cq9B{7%(yCY7CI+5$xNm7&gh57U+~kSt89B7Xods# z15KULaGTY?p7T=nYBO7HIr3_;2yNp!9A(B7W<@-lcAt!?dyT25Xp%6}m08K&FmTDt z7~EaA+GO99*ju^YB(=2w%xbusVZzH~?$WMG?G2b0Hm>!jE~-KmLx)-R@H_Bvn3kMU znp(`0UvhEtX*H%YjB$Pq`AD7Y$-6zJ2#lOxpkv*I{VqH(9k=(y9Lgq9fZ1F`Y1zkn z*=li`Y=t(HjHp6r$yEG7L%?8FsE>36zzc9y1~?v&rebdes(i9b&Br0!AgmhbWap}> znB_%??N`qk)=#35B4X574yNb6C?(_CNAxVQBoJvK>pg-K=t+yqv%8Je)dCO-HdG5Y zEVF~5!Co-#gD;!p^?u(7npJK53RTc&PuVu4Ls8xmoNPD^fJxrlWsRa_0LkaIIQC~? zc(nk<&4!`XyMM1%^YSr8t8DAy!@VUQ0iqjW-@TOERfu`9F7uGxxysxcJIIE@#c z#pR7*@o}1;q%h?HeQ6qs36`{ZuVR3BJ}i7TH&T%yA*{leLq>Cn_+&?FH^Qgnk&&4aHT z7;L1Z))Yt5v9bIO+Ik=T36x~o=QX8fDBGIvnUt3!|EA4b9>f;^T-Lf~o^`M7{d!>g zh_F#g5LG>fjfiL+v5Z;ErBB%v6{V{k(q=DY9Df)Y6cMLGU^Yb82 z{RMc;|LL4Uz_@2D8W|39oDls^@~{b0u05Mn| z@iqu%ef;0-llH$R=;+8y&n~bLCF%Bw&hPOTUJ+neS0OnF0V?NyyrA12RN-S!yv@8f$GUh20**Hj8kkL{ zzfOJ?@w<&a901kwn~o>~$e7~Z54JsU^#|t(p@R=nc*}=ex$P;1HGbP^(@f7RDRYkA z!nQBXPDMTVuE=~3@lgi@=39qJ?}#sg8LNuFQ6AFeX$*tI z*x;`1+EfV3+-eUWGQ5|7o*({{O_X?*7`a-FKw;Soxrwrvcri!)-84_Z*mv^AC$`@g zFc`FODL54dM1zmGfTGzZXb7ynO^`d;ioa*(jBrVO8pd>0f5pBPQ;qs8%s`Z&+F@h{ z%p}#550s1`;;K)0vG7lNV%r6w%izJYaLNNB1&{;XADg|~0H@;72$_@{&sDMPzWYb< zBUq>VJn_W@-Dls>jzRE_QRp7cUfZ)C?`C^{fxkk&&>YXz@w0o+JaQ(K<)!B2kDnr9 zWah>b$+%$2JdhqP?jE>}V81+&=**04QJ~pK9>I+-L2ZGxX|8G>Sd$v{-!YZ3n0c5{ z|DO9}l*ld81?&FMe}<5}tX#qNcx3WfNycs^I8qi&49F(iLX@{^E9Tq1Rj|0d3Z_ob znV+~8$1m=gf!^t;v-Xo1T(S1>=_+i8#P@25-G@B_js9 z@krJo)3WKcWye5xRPr1&Oo1Rx(PZO*5%{QTRne%XT)C%M=jZ-H*8;7v3YU< zi{vk#J6Yxknu#*Ffe;R`&CU^?%Ma$nv4-C$-S;X_|9W7%JE6n74uxgVxurqDsGq)L=rIkm5lf$iq5FMo! z_D*B|e1u+EPYLsw6m&}o%Lz!b^1`iXLg;rSuKy|mgDJ8(~{rme{)%;!6{JhchwRPCI@?y9$oR*-W1tS2iAMv{;s-fj(H!eViUg#5} zhgeghEBn2O)l3?A8m_+`R;8L_NrlocBmk8h$SN@@SA8lEH2Eun@^f$ssA}J`=V1rb z!6U9oFgx;O8@XqRbZx{vz|#IASUuA@@F=|M_d>cbgEzVCo+>dsQN8==h&bpwc4UzV z0XwrVhhw?RjtW$PX4^Z7?vb=En{?#qGV-@vk|R*DBcl(^a=4R+Fo`TBY{o zpzb#fLE`byjZZ|$FRvmu{AEcm1CYV!JAGrLfA2%4*0hFJQn_n-wyKqdIHWsbltru7 zu8rWnaYPY>mx()XlvkW1%`Xmv-(ul~1Ue%QLgI%-pv1jpIV_x8bN`4p){j63h@P zaXqno=73qDt#~3K2?(oVKL;wClL#wdaTTbAb}u3x`jYGzd+K0m2_K2_nrLUPv(8@W z7Nt&)DX7?-TG&jAL0AoD#t-2Nx54($sIUOq)HsgHaM}|so3!3b%A`MBu0MVZfiW&_ zVD)c6tu_ZC?Av%eU6K@jM~UaV9IxG%c2BCJ^GTz4C+h*0S`c|=_P}IUur%B`UJ}wd z(E%V5*f zS*H3z!R_-)?&a?F$}h@Shx4MJt@PJMV-IW3;IBYG0CWc~%Jqrd1C`gO;-zdq5di2K zyzc(%Y-|ReaUgb$06_HZPvLbM_xpf>gwS17EzCk|ZYSQkzxBt@5s?IVs7ZwQP3n*7 zSLx6lr&q@KC_@7Ggk}+0t;7O-Uq;RS;kdI9uf(NAX~E;O;AD=~`p{+K^7J{y9pUnH zmPM-`iI$-bDnq*siglFIHn5`kX&65Jw zJRFjrzs=kkLp>Iq-}Ms3Q6mpiBKhhNI_#zS{H_72#FuG$@NlNu`Q{gjV5v6yV&|zo zuSr1W7rF5hzo0MS#F0@rauVXaxMX#JFKEKcyR zM^q){_Uw|NDQjg;e{{Z*a^Gt|wv<*lqd%@8l#%UC?lhz;mG`RIFNG5`NAI%wCZ=_) z7Y;(Dq%E@aYMh$18J1C?j}7IS^#o0=9#irE}q zvKMzUazQyyajm}2SccihDlZCgFE>IL&??^MQ&h7~(^XLBsq6Ac!6>>J;q;|*X`4z& z3)J+@C>z_PeKV*lMnS9#h7bFp2%u~ebpA3nG@xvI*h=Cu(J2=#$dkN%yrT~J2Dj{$ zo|Ubc&*Kx1Z+DEC{})~76eL)fgxRuf+qP}nwr$($vTfV8ZQFKL7q=(&X*PD=?(-j+ z5qTr?JE!7B8SU_AW{7C3ewyJ6zXhr)Ws@|8_|4a><6 zQyMbbk5W4rR)@d6cf682m%+qM+R{n`x9)rLmofT%dd77d^2!;}N!*6F#Tt#oYzv-r zWTDGZ7nH&T%tU9Q;~JXdI%rB7r7nOG0wD5r`0=ug$k*n)dDbseoK2wWnCzHaXEtWT z&j#_O#&7OcV@jrnd^xC3J`Nl$pT>UUr(D#|2|z^;o0}rk+6;Cu{`J=Y#lKz2VkFpN zmDs#uq}S_$>|x$`-kbf|NG7t|^v#qQ3Q$!~+z%t;v53%nam-&tH+v?jkfC|xVgWhm zM!oMKX2_MRp(F5WH0=kWZ0{#3+MfPY(>hwveolkgc>dLl@0=$i({bm-PEmZh{Odx~ zH=9t)Jtyuws!C<&$C<#6;@c8J;JhcIhR3d&%OUKA0v!R8hsy7G-A@-dxnhTiuYxk3 z8R(Fgd~OvEr#M6HKzI66gAPyqDx7_2V9tht+oE)*La3{xp&-{n%md`irG%g`Vez`t z#isY@e@%P>D}XDEe5DLa6|_3??Fp#K-Ll#b!6o8$eJ zZBx_r+0NX+_Bvc?su(twEg8@HfHly@OPjy290FFQLwt<%XX7Rq4jWKBMIuFz489Y#15eAyIRh_!n7pdGBng zVkUWAxyXg{96Km5$f$=sjg9NPR79@=boEyLI1iN3%AlO}b|iEDdU(0Gxi~t7c^t*+ z&D)#f19JVWd0h9O2ZCfsdUW@I_q`4@XCduS8+psQfsVVL660GC`l8Ok7XKb4=S(C$ZX2V8!De zVVtTX#8QYLme4LrixJ*r0)+fkFbJXr&2p5mtJ+A;0z<}USfp-Y<_xtm$!hU`!&>KU zu-TGObiGFNN@%8Wa$q3eG0^X8{IK3+oO`0Ui75}0mDRdfS}v3d(oO?uiwB9*l?d1} z0~$Vnywu;-V-@X;AQ0*s1SIE}fHn@d$?EYs3770dIDCUL9bd&iL*?$inVK}~uMZlo zHKxcr3;q$I{zzxd6{()ET6O`3t>}HJ`mQclrT(`l*AGU0sY$J@g`F#`9N27Wfa0UP z>}`yJ5+%vQd0kZlxL$C9aZ%}L&SJvK zqi!untM+SV+6es|F#QXe0P@0T9h6UA@^E1XJKvb{6&_wr{vUH-kjeXzAS}uW=L-XC zZ z8ewb(Nu$rT0^AirfBB7FzH?I8l$`j2G@+haTHp*MrR5`^9MV`mg)L->&e*{m(xud3 z=XZm;s2{)9uKNAQro*Bjb6TL=!ARv9G;Xfy<*}r}EKgBchn@BCw(1woA z>5$tfmzu^P^-c357pow-!b4(|GWvT#xpuZ03$7v7$m3V)JkZKeQ$RSILIrLoX4p%$ zuO!>(|2cxZzg0=JGg;VdJ$$lWRP zNyZpj9{LM>WB&1EeCG+NvQaLhH|CD|27uzA$Cf*Q`I7k%+)~>I{}@?J0r4651<`D-dd~oXT@o5VG92bzKXvc_8dzIf*RO^6p$p$_&9fuAY!vK7 z7T|8)S(jf-eiMedS?r0;*KY4%U|Fc!@pN`23^a5ebxap-+|_lj0{XtdD&Bz9!cm23 zj2QZplm?E3@>LXKk1aD^LtCLM{S7eE{A=i42i#Lvu;-dT74a&IjHF{N zXFhP$Y0s?y@#a=p(N(+TX|@e?S#)a8Z`2wybm_$(|K2K!PrJ^w!VgYzk#1u(xwBg4 zj@m)_mS8q3vuT(9Bg=4R(i0w;8gbeY;6k-7iqc}jP~HF^9)_cG_l<;+@D zGLIZs%7LtQ@IbSjc5vlptX<1XncNDRE_$~CaI4zI;#hAT^>eZv&3?*yjB*3-roVi9 zFMPjYMk*FP=`LoM>oF(&t7O?;oF7gfX{7cS6lDatcMN%7Tp;jCpE?a6QfKkauR;&X z$WJ!(!grG73@w#E$9y$BhRi2h?|sw+2o?i=0Zj@14zE2i8cCmsO}?m|pNmZ!nK!(t zxVv^0)c+~WGpY>g_3t~0?@*lFpWpB?Lz7)jNcOaYS40O<1E^R^M`Ekme)&9%t49ra z3*M0`l3Fq$dG6$)T;`)D^F^`1m@$n@x(NoO+a9D%7*h2ptG%z-kAD994F0Ly`OLh| zq5Fyjf6 z231)DY><5zA;Zw*`DYWT#~ z1%EqtwZ=wS8~dAT+xnh+q0f1ubbway*PCx&uhPJJUc1zmt^Jd}jdO|~-;1260~L+f zqaHmEc)xEk2Xy23$R1>4kZMr{)dz|Ck;OgMtO{dGFvCvERNF5Hge2~|dlmnV>?7>A ztG}r{?>FksC6oWDrkA9})JK7<9gOQ)!-$Mn@hLgX#B|R|=5l-a1;1n^%>D=43vNvo zeYxFcJ?x+`<9b@_P;K)${-r36Ag7s zH|kxP*gI!)TK|7lUus@+H1z*G4KE@8zcls#yn6pE=ASFnC{1JPiaAd4NGnNOP&qYH6>(JAj@Y2eKvB#*E|eHi z&D4#kDo>A2D=WJbA@kRp=pGkMmpLHQ7h=qKL%7Uhp&u4PdvbxQW2RK=$gVMBlx9XO zQ{U0ho75aJrG(1I6N1M8d8{M=EMehD%3dr{QlvDv1Yvm zEcZhrJ+tJeFPsp)kNLrQ9Wr0<`dM8yO^>7mm>mf~Krn55iLfS^edO!$S?0@6^bD-S znyOsud_KEVZ_1dqyBZmLE~G&xHFR4-+}lHWq?i(Vc?#+0Tp3eYRPiB3w{!zOF==<0 z6s1hvxO^L70)8fEs8Yn4dSXC3Fd=%<8NZ6uc{CA?wN72rCtGH*VmM0&ZEoqAC&7jji1J-rNrA5 z!<2OT^1P7QnHw`H1J!lKFW$VYZhDAhX8&W<1*D+yq%WczR6e~=zIZJ@q3Z$7*o7yq z>pep0InF%TkUuOtlQr$)1=J~hCXy~w6Bm<@B~rLR(zsmV2vchP7c>CD&-XEX9SpTl z=Fr0Hup>tXG=?zYVg|)2l3|7tVt*vlzPdEP1P@45`D7U2>u^=Z9cM5Q80ZxdN}6GJ zA}$3w+81^Kb$fpUibY!*XN{PVpTFLrPsAL5oPT1{p<2w+1+0MU)RA!4J@iVF_D;+E z(%4UGFCyLF76cvfm3ivG`PemM5k|u~m2k^HhAc-}P83Njk|c7@@@tRJv;~i5D9#92 zjL(Pzu|pG~E1EzHWql(&lir=sz{;hp(k|)`gM{Zww8~~UWl7Lo7vypPoL;> zBlvH**AY5QuX)d}`~LIxn82c@{jA#)Geaa)h4P7p~g%ircfs3*~SWND5Z z2{k{Oi~M&H1Qu@s=`>olU1N8wIpjp7P$i)Mnm%$*4Qe=>3!oTqxe#rha)v*se?m|XdgjRE5fHm{S>; zEy!1k&>HZWzRWaeL55nltBvEuqXbuBy9JSSe5N$(>cAM*Mq1+K5mqK6| zUOnGsMxa&B&`Sj9qsWS65|S^nzd|}+YPki)VaW00&S(Yq`hs zUBMkDG}ITG#h6|}^!TzyD?s~MdUpRpZNF;plk(Ckbb{n z$vc|+7nC7DWU4VNG^>&GjBC3=PD!VkKvx*zBK`vs%U3bi9qUS5$T75CJG+Hv1Y7mDa z$bt;87UTgrNC#OfdttPcCf*9KC2=3Q?Xmlkn7Cn;7!gm!j0azNf(n-WTB1PCV0+k~ zatRknG7LJ^BFxWO1hi(k9cO5EmvJ++tBYd`C?#Xul>Fl_ezG_Rt{!wpfxrGpj{7QE zn2$4T5HUV*i$0B1R(IDGwEp(d`N;i!xf7$&n&VtihDT5q1M$_;IPM8;wchlVZt1l| zS6yL22n{>n{Q#)PTA1B_;i$%=8u}Em)F*Y+83l2Wm;b#3n>N9ZuK1c)LR%6v zegIhkI4SJ;FaK)o*X%L@|EB7=w=mXf8~Fg6*0pC>;9KN*mo)nsB}VL}q-rvQDE8Iv zNCX2}DMMO-$s`l7C&6>SyxwHJ$MfYBPnWuZPY4Y^ys>RGK7|31uLvia&*z22CjLey+hgMl?2BE5q$`dhg>s%WT*RES@g zSJ8aGu}F2C%ZXQHV7(~Dax#`ltr_b!tL_vz2o_JFhUGYE#;HY69s;I@l;~U!!11It z!VhrnV{@So2O4WAI0Af#T;MU_!i(IXs9t&~Pu=G<#`=C>#*Cu7CJY}A--T~w0WZb; zT+nMw1z*_q5MwFp$LusH(TUjQsG8pD-@UUMj6@YPmNS?sz2My+W?tQY_H5Nnd0D& zkhgG_6uBk246Qcjo;b25(noLRvhN>2ut+)n-rn+VZzB^*a)p>)+eg^XA(0H>8F7!$ zh>acL#4_fyod&diK}ztT`luW*aKI+@BIBB|D6pZVp1Tp_jO~q3a|;Ip+vt(Dh`R<5 za)a@Mg-}S`OsQvziTgsz*=^VHwz3)$!+w>20c>uG$Sx3H&&wV3+(+!PZcfJn|3p*L zD5vbK8-f1Y1oCwy|`j|~vxpP@6& zp6KH8cNZPa`3a8k`fgP6Hd^l$)U79mZxHk|$EYcJ#I6LMT^MDM5in?7KU^EEyP)a1 zCr2y^S4`T|*}|isPzf`AwH9g`0(t;70!k^=x1parx0Mw5k_QP~ccH<`g==S$x}#3~ zC{}152o?ykiv-KL0^5lPVpfn2N(+^HcedBHn0{`t|8}(IrmPOoNk@qhQaeR=}08AB0r2_-QN50?xxTbBTN97Ih z^ei-hgFHnI2P`UwwjN7Z5MbuBFepk@*0!b(MQaL_PTEuo+gf zIy2xEii#+L2xz5Q8e@u8pBkGR=-^VYL906oLXzX-`#rZ1`s;-{_SOc*qv2G9VNfXn zy9vN!xHOR#D2z!FyUJM<359TxnDWZP*_z zi5Of_bGK7@dBI1gP-01mJZksep1y+9V=>FB# z?29{uj=>LVFw#}Dl=kc4_kmTK-I&QR0_sxd?78EOj)q|~T-{8XsWfnZ?PXr(?bh>o zc>VF`elO`xJTL|SDVwM^Y7dc>(4LBTZu4=N9VN$9Z-TBNN*v~(fNXnV8#xx}Tple} z9klGPq7_$tC}8tk&G#}(ky{z>9j`Sh>#qy02r1`2UJwYO(4R00RY)~uuo=k0f9g) zQe{_0y*sjLTw?_AAY_AqhUMze0I&nqtP4XsUk~RJKKPHrsc3>hoRjJV` zRRLt`O{o1}ChgmTl+b7le-Sru|J)FzlY69?VGN7RfSRmzWKUTDzIAcq($EZ>lZee5 zeMDn_f!3vS?JL?l4)u9ky5S{r<*fiwI6~kwbAXr5C)dj}mcY)B1>jB!E_7xssU z*is5Z?XqWCq|pqhVt|jz7|n3YO^b2GqBXA6dJAO( z?i3iJIU5+Vq#n^oH>urI1$su8#(53$DWl}U1Br9G^o&>TjAD*XxoY7=7}v6BT=nGF zK=8iqUYZ4r$Nl+Zh$!1-zuSGW+fS<3yRA?2`lRFY5h7+xfc*7FZ!Z^2mZK)U5%|}X zbY5{1fd4k(IwWI$`JBh!V9NqPzTBk&bO6@)-nIv7E&saVa!WOCRZOF5 z@GC%uoUS^4FUh6dfTi!$TJMKQfy5%P0PBMvl~66gh%$dbIj?5fN3p~{>5)WZPS*Z( zYYcx|qRmF#qK<#n*2q)P7IZy@*Qv<4yk+gy{&`T{a?=5Fuc<>;wG80v-K4lRfQ#*y zlhA~`WkIPDT-4soP#(32uXU39Cgr7%BO__25XI6ng2CQ_Ais;t#aHHLaGFOz7<4Z8 zRsoWMU#axc6 z#@*M^>jL)vc|8B-cSBf=Yh(2KMcL!G_45z8`;)oX*Z)SJxflMxj`CjkmW@qZCEu^9r|Hs?MJ(acF=Ua#x-ArABS|AqW@5jQ#lX@KxFSY${ z&d&{goqi9mUAbaai7zZYQ4D7-R1(HWD{$z-1Ufh~7!C%iS4!`|E9Bi3p>4Jss^`%O z6r9*m6*ly>M9*TkuDBhof8{EpEu_Jd3An+pf?PP+TdwzoRnaS1RqD#nWGz(Jo!anJ zR3zuL5aCwX8I$|84UIeRYh9PRy1MSQqkGE8Brz_>C(93O*{OR@hEvxjzq{G=$IViV zf&7Zj`GiNf@dU1D2)pT}L)3(Zk$E=mJYt$+IS`+QePovvBqj!=(0+k=IQZR##zLt! zZufj|3nevav;2u_piM-NZMP_?2ZY&`VE$_v!q>J_=O0r?Qd6a{XV0^`O78g=4`iua z@iRzHP+Y3RoGN`5M$rkUP^rx~II+cP{9wbPL^^H|wb!vT!b0sSK@~ER^3{2aVNRmr z&MmEKFzQe3=To$ne~v;{&$VbVjyt%RNlb-Z)vY68Oc6Tvr6Gk5ln!1!{pE_rr6$yn z;GOWJ0lcrb;{y>++;KWJ*a(E`J6)J^qjL-Ta}fC;MRA#ZONT0$Z?5?Ri2lPq@8`QD zuzum7>H@Z)tda`{95dqgv!#e&1^6j*OD-&(5>1{L7NgLT>~a*C@Ixz|yVuuMQ;Zcn z1l&p+%A3P*N~grq@)+~r1R{nhfXXr6^jUCJ@9;b=H)~2C>Zry|VyNE$(2$CgDvSxZ zr$Cv-nqBDHq6#Zz>JMVC9;Q1n*U(=ee&!dgxYt@S)_a&ag!}xj$XA53zLWu`$SgL> z>=9|8kC9lXxI#thEjt|ArXe^rHIzcY%&41eqGzPSeBnQNEhPf7m?_MbI@JNKl)Tl2 z_2ggZ3(Y)jdi;pPfbctv*@-4Rg z`MkUf-?ho=cq~;xv3idylOv7o2e1wp&4k2Qz9*@3(&Um2fci}(+c_t+J>@hk)$9T7 zK{fL@vSnuOE%`HPtaP)DaK+bi)Yq>VFp<#BJFY|`e!z*xnHrXn}1sF+Z_&%@Ov7dTN)i|&@PnjGcfc{ca#6PmQ&O{A zAzeh}2h|2FDTmckbL{6Gt3iorv%S=(m96}K-d|tho9{I3T6Dea{A@V9zcnqKKWv=S z_;2t2wDqQOACt}eNma~~%7g9O{}umc3(!l|oa1zmNwHs3`)kad^2O->Rkw^L4-VfU z-PKY87ctNx6ufAaCWhDh;9%`#{B5ak}m?qd6fO+2X<0 z?eQ0Z%=Z)xGbAd%@#!z4lA#RRLliS=#&^)XYNRN`V1@YLzDD{Cw}) zbkiZ^E3A^MQOD$&S5eVMSGVO8Z}p9=OPx8)CS=eXA(3=L{u!4bD#oRq=<5+rgH@TQ zX4=@;)^Xqny{V88$4d7TqNXxfggp|YwZcLctB!#-8rkE)Y`KswUt{0k5{^TY?}jic z?+8fvicl4is2AWWF!gj2DuqFdX^k3dy2+D;+WJKUnBsg1)qx=Tw9plmE}mN2;bNye zYJ=R@N;x~v1GwwQ7zmlRu<`CqiEmh03d!dt$ge_I&^Mwva?O_7f`FsK)KpV9vW4Ni zpuTSo!6JwLysokv4YtOvH8Y!TvOgqtS6PsD}8p+Yb_=a0PAu5aZx@>_RF=~+ql4| z!`_FDL8!Ztra-s;A(Z(f;g@4eTW-Xj+sa39KMq6KSsU7Hgf~SNK<-LF?*_E>1W=it z-3D9uqdscgmuB+ln{(E1cFVeQ*F$9fa_U#SXait&)XJ>B@S@4~$!X-}-Bf7?xC8M- zGF_hIX{WB2>Qn#vZOvX>$CF5f7%o@7^z@6qOeDsWh|XH5#}0vL3qe}+jy+j5JXwv_IrRyaVyc#%a4QJj7H4M+3Kkbd zV$m_9eCsO)3QCv{!y^BgQ){))P5Plqf%zMwZneI)A+^rC&F_*=$+y*cwWf4Az^|p- zrJhH|+rJS)hAgF87r_HYW0S^%-MYS1K!>85SCGfn$il>DVb+d7{C?#G66 z?fDhqyFb86^W%5+xLqYpz%xcFYq1oeE%*AuOtJm9xJcB z(v-xnJr?ggT?pD;YrGJ#aj~`f)KH;)j@~uI zE%md!*!a)1V|e>NfGuA(mpC5fOHoU@76k>cm=>ksZJ3w1A(blW9}N<7peecq^UXI*;T#&6U+t|nnHBu1;$KG?^5dmxzAQAq_vda zJR}#&WdUv_e=Bb7*~JTb;9xoEHi(m@NO1_xbf_7vQ7!C0O))G7W74_+<=!giC<}E& zbCdV-?U*J`iXrztu*g%yggH-VwhVrKc#?AJygeDLO&NoRqt=CDA#mqS5yosy2F50x za@GMWr}`2XsGI_RYZ|Y4l3ArpEBF!`5fktkEk!)ro{dW3PLo;}`K{~hS3_*temaQt z-Bi&()*kniB%_~9#BcEoeh6S~uE@d9lBeZlEe8l`)o%-J2nwsrB0A7HhT zB-SF$73(Ms{mys%~`@6@evix(0Rg{xk zG$*fc#zA0u$7jjMdhp5@!;y_jMIL3G(~NMA0^^%*ZI{YqOL&T$Rx@Qb*6$?!b8OmO z4!V_EZ9UEvs4WQE{>zkMmJD@?Of{}2aS z9koX`(26-N`;0bZIO&`_+2~$uNTE*QBsck~QrPfJQ<%jP=fq{kUt|w_f7^Sl^m@HC z#JODrO?e^jJzBUiO){B~mMT3xgtKg#VbKPg%Q52_&HsW~TNpO18Wdvg$`MY= zjPemLc%oy+1<>7l_KLPXUgpHyqyQrj$o#$JnK=yu-*2-bPWSK^uL?v{Td3b-tf1N_ z#iVarSQ4IH4rFe*;6dI%bf4wL-McFY z3_`g-i{inXtoAo~Td|F6NMR-?4k$B*NoLeE1U7s)**|;6Y2qySVNOx}*{df($P|2@ zsVE73gBnccCuw>SxGoEI-PKp>0vg`RI;Ceu$uvdF-1fWxCY(FRK9>(SR;H9N7B_|~ zJ7Pc%U2hRjwEfzdaq?sD_Sz*EC?rk;9%|CHK*t<7ULJK?OhcDqKcL(zvZJ~50B#`` zH(k+Z65($!7~RPR;|Z1^NC7YzkXF^=F|E7Apjd|hxOE9*5=VKCA0nPkFadI;c0@{# zbYpg5MsvV((8Q7|TSBK*xmpMo8Y=E`UvK}Mp{lK>PZCJx#-lsZEJ>LCgE3JIZL>!G zuHi^zGo>60AyK@q5XgY5*qk{RgPF=aS_^b6l`r2>|EphDNsCkqB|DqLTCb8SW@VjQsf*U;Dz#JfbAFmd)v|bh z6tv8J4k@Pdccf#4HseD=QY*K9yk<0TIR1~C!91Pi;-Igpn`=rXSJi8|MHnhsnEnGH z2F;M5*o{l2YRa(k0^GEuDn4&!;~hM3%W$PtgbGhooRH1KswtmuqSNR_uH5w34CB=- zQLXBttLIevibF7P$m}l8yRZG*T~?VtRMTmaEv7{XS4V;V_(Zoq>Dbb}(haU?PDK?; z$?fA7T~k?)u2NF(U=**Ki%%@hMM~_6imKLe!e*L81@Cyky9hd+t`zGTic#a9Z_Rv0 zj#bM&=dv-jj(U$0_~s(G0SfBL6{%$jZYf8p8sC`s!|)Dx%b}Mo=9PPR3#b=YIR@m_ECbYyIdAF|u!){dD-Z0sff* zGrnkj(x~JQCYrgtRwAlXXRG{9)bp}5_j8rD7UV^Uj1T58n{_1mRvaW=N0c*4Ze-^V zIN)1g#Z*VK4ao({95^0>mkyej8ksS~0vj9P!!?anaKEWd>t$nLtD=$}Gt+l3YE(aH zHn=otE*X8tdNXNk7`5gk_dZa<2Jk-dFHE+x&v;sU!M=j-r45kD9D(5^SA|y{ihJar z{yY1>Z|r-OAF9ILP|*uVHb^eYNv?qNTkqx>r}_&?R?(qZ6f+J}mS!RBkKjR{1oxN) zBKc6W0`3BX&%4QpVqTY;yt$6aOk11P_2zhmo#h#{{Oc#+vz@Kd_;8a!_uCk^n-*)J zTh_a`m)%?1Q@MTyu|CKoSH5kQ0LxF##(d=PA3uLiMJkk_-rn0qd?OzA zxK4#dWYuF1L1CV!^K zhzc)XT!AVn@WwF8&eWp82q@L|TCx4sYQ0ON(n%m%Ww(T67?>!$>TL-B2s`tioW_VZkzQb=X5l$!F7!a|E@Ur52eW z)s>FE+~gTEYh8UD<`_}+n%Tkb0pqn}Dl!F~6B|@s^*5ZJ8na$GC>@3tLn??MJ6g+OnKa<-UJ(@1>Dd30Ad!&R|5xWb+P_ebhc?aUR0+Ge)C6 zU2;HX^N~@bJr}s(qL58t2WpVV-P_4yK1wzkSMbN!;DnvipRr#8&u2U8g}qz^z+SOz z8nWVc^IG|;daly(gHg*8>CXP!QSbrA1yaMi^tg#Zx!adoSlK@ZeBXST;- z94)VE1m&i)?VKUz(wL)MTizxplcDVa_CBaEdD5>xeTN2cYLKx^1G{N^SJ!nBskajB z(0!#5p$Vwt)7nzN|NWVIK*=1rt<#V9aVky1QiE@PFf?VzuQiH%waexzxg3&MeF&~e z3@G=ECCL|_OH(zuDa2Yn&di?Ov)U)w%m&V@tLI3X@!;}8% zuPYD$z{o#7C*J=c#o4*q8ksu%C&^Hv@(<3*0P_#d=`bstJ>0Yi3mn!0%VuD^RzMwg z0$$1GQluKkBPplV{PU)WUUm@x(}e+XoPJE`IZn)mN6rxTmJ(mSTD}Ivey>{9qLClC z3PpL%t8!D>EK~!dA~hs-q216K7+Wv>KE39nXSJZA(elD-rHnuzjnr+O+^Q*s$l7KJ zSAoi!>Ee=3LSw@FLe>rys6LMc{+WXS9qr!w9#K->0b>_h*L0A%cJFXO+?kGajdXNX zyR>aJc$HsS^9GR;pxU1$wtLt4kzKoWD3qdO1iqM;kG000_R#ld!9rVB#|D|Fv)2?yWHl5sssVRdw7_Ny`lPC|V^;=wf%WMslTDEky8j4Lidw#BV4k)w(lPYHR9+ z4ZNaw%$$#0_mQhG@4uk(X(v8BPVgvx&3rnnu4hz7FKqNF;Y@fCWhuV71tqt~OQspe zI5_ZI7TOYJED}ah#X>0u6q?3^+9qyg7>Y>T5Wm>;!I~tBIr(0%Pdkh%XZIKXgB;x) z-RxOjE`V_$%|#mz93%97$5tK>8*5NF$ho6W=I4i&r1Lp{1XN=?6Mb9-1Esh6n}~X$ zpXlQzbDO6_6hl$K7NAt{FVsq~jkTUiAN+K-8XkV+$oPSQ0M2MOB5gIl;7hkWkfOmr|i%?d5ho*u5=iTeIs01lR2_iC8}O8iC%!#xt5m>i4FUNdX$>!t6Xb$R35SyLFN zJLaVQNX5T0$o{kuerrC!8(BWkd64`UjEu^QuoV^~#hnw2f>6i^gzZmbvtghpgU=k_ zmF-ik&MA9^!7pI|AIG3|G0+#t6=SotW1qv z{!_3ynpbvPH%8HR-EeBDDH=7zkcrtW3^5}SIFe1J60Q`Za0RD6>ZQNN#g6-)$1o!YqN9I6H5M+%q;Gbt9drUCl5 z!^rr_lCDV6&c7vfm&ulV?+{YQxa1g z3PvSOoXk!Pe8E0W1QR4l`DyJ9!)=x+O5@e>S$t14+P!vc>QyQ9nr8frO=c#ROQ*JN zI~TEBCC036Uj}DC`eN$X8Q}v8GE)Tq_=rd&sWJIu3xb zROpYg2s$OA2#)xeW|9S_7OSO${FCRc!e>iW$oA~{f3A)1{QYk8XHQoz&(DpcEk_#R z)aIUG7U3Qt>KX#pML01$fZ^KZ$gXShRN6<sR@5wAtZ`u zh}MajNHl|hgms&Le|+x_TCFhXZnW((T>k48Gkup&6){l%Tj0IZLH6sE6X4vl^Koz4 zh3E3ah~Xxt!UWOu>F2O@v+vlp*4xu{`??!Rt#k7-cG&va%MJG0KIc=la$4iDhuLa> z-{QK`a}&q!d1&jt4NPO$E6QpWDQL}c+j?iGEzH=C4fjz57t#*qRJY~L4N^4wDQABj z%$OTF3+{thl(l+8>ukLv7;Z>t+Qt9Qa^2g78J+cW;|e}k#}!}a>bljiov-`Zy5f5m zdA0hv%B_v~34q0vk@RpR8;;ko%d3M_!-gue2)^RXGpr7O2{(3f^JhnK4B13xexI;5 zuyL*7ZG4`D7BJNg5S7w_{nEyy{kGYz;348x-S@nUOAwb*R63Ke?J@FC>6#8-K{E^c zNd;$QqNFq7l1xUSD5|=nbEMVr66yu`6B+nPTRl?$qAr!7hp6crCus1}qq z$<@*}*=eWZ@VN|s#X73ip6j$-SiPPSOPNnX;$(`E_6)FX5KkhQDwuMpkiUFIm6;fr z&ST!cf3ZSZ*`V&pc&hE%565P-%}3eEesxN9IM;OVOZF|Dwt|3^Sm)6!B9vJkOo_1^+E5s_^9-3V`@2Byex-A2ijY9SQ| zc1WgcB_Bje*o63R8J@IDC5S;47a9NF*5%jipJ!>H&oNQZbn5pK?O;V(v7I{XVn4HBFLmK z!S?D*k{YsVtZ#@5aF!a`q++t%X#W!Fip@68CO1;jbJ=3e~0>K z*I-o`LhU@Md`>IyzJt}W#TB*--}T66icD2$<+Du=H-Br7s^+noT89|ZaiY(F`%6gO z=I7iN*hA>+11jK~%CR2)wA(EFB+$(i8PzocDz*JQOqL#KW_e{P{S!FFS*VM>RV=w{ zDM!IMdwNpF(GEKbisQ=xAR3n)Db%ffoDY+psmvKg4&GdH-?(#6ZBWzYyz@NCpEnAa zAKj+bAZdf$7}Ye$ua*5>CiAT$~g@Ab?NZ# zkF6YJtw{38b+R`L6RS&+T8-ozL#&cqS^3~1(`78M2)k1K-r2i4vmQb|nGzxIIU?Ey|Jg*u5< z)i0m44RS6Av*NKJf!JC{w-OmPvdIH*NjJmpb%VvdDqTx1c+u^WI63MSD7CQ;{M$(G zjM#MI@a;rM$tMHd>sCwV7JTUDuQhxzvfCo0<4(KZ(=clgTgUkxu>dD1_9R^ig zVnoaar$%6v@2ZxdC(hXpj25qHwg}wO@5h^uyJRma?~e+9{nOj4M%mXjqR|hKJMZ1l zFg8i#_m&g-TA|)EPkk<&RUh|+o-@Z{lIkrRy{N`MM7%aX9GRo|R^qf<jVLhp|EqtU~!~nkmpV|gZV2HGU z?+WER>ld5^2))S@o3LUi*!8@8+j?As!jfp_w}cp~Kr^O5@r~_cE3vyZ+9)9lmR2O*90Nb|udzH&ZWq0}TejPNYG>n3y^`xi zBqW*jt}|6|8!ye_Yoxil`|nf}Y?+i%;cYr*-=zGv#7L8kUtpR2@CE3pw{EOoVK~4F z_FHC9yOIi9|Fu{A-6_237PZrgPH9SY%@u<4#KCam;ojB#z&~bk<>}06*%Z8YAo8LA ze~;MBOD}RG|FSoWQU80yc6M>Hv@`$Dh`qym;kCt)`1?tTK#Hx{P(Ia$%40+Evh|io|kEt+< zBn50Md@PB3p}sjC5ch2J!KW%{yD`iBfS@B#FhJ~`?=yyh@pIZ3PuIDPa3Rl^k7J1L zroM^fG05=fPrKht?n2S`Kk;r6?yD`=t>_X#{7By4mhj-#p;opn>&E+e$pEnBUduLa zH}8}db$70toEF;F#eX0P2l%0UxX|l(f8u&9LN@=upk(xN>p$W2WqGf2bAR~!4Z5m5 zAF_=7x7vOe8r$fz=uu@L1zuU?`vrLUJpEPVc6%?`G{D|(&-tAlf_*DxECYSG;{k`>W`!4ESZta}gzq-D*SMT?` z-{F51<(~pafr?;Y3ZNHH#*7R2HXsf-q zFINgyKMGyVpSi%T$%6gMH??4{1vvY6f-m;P;S0YyH0|V~b1yTt*)~cpMv7m75k;Ej0 zrLUAo1frP(ox(5J#abTyiH(5&V|$#OEN~1|;|(-5R`soBNZrry5m+V2LuSbTl6fA4 z^bUp>f1x<))eHQqjIXy3pCk!eRc9GdkX)P_i5$!XDjVA2o0LQ8*6!T~^n1`xZ&km) zqDO7wQ^6-~M4q3KGFY+u*RlqpwDzS=aJ=z+2L3B<9w=`oWO1D%6fjFZz^2=E|ITKu z;!Ujm+RuJn9p7sIP`zFO(B1}E#oYI{uXi_4{x-H2$gDhKb5F!zq<;fo)&+il=W8`O zZMRP+#O`ec)EA@%7z_>;2l@+A-Uv5iZ0MBng)8SJ=SO|jam{MMzjPq6g-L_Qae!uP z+cbA>3&%tBne$q-aM?W|-vqgH5zG2O^a17!K(Hk)z;`tFC*t)`P-hw3`n(8M807fz zvk%tav4jh~_KnmxK>qE@)X&HLF_xm+8pY z&Pj~Wg~nlQry#~eFwaFXi=#lZYZ>snK()!Jzpgjqm4^S>4x&v=frK9WhnTfzLe=r- zhoL_Xea-1lud@Hbn27!{g{cMrSOpo1n}Z(L>ub1;ATY@T;3mJ#5lJx$noNfsd!G-X z0QEf8Yv$0U!SBt*)yeSYVt8}%bFx2w6{Mn0LX7o|0ZJg~Z{z1&Bu>IS@rSwf^DF`^ zCyHY{!gQs`9r0uXe!^RS*XOwL^K*;g{K#d;!28#(@5=qA{)WxY;cn7{V> zhzB|cExlE%dFJKU&#@n%R^VX^%LzKwxp+FdMS-aTwShGOt7P5zh>tPsh3NNuCAwpE zl%4Pf%IRuW6`B_ybT>fQF&_J+VJg@MXeXil0yt#7poPbG*lo96%#ts|>t;qUGLU{L z_&a+>PqW`i;5#V}TH21Rhj0hdH`?ZCl^0_d@wg$2TauM7qaiC~qXzZE5q+Y)4}X}M zPr#|6K`M&ZBe$P7!l$8$K-$0iK7LHjfuRE7FR+&waHL_1KMFy90J2Z;1{==0G2#qu zUW@4ipzQ7VVq%{AnI4c0+w8#m(mr-*hgxzoL@#<|Tkh-FPa61_5%L|3FOEkdlHd3P z_h6>%`Yet*y^#i=0Rv0gyeE@_9C+b_PdYfujEr2n~i!Wz%+lN$9YP}uU+e86C4h>MYrB`szgPe2GJT7&q7=ok9no_yeK z_yB|H$Eozb`FbcRc_C$XjQM92i&aZ#_kt1c{bMuP4d7_K$+QB3FhHrrxC8zW#S9B9 z14fkKM4x`bYVsdNoDnnvto`1T6e0U%v&{88j+}2g{p7+HIn4Bw2pSm!6}iv!K`TBa zB!LJL@*ydVBwM14+~LD+0X-_X=|DTkAn;14jo^NAtx5Gf3FReNenp( zqcf?U!ues9m&2}`_BT<%V0gdVne*%cZl7qEz9FHe*xoCSO4Q~|ECu8rhy$0MB|+fG z1oLS+f%On58Sh&nC11$-4dLV5Zw}Wg=$AbhF;w~%Jp=}>!j`3v7FU!ZrUk69LH?N* zo?_0=fe_m;jARE}1SFpB0pJ)k>^DB`Z%#OJi_bX0NiY%2#SQd)J&bj0^2}d-lc9zXcb*d)8R#^g+H>KrXb1p-Kda?aHb4;`)gy zZpd_u# za1?bUXO7yl?fP1cC*0kLUUYge8YqVCw3wsFfg5*~WesjyP|+n^S18>_=;^s))xtWs z8&RMS7b7P?qH6P1zW`TCEbGA-9_Y9Mag(q+oeqeD&?|`1cgeZv<3-kamR~=3x95829R{JqWeFCT zl8e?-_WhWI3yyTFRt)`Qa zy^U$zG*3(qp$c<9_UyYQ7L|;^ii-`97oN>e!I*bpG&BWd8OunehF8h9W+G@qiw28< z7A#swW03&jUK1Z@h5w02ti=Qb8D$N@wfwB}u-Rz1w}I)DEy%t|OpGZ2?W`{q9|LxD zH{mKbI0wBGN0`3YXH`)ehg5OSJ*bWd^@&++`#7Z#hxH(j(I)r?K#krp3;^WL7PN2w zTxg?%^jwIw`Me1&08VdeSFGkxS$w8st1Vdw^CovFgO?ujCbEqT{EBJamN%x&@elB1 z%*pX9{2&!9qH!Y4h|!=5gS6)!Y!x)Nfg*Y6#Nct8_+2<~(TSYUe07z8HBUj30f51c z!G*)Q95yMh410@(B<8$Bx{o0QJp2qh?WC7~7)Sy(|Y}IOG$!!Ip@J+$H zGA;n@CuWM;fcS#MBd^il$5LcLBagH-1f~a*%3vVx_$ETan%kJ~R35Qt15#`HYU40saVtmJ~@Mcvh-K~UittKz|J0lOX4 zGNd&{fCkKa%N-1O7LC>swrJIIzL@p@Ofl(Yh9^3do2-%tlqnOrR(C2v@A!T@2B1)} zvT;vuZ3^hj>DL|Yd2Au))3mi*&YGbm$BM8iketmk`8sblmBP?@rdZt2>hj})Ms_D= zp~2sgg*br=1=W)bRs{?8^LIr}W_e3&?gu-Rg;BePrIAWZ5>#anuR|J5vzSpUGK|+W zKv)@M*Q#!Qb*p`9HX?t1OW+jEU6W-t;TQ=yGh!c51eAc7Xq+L+cMZ}k9-&7*vSnfdVUpyn%k<4#RwWJ(;UsgkYVoBX?t=Yf{&eS z$phq62g<>KL;Fz4?P}I;jrAeS2S)73C?_FEHp`h>j3PGbxP+3{Ru$S;WhqQfJt&4q zdLe?P*<#g{h`l1A3*(apT{*HX)hZYPN4t^c3f4wS3zxxZ7Kj|d1z#crv-Oj;{u5+i zFc497c5jH_x2aHoH$~nI69dK|a1QnY#SwK^G?5p`G5?aVgbDJDOxtgj*q9!5x`zv+ zhq8BIejZi>@nQtDy@*wS>B~8 zh(FQUw!QRS+pY4(e&lrU_KQm+>(iMLojTl#a!xnf6#e0Pi3nEsIFBJWDL4&x0X~|` zpkRIN49*G)itWhwQe1X0TzmrN-4wFJ5iej4iI7#1_tkcOxr8(ljoEF zrDV}5i!S5?VxRf^r$+aSZjjo|^i-339G#y*mh|aRpGi~8OJp)ecaTGGkUd|!Yj zyRCXJ)wvbs40Xjbb+}Y2ePDK$JB@(q=TBO`EABge=4bV|4DVbd1UG2cA~GCPGV&&X z`nQa0!KKF%E>*Z__+NobBlsCiV<3p7b*o_>qScaoliV7&>Y}_uzLKm_;$E5jk<19! zHcE&1ALrkf=7TsIv)lB_Yxbi!ZM0iU$|_8Y zpmRJa0mwSJaO09ggU?V6QNeP8#vU?Hl6i%`b6E^U08dXas`fu-4skoD>5vh>JaS5w z>L%I?c_3jCFw@ww$Y9dBxg#(kDU>K?h3lH) zg*@rmU&??TRyk2@xJpPW;Np7_3M2-2d@0gX;w1Z&Z3rYXLSL3Vp>A?TkK4`;#8C=a z+nl=|!T5qwSGPC2eY{9ws*-u9-$9Y#1>pZeu}w{YfPgBYp7mE`SO{L;;L)lL@3JQ{HI3U0Sb$KR zz>QX{%j6QwkF|PqMbYPAEWA2NwoGE6%!!rC@r>zCS(xn?Oz?>EG$bV(NB9diRzoA5 z;D{{jwB{6uzvnUJk%eY(Sf%rs_oI_Qe_%0&%$9a~H~^>FQbbPay~zG`qFB zOOrUnO=93!6CWN#;OD{~npnc4L47U^)B>G0$6BcGo&}Z6Y5&xM z7lV4Kc?o-JaM67R6B4qZiQzQc%KAerQ;z`u)A!V4+{11#&L(5sP*F7Gh%@nMxRK0wu_M11No z!uUsyT~f^!!Fc8ZULzMwPf=~kXJraBZ6175>x=N7g$a_uMHB;DAQ)y3w9*<4jU4kb zUP6gQsKu-~efOsn(kz4u5e&x^cFI8YG9Wd!bUuZ*O<~I5C9u1R#Ge}@0%n++7}!IU zFV2mpAu3RZWiuW_nLQ61{fpq7Pw8H)CQ_8-OVaR@imFj+B^IF2#d)#qM%^|*ZmshTE83=+y`aNO1rcrG zb3y%2AsK`4z)oRbE@IebE)sm$xS$etLaX{Bn4IfFQ^X5h2Y@*$rKz?iiw7%rjZi4UykeMoz~WSJ_0O(>mLu2QQ^ z&MSqM*}F1OCE}5P2ZJ8wH|jaIvy;-nTq>I32vokZxqd&Tl@lKcFv8M+`ub~$@>no$ zd5$oTUCjuQBBJFaFUgzO*TT6aHEZ=cs}Q)rKx!nCLv=ps_QVB-m;#sJdhQMeLBUL+ z>d1jH!lMr7hru%5v}Dd1N^D&reUhcX_UDv@N=Gsob0xmSijRV11i38<(ds9Tf++LP z=)m89+`J<0L#TdK^!!a5yYJ0>LUM`_WEDGo!!~W5*XpexGM!a+sNo(tmc5% zf3t4Fe)MwiXoO`5?f>n!+KfGz zp=pF{CTiERDvM1^JxYt)W%Bo%D&Q**$w`EzP~v-37~e6#aA8zy4uKXq!5m74GzL4}QtJ&rx@ z3C#`~&j?9FKfF|TYlhF58MKv6s_ZdnLe)#4Rh8ifD6I-Z=Pi4B<>WV|#>7nBLaBzb ztO1_L_6GCNxZ%5GbbQhun*)LDOkY)Nm8-h_Q6B8C_BfCAqdCrx{bA1B4a@LVX?Iv` z``sMxzju@m{Oug!ANMfth+5@i;}IICT)n5`u?1iv0hAF`zD^lu_#$nr=3idkEB!S#j0S-Pe;&Iu4X?=6-yJfA7fpXid-fiRC zoHoXq0V}VEHpsrF{4kpa*w?2A)YqFC)UJ&S>}Sm!jGhI-?Sdj|Xrh`bhm`50S@sN9 z-GsU(pMD5G8Ng=u$Ml%!6!1azTnV}u$-934}7 z!iiG^^Q2D4wSINwegb}pgBL!UNC(<=;kBU?wvEvd000}Kuy3IqmEfkH7y*kPE@ zQbub`9|(w*{x+$yIAxxG7}Qnu?VLphDpX#*eVM7GDyp3ws-Q0{wh>a3M{dL6%-+ELndRN6sBQJCW9A{IY)Vw8t{lXqL1qB>tnBU2E`{+t|f6DxGBBHsE21~ zF+=|e=Fy-`n3*-Ka;d}MyZgn7skMtlP%Fe^yLQ+I-h#_-3@DPxUraq4moZ#ZW>40_P}wU6=_%$GB*HG zL}Y3Z1A){zrIafqaayoFFmnJ{eM=le0%hOH9Snb(%s8s?c(2q67fYH^t5HD$+ zz51|eB+Ft(NKYrt+3K2>91U8?H|lXops}9N zXjHzbbNW>1$%OFZ`n`}=gVD82d0S{w)|CVg*V=^y<9jtJ!OY*PM8P;Q#xk!6^v4wW zaz>KUX9@zE9&Xy))@;9pK0W-_q{6~9B?aQ$s--VyrVnFRV#qZ!LF-7hYwLd}imz*D zT6W|*Lc<~`&l0L^#^m&y4BdNIU$O>R5$&@3X)`&*rytyu3uHbW0$laintB(_WEavy9o3F zsP`);l+m9vO5t9b<-JXJ1H@*A z&}(ONwZi5nVZjr_HQ&6Z4&*C<9Q~A+fj4ET|11xJE^z5N7VD2O!vp%sKIEto9&pUg zS2N=P>Lwk$AMN56vFJWlQl)1)nwkf0H+)0bib}ULC*4jpaQ!h+NIcJMD)Ipos(QGr zGVBq+knc2ewgbC6#pY=GlNeczcS>L(eq4@dh31gg=j7uLlVG%uzd%CpYk=~Z0i~$^ zqaBmx6~+tkcmc4elEuM$A~=WBkom#_k!vNaWfqzuJ~PWUf0^5n#c_?b^-0w)x7#7p zj&Atd}OPRe6GXFVO2oLh87<#HPrTsY5Gkevz_6ud)+e*2-a9 z`Y|3!xt+nm6LXmgV99;Dh@yHKQ%s4{tZI31bxWCg4-Wv+RJgF-TSSE}cfzptWoot5 zvj1fCxT5>}W1#nxMqV3RhLNMLl590&{pltcuck&PC>TE*g&&orB+*cl)ncn8iCypG zsenwVg4|+SQzF;(WE6KTo>x`hAjS2g6&=e+W0(r9cx@_Nqg#E@VGL(KC|LmYPzr}E z&C;i~d|yO)TjwNF$+tRLiWKx{6i8|(#`J1K7|u@GcvG9c*(>kyb+}Wa3;a)tNa1#| zWKf;9c|M}h5n*!bcr7S+{G1e&lBD6b%pB``{8oW^^;`&4!SVVpv?L6}!(!>-Ba-+` z5Tla+eO#PIq{1J@v_H=L@|&H~lf0av;rC+BQ?;DUg$2@dd1MBxr2#cf7fJNyjoBC~YVWUzh%Jj>rtr!Px{7x3X4k5v>q?5er9z{p}k>dr>Xsfv^SrFQRg9 zuQH_a6KT9+%y@HaHpogW$Q*)fc}YVs$kd)NGOS{u1Ni+6qzbl$cxKLxM&CN+(zOgBVEcFZEnuDGN% zfLuB3mQGL$_S@q`%yPQ@&5*W%(cVrGxUBh+q9ihXw$0go;W`GXaeq_!kyo>Rn>gw) z5aQ*N%WzYf3L4^l^Ljw<_LJ)AL+#w`YBeYd16AP<~n^aMIL z=a+@OKs+VAeBWUR_|q(5vzE$J-IPxClG7?(Xi+P422m8tS( z=N%3pZv6XS@qBJyl{ck{E;&49;ICy4$nl#KhT*T*mz}*W%T}sNY}49f}?SDPGGK`-dFB0bO3+cAd6Q4COLN;qgJ% zy;Ck#-MqdPZ87CO3P~h%Lk3(by}O%K%TkclRg3lEefp1}D4f>gUy0IsY*c6t?^_F9 zR^s0!7W$t9pN5OSr(@pS>4c;z+y21+YXBp!4(3RM0sxRB002P$f1x0EdnapCr+?0` zUQKEHZ3(2lFZCA-xI|{GONMq1xTIOLK#*h^1n_HNgaMSzBrdYeth+K4`GVg*eO3OA zlG0do zQS$5ky(sHWm=HJTmt&o`$)iU9GRN=zv#px+e0~}?f44{f?r%*$-+pBi*}@ zYFeC`ga|e7Y)w3jIQ5Px^8=P zNt~{322`bmk@~L)v1$hwAZS}2^As)?~9 z_>xO)#2lwWNRFs=qMB@FviJ8|Psc9Seokwnl7(lr7m#e`z@dHTp#kBjr6WT*Mq}tx zw_m0?H|S$D1^xaRrAuqoqstoNvP65bUbI29Cj>v!zd6}VEfQz+02*BueZ1+QiGa%C z%%{?IgY6lfDqG3oF_!P?^h$~mHS?EdlVXQwLNo6Ma@uYU`b!_0={>q3 zfP@%wlgj$9;fvFkBEl;~7+et!h$zOQbT}qFbaf3b&~COx)J|hcRW?~&O|T(JFalq! zBEl#{|G{Y#lvu;EqJobeTt8w3RTho1GE$>CboFUP%7cV7zZCQj%Ww@Lz|(7n`QiDy zsc#QA%zb;;=9JgV7azGxJ(f-oma3CjUhc79%MPRveM5bjqu7z@KFjI!M0Pj;Yqy(* zVz{WpSQU^IcCexjV9Ij_+u%x81BY3sb&WyZGZ~?%U{{~;${+>#+Xave0+#s$#i*0~ zb-&TYwAp@xU`M-8I|4pf63(a1($F${`4OihV4yzl4L9%ZCWd1Ic5>(xqZe}C=mrvM z(ybh3v(lAm0Tl#MAe~(ayk8@`$U;*Id@Ke$-X;O3%60D_Kt*@YHl)r62%H!qSR_{5 z|D+1IK(VcXA}z4qL}6bm-ofYg5GDmg#`y9NpSk zC_MmI5yB?s1#ywVvPEq3dzKg*XHav#B?-BlnUtXbVB$5TOiL=${RX%%H8~eL$S-J* z0guLsc7JIa<*t=t)u(pIFCCOMaBG3W|(7_kj+`d*BMnLso}= zdB``^K@a83!WD>!!LVvX=tsUhnqrF;!o?%9ipRc#K2=yQRHY6U{N^Pe zi!qL;OY0!Sz;6WcR>^-3JjncVQQI$h{rYD@?518kiwrlJS9wI<)Q+r)d=x!KLM?-w z$?>1to$T?0gkLzHkkLc0WIcSRC)20z^u5GenMcCy#9hd#0sY_)D&h}bfC<*7obDWZ z)0Y}*od?klp_rr-8>;yy58Az=SHR<D1Ikf zd^sojweKF9h@Fn~0Q_tpmAz>DtSD1IErWsrg;iK4a%fzqXc-CZE3iu*c<`VimBPc- zQ}hVKP(~b<)L3_<3{Z*^GL(!0VhDKGVT|}xcJYZQcIIi2UDFo+Lv~)z6U5!(qSJ6M zIax5;u=B9)g~)z{#gL5^s1Kc%pemV{8a5~hg;jjBnN7_)wGNQ)%d|$$1_!%_LaoX3TNDli~OFOrQOT!f+LCx&+@> zFoRq6s<+T7=J+6F?ksTt6BC8%$*~vNHMO|eM>+1xa$XRwKT8H!5M?ne`Awag8?`j6 zR5Pyo)_RyF;(I5FM5uTal(g(#g_h{{bw3{93k+2i%Q?+befZb-)93g&j^Kifvtf_= zE%W7y=UhCW@U_;OE#Qxq2 zA#ZlWAA-&P(}^PX@}kNI4F~%sZ$0N?x-tS%VVRMGs^bK|$?DcICw)Llv1cc_a&=$0 zV@YLSE3Yca-W>AyR4Y}xm)e-3=TV~Ca}YCQO_H^VbBTUZC+NUdQ7;?H;d?V~(_)>J zs>OV>y%jR6(Sdb%HwDKE=`#)TVQ#qAvsv(TJhBBm$c0{@;SDw9I&|>G*EnYHC(YnY zmoOplNb@O@9v{{ez7*dnu3&GtE_(FO?90!GjQCyY9m`KbQumuse((}sU z0#@ifojT?#E#Ze39Vj2eGUH;h!UEf>ufJo>eZBd{6(TR+Bf_@gPcwmz0<*#(&z>kx z#7BORTH$sEEz=u4c{;&RjgOl)ySgX7IJix`$>$HrT|K+->BF$;o$p{gy2S3$Hb@;? zwP^|QeB6rdxa*CVfy3g2j%qC~5%2RC#uKBwZl4Ioi_;{xB86xBg}~QV*(a+{z0~4{ zrsPw`(2$y_jl@8YF8aZ&wnFdPZFn(CcKG#iU4wu2Nx+&5>@8EGV{RJf_-!=sU1=>j zB(d%^UgN^inEQ7-{z;Ub-nZ6}qoD;O{C0-8GrkUcpbCCb(TZjLf;SNzo{3Oq(k+oK zQ+iwN=y8O{xOd0jSn8FWL+~v2JSQK;5x(j}lId^8pZHaD8QRPf9GEYeXS=->-}oiG zA^6&iZiFr8xdG|c%$G-W^*OAks9svgJ_J3KX+j=g-{;UF90BiU-%2f0q#k+6aRXU? z{z|}mCfsKYdf`d^b52|P59`ZRggejw3#HEUf(EgPpSCkj7nD4#&pzcIa*w^$|FHN52PIQXZ7Q(VV z_g!)vdLB4ehI<^GD^mjh%A^SQ>qK{*rj!$+9IKN1#ZG%EN)6mYz+rbF)c{zaZX@r@ zVcXMg@cY>-HDl02_xjiU7`^hsCha9(@`oRwp#R)yzSe~8zTua3%LAu%i23O+eep?f z$7y352lqGl|4P~0scVbBzyJUHtcdcHto0;LJ+QoZ< z6kj&kA~zm>mT;0H1IN(Ww2%M*9iW7w{@dH_kx*d5joEz~3exy>`{n58#um)%(U}5! z#hTSR0^6f630+(F1y;!HMQh!nz&fPm#SPnA<+6?0g4Q<$m$4qCz^Y-c(9-sjpjHKS zc>cthJ7?b9%Fxi#01)i|zGUFo)Iwg4{_}gwJ>M~HUwXEU>37-UI64Ww*-OSr?tCy$ z9WKUU%QNZOaHy(~h)UA1MZHojr;;xyP)xlDvjqmqZ76bWD(%`FEZ2eBf$F72-U`(F zaz1i;tC95h!$hURuuZu$7l79mT9KI{qj)maKcbb=n=C8&I}JHMIuI14BJeglE`PkQ z=JImxmcF>iIh3AQ9>I`}I!)7{1Nl|X=CNrYP2!U8G979Q2_YS-uTvt;@SU&|pI4z$ zG%7DMRh~!?Mc2Jo7nR5)bYu3z`f&-iOS+7bcZO&BkE+5Zl_*US_w74360eQf`?%N3 zB9?vhAyq3%Y>iJb{|FR!C_a$_6;(o9Em?g20Db%7%D|gUQ&eeI5|*| z#w^S-i@;HNA-BcT4>Tp+ev6>TsPOH|2TdlS9cLJ?j}ET&9T@kN@zA|DdWH3r-3s}$ zJ(1DL?i4#!&0*D$e(ICi`1Gj2yo)$v6mckcQ3T8hQs@+&l7@0it;Y6~2lmTSI#F0? z&r5__|8H*jZ-FC8emDF%d#ao4ZBdb4gKyUC(obFh9@AfJ&FpeC9&a>0r<)`H$3d1$ zJoBIHh1MVH>3BR-E=x{1^pZ%TexmgC*R@hEX}yOJ=LImo&(Ph{mf(3Q`;}!JLCUYV zP(SX!<&(J>{mW8Vs&VEuI#V3BIVE#PBHN{%&i$DzDkj8r`B=_NAH0yhDU~xH0hRr% zTSq2dY2i=Q@+p$@q~&o(kxY`^HV5Hx6SbOSp#UC{g+UTZoA!ZKA<~Mq84aPeBV}V* zf_3eMuJ8a$d)tnnrNv#A4md1+i4Prv^NE3B3=v&vHYl~YH!YkdsRQ72?Va=Yo%*UA z-!Wp)>fvLL1{hO&PAs%-LY$hLDfp>uDx|q;tlkBp?Mtooi5+G)_M9b~{FM9=itk}> z&A!@`zr>D791$K{^4;j)>?5* ziBlDl$BCKbuz_Dg{Q>{CTr4F3oMV6h01W@@ei8qxTsV6=yO`Skr{`6(wI^an_?fHE zIJ*N8abdUgR!v1$$#SqIf}n6vEJetjxdS+JyXD=M9yz`0?a$9Z=$ zc(uJCC$tWlV>m*_<0J?A08UpL*+U){nNfj(kt4!1W>(h8(E3Z_!d-2h6g|NyPfinu z20j8ooeHX4LU>kWh@OevUZgZ0ciJ1EoY4#ljYL)!NRF#cRoFj@wgdM#2oocewznEY zaKhx%O1OF(x*!gNOsZ^8N8Qo)CK4b*SQ`r z4z*w(b!Oq)pw(Njg`Y2Q3l6?lww2GjSo~fEhz+mq!WWwFRM(((+N8z5m*`XlL1dFu z6KdtA?ej_9S?i?OTWv2{zori*TNk2!`lmWf`(=(1jb_qu`+BL(I3*~>+Gwb})94r^ zexL#eJAg>uF(q1HzfF35f z{jdLcB;J)>PQ=3w2jUB;Bhia{H1egFT+Y8oMkZ0K&_^e?f94&hVC6eB?WC^z`3oA9 zbUY8Lm^A&ICP@nroH_zbHJjkn71Yei$~tdFvUD_UJ&7ZVHudY|7OR$EV7 zT#SZt(*@zH(TTn0@sbB+dLmAcMrt8Wv@n-}C9I!QY=Y^IqA-^;ijXoRlf_fCG>S;0 z`ku8vPckUUl)NmLgvd(K!3Sx}eAiU-_TS%x&L@)UGzc>ruuUnltQ?~C)iap^`*EzA z7pGWzLty44>rAqgeO9)?9$>{VjVz_hTk#%3;(}m zq)EU56dwTqV1p9?0RF$qh>NMS%YP!1*w+69$5Xc-=oCC_Du>Eayj)6jy;|K}i5r<4 zIs37f9RcLOhPgya$d6^wzuy;tL_jG1tZQ?UZX?m6B}KDYcYoT?k!>9%X3%TZblH^yfPDgIB(_1MGn%e}4?RR-HU} z(D##5mJH;nQYy+xju<%PZ+swbk3`;kqDre$vP+s=iCi=f;<*-$DcyP1P-}>nLNe=I zgb~?V2U?RFWTyOR6%AQc6++U6>MGZ=YLG}h;A(?@m8zmuSs64fb7FnEaRxvTbEcW~ z0CH1MYJf*+sh&E)lL}!j8l^5(q;<3@qprD>$)!1Hzr|~0jfxR#IRA*s?9xsIqclDX zO~{Ktq<|bv;JOQ_h(un9iiAf)*NkFYw@Z~sqtIdCrTWD3wbbRly5sL^fL|e60?E83 z>2&iEpM9D6wNKCmDqU94lTv1>Kc&(h${KaFczQR8DJfd+ZohnU3q^9QHI)p zzE+Ba8^MVTa86P(C?S^ORcqpblWwA&H0;X@kc*jSU5lxkYEU0ufUFKBttegkl?KW~ zagV&A>BmzvJEAbiO3*c!zyH)ifw0 zq;^b*69-fs)lw#-xJKrPffOl?as&hK@Dld)sKEl*h~=vQS=Pc`lwoam2Yp`ziR1v3 z3SF6TgS0_NnT5wO(e^F;p?nh%ERzI)C4lx%S!Z@A7F)J+$PE6UYPC;u9<(d1IKhE| zqinWsPrb?{7YBq7SITE8tUfqF4&}_PVfdl}x3SVs=iH!EdeV(u2M!i;Yym`}0;8W& zmW^sgKpsvH45%h0M$Pn6pz#Tf7$b=>#3rOyWPo^B_rK{7M(h5{l%iu(W-n4vpcbAO zq>}<_6@`LX@~gs43)3`Sv%>XYPpzz~$015CVJ-|1K<#YO4ONI}#^M!#Rx z+}d>NUsm-`sp(1cjjKo}uzGxTsw+ZVodf9Dd@V+CQ_U0@Z>_m?>5Yh}F)!?N#A;b1 z^MS*=bE0q!^Pr*JnKgq$2-Z;n0$4@|(EgP zYs?K8WBOC7x?Ogd+k@E*ko;r}*!xP4#qeKNFzGX?VcIwCe%R6M3o^QJBmVcMc1s|M03J``bgl&} z#oyPfC!#~rrA=ZWj=drMgW$(wmDU30z4NwYg>S$MITenGtvdpPT<9_RuJY35jl`*U0l5d>rHv$=I&^)v^BY z3|lkqlmHOL0R{x2(g%bQDQAh5XGkdTC^*)T**rIVu99P_5LrbB{3mc$eBK(N3o^Ys z;)k^iwFnX1(>Fvx{6rI`d~%y#LZcJonsx{BnD{W^4UT=80sgq)NAZ)#?5w{dd9&K#l2smQjV3;@xvLhd|C!uIhuX2v^^HR(hsmI2k zWAIW42e#WB+ae~{&0X&V>^CE!2C3jFbD<|;OIF2{@T3c76QbF_tTDhJgT(>(F-BK_ zJw$6u_kh6I+#3i|X`}iAl4KPXR!U{mxiJgv(z+?c-9|W_ia=I`|Bff!J>1GPC51tR zJ0r*hwFvec=zJ6YkUb$~ClDB*-voWaVdkjJjbIkVO;Vb+{By$VEtJS{Jh?gIoY~`58V=S>|dH5>&)-l}Okz~Zh zq-f*QnKRO3lq|nN%8#zs7loi}V#N#&eZoSanqB91mfaGc^CPMh1(^(})|}vwo6#s% z8#iLps)HC2Wud3++AHORZFv zx4E}~^&BeEpxkcewv)$ECcbeB``wdh}114y8Q3O@V4`92$d|XxXs2V;4LOhacQGY=>RI@X4YOY0f1|=sBBFNq`GA6 zBudKU%k&VSOQk0bh*C)!h_JBF*a>T?PPjd%Yu9Yi%*x@}dv~o=>G+XCM_*fOY%ACY zBnqvb8(uK*`UtkE1i+fY#cLo#UOV*i7a<{ zm1Gj&p-YYl@1Y}25K6Nkbj?}la|HED`Iy* z;=P`GHiqBg#CO}di2uQfj3WYl=^LSzI)sqY7T}P0-GLdZTtPdHZZ;GcGuHk-87S$` z@YIHDWZLcZSRS=JC8bUS9M3;qyM<@ArJqdFJ(;VHg4T{4XY3A>h46VG) zj`Xpxs|N%-d_Oe`Pv!Mh=?WZ}i<+Z3e!B7eg+=@8I7y{xRP)JpLg&7{lqapm<)V5c z4Kk~I(mlq++DotSI}3b{@Da+VhOC;4n$b+$@$0}Vf8wp?faDVvr%P=n3a^{{yh!7f zXf~2;v!!2;Y&H?E$E~mR+JJF(M`fZ9p`-`Dd$8>Jv=j%V9ObSJy`1?zeq&4F$GSBC zq&-P0CqL{;cl>TrFV0Lj(HlLOp|QL8Z3R=fE;A!BPHtV$dhwmx(o?gW+(z0~Wtz?W zEkLZA(NuVp%QCd4^2vV0p46=jyi?|QIKS*lpfexc^xBO9SMH4S2S(6xt8B2uOGd(EK^xXEkmb2GfF_6T za=%D2QNf80fK5A4RClmd=!Ew)O;d|G21+I17&TnBWdCT(RhK&1O`A%z2>YW&J zs+7YqC0_YP;D`Ok_WX9)0d-{EQJaWV(HhP9Kb6SZL;gpdN#%7RiJ&xCPm}(uP_G7^ zpBl?agjK`{DH5ejz8CzDbju@J{^&t^MbQZr; zm7_gb847jpdE?AOJ;m(mN{IN)O#{yw6TCKbm86CrKWZ8zolQ=%+>_aVkD|eYUK_>= zwog2Nu_(1StVZLE?2(%4nT_NZ*LS`#x;J{-PhKI4oEQ637U>srv%X5at6Y&5rt=>C zvTsRt`oyYSn`v3yROxzM`7Fxr$K;nDzo3p>ytb|2NyW`ovU|e+nUQbUzx|`F@7aHS z#BAk?7)dE-1?g=Ls%L(XXZ_8|C+=If&dd4c z*^Gy4d(*8W{wR&b-B(kt2;E?)5Tj;l;dW#ARhyltUuWKQNLX)jSUJH`O+wS+>qKi~ zfTuh?@Yf(eEnU7W%$J&fy-Dk8_Lkh%DdBA@d@o0jmPQ+;Ja4d3Z{}~BeDWx^Jw}W% zXWD~ij`IZ#W*0t+KpS$>OPvZPv>X}zu#S;xi#qJyvNH#uG6l8sNOP{@DwP$za zK=44HwddOv8$Ebr^iZSrbi<` zOSQ*-*xQj^v2NhtLybpwZ=Tu zy&|X9CM{RV_516;2ZBV?6fYTvRHl$Ki=S^$`d}d!@LVyO(JeC-S*hF<*_vbfw$sbL z^8qnWR#~}vzfjAclnKf`=dM$4wQr)j!jG4YzDCt1i5T=yE)P^-b2FHc34ai$%F*UY zz3$LECoh#Few&9|Dg&~gnp97abyBUq(1J&DMoD-3(ZQ$XOJBJgy&n{w2(7ZF4(xo8 z_ad)ZtMah*pTAFCATkb#x2D>qOLqr9IajScq;>qzxR*wNbHU|9E%EyAGB8ta4|pSb zvjXOR%dyj0f1}#(r2uQLyQF_^Dqi&s>)`;lr8IAlVjyaJ`zsISP84IDHpJY2Ddye% z#4TNB`o6*`8RnU%N9?>Mi#JA^#$^bdIh{P1uTz*NS01C~>9Lv`c>C~Bq|YOa_B}!L zUW&fCT1TZ6GrWHN)^kC+8|yv?AH8{6xk_9rmKJ7FEMs{`W&EymR_%A@RKU+V?JcTP zemxEQ4J9?Y6nv(ID)SR1?M5Q!Y6ZjH6h=rF%O$(6?x3AoM+>m>8hz9H{GeTIkC6Mh zv(+WDW788~U6kWS)A;WcbghfO$-om-23pd++CDlco9fsmN~#tW+J2I&6u+V7bYnMmKI-VY1#y{;#)qDcuu#AI77lGG|g}WcJK5Aiu9^GqauD z2L%%K{VEA1GB0$>gojt04?KZf13>|f7!&XSVYvxH;OXQ-+W;{Q*cYZoRtBoa%#79N zpFLWZg`vr#`A|_ktHp}7EAMR#O(T0_#bLFa%qiL zXuXM^m>&W-5o34mzXGuM8hVcJYZfBr*u77NECxX%&Wq2Gm#m;ufB!#%3z3K>upb7& zWRg>x?qv?L^LG#56Gi<8+g||{v169kI;2V>#KzQpiptxK?vexG23d9iySEq zjg$k0iC#MJaHE zs|yj0(nRnfX-yd|0qmZh2a6FmM1{Tr;^*P9a4ZmRNuNMA?jwNA1BlF$8Q_ynoz8?q zKwi4}5eR4;QdAz((p8H=t#UDtOWfAT=fFYkE@&S-4#6dfjuOL3kVP5V5CrmZxzVX> z^WYFP&JFJlmKg+0C~A{%39us)Ft}|&Jz9zJ#Ndz;J7-*J_6Zo~Xk|D=;pqy9KL`p^ zic;K@%w|E7c%FfWSE>aL@gk9Y-LM$s@KO#WCw~L(G57uzvX?4mhtF^O*t& z@$fGA;z6BVpN8FW8QudgrIgM2$EO|FZiTW6OO|vL@zWJi!kV- z{rfhr1`HOs_i!&6kF8cP{9J)gZfGLXfZ++Dzy5rR>* zPW9(^fSXI^HaIDlhD>4)IugkysCADzNWIAm@KB3fLng5o5d@RqZ<1K@j!yM2MFw%+ zD*=x=yvRR?wX*`5#VPp@XThtPa#$CiBC|NPP2nu~!FUcUW)#j^J|+)`z>g$xAU0EQ z$l?JdI01f2fkTL#jar 1.1.0-SNAPSHOT - 12.0 + 22.0 UTF-8 UTF-8 @@ -36,11 +36,6 @@ - - com.vividsolutions - jts - 1.13 - junit junit @@ -53,13 +48,21 @@ org.ringojs ringojs - 1.1.0 - test + 1.2.1 + ${basedir}/lib/ringo-core.jar + system + + + org.ringojs + ringojs-modules + 1.2.1 + ${basedir}/lib/ringo-modules.jar + system org.mozilla rhino - 1.7R4 + 1.7.12 jline @@ -123,11 +126,6 @@ gt-jdbc-mysql ${gt.version} - - org.geotools.jdbc - gt-jdbc-spatialite - ${gt.version} - org.geotools gt-property @@ -156,8 +154,8 @@ maven-compiler-plugin 2.3 - 1.7 - 1.7 + 1.8 + 1.8 true UTF-8 true @@ -224,10 +222,13 @@ maven-assembly-plugin - 2.2-beta-2 + 3.3.0 - src/main/assembly/all.xml - geoscript-js-shell-${project.version} + + src/main/assembly/all.xml + + geoscript-js-${project.version} + false @@ -263,6 +264,45 @@ + + org.apache.maven.plugins + maven-shade-plugin + 3.2.1 + + + package + + shade + + + true + app + + + META-INF/spring.handlers + + + META-INF/spring.schemas + + + org.geoscript.js.GeoScriptShell + + + + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + + + + diff --git a/src/main/assembly/all.xml b/src/main/assembly/all.xml index 3fbad418..1dda5d6d 100644 --- a/src/main/assembly/all.xml +++ b/src/main/assembly/all.xml @@ -1,6 +1,8 @@ + dist + dir zip @@ -14,7 +16,7 @@ bin 0755 - geoscript-dev + geoscript-js-dev diff --git a/src/main/java/org/geoscript/js/GeoObject.java b/src/main/java/org/geoscript/js/GeoObject.java index 2bf5ca5e..1e6d5cbd 100644 --- a/src/main/java/org/geoscript/js/GeoObject.java +++ b/src/main/java/org/geoscript/js/GeoObject.java @@ -45,14 +45,14 @@ protected enum Type { Number(Double.class), Double(Double.class), Boolean(Boolean.class), - Geometry(com.vividsolutions.jts.geom.Geometry.class), - Point(com.vividsolutions.jts.geom.Point.class), - LineString(com.vividsolutions.jts.geom.LineString.class), - Polygon(com.vividsolutions.jts.geom.Polygon.class), - GeometryCollection(com.vividsolutions.jts.geom.GeometryCollection.class), - MultiPoint(com.vividsolutions.jts.geom.MultiPoint.class), - MultiLineString(com.vividsolutions.jts.geom.MultiLineString.class), - MultiPolygon(com.vividsolutions.jts.geom.MultiPolygon.class), + Geometry(org.locationtech.jts.geom.Geometry.class), + Point(org.locationtech.jts.geom.Point.class), + LineString(org.locationtech.jts.geom.LineString.class), + Polygon(org.locationtech.jts.geom.Polygon.class), + GeometryCollection(org.locationtech.jts.geom.GeometryCollection.class), + MultiPoint(org.locationtech.jts.geom.MultiPoint.class), + MultiLineString(org.locationtech.jts.geom.MultiLineString.class), + MultiPolygon(org.locationtech.jts.geom.MultiPolygon.class), Bounds(ReferencedEnvelope.class), FeatureCollection(org.geotools.feature.FeatureCollection.class), Filter(org.opengis.filter.Filter.class), @@ -333,8 +333,8 @@ public static Object javaToJS(Object value, Scriptable scope) { Object[] args = { new Long(date.getTime()) }; Context cx = getCurrentContext(); value = cx.newObject(scope, "Date", args); - } else if (value instanceof com.vividsolutions.jts.geom.Geometry) { - value = GeometryWrapper.wrap(scope, (com.vividsolutions.jts.geom.Geometry) value); + } else if (value instanceof org.locationtech.jts.geom.Geometry) { + value = GeometryWrapper.wrap(scope, (org.locationtech.jts.geom.Geometry) value); } else if (value instanceof ReferencedEnvelope) { value = new Bounds(scope, (ReferencedEnvelope) value); } else if (value instanceof SimpleFeature) { diff --git a/src/main/java/org/geoscript/js/feature/FeatureCollection.java b/src/main/java/org/geoscript/js/feature/FeatureCollection.java index 753d32c7..66d3e1c7 100644 --- a/src/main/java/org/geoscript/js/feature/FeatureCollection.java +++ b/src/main/java/org/geoscript/js/feature/FeatureCollection.java @@ -6,11 +6,13 @@ import org.geoscript.js.GeoObject; import org.geoscript.js.geom.Bounds; +import org.geotools.data.DataUtilities; import org.geotools.data.simple.SimpleFeatureCollection; import org.geotools.data.simple.SimpleFeatureIterator; import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.process.vector.SimpleProcessingCollection; import org.geotools.util.logging.Logging; +import org.locationtech.jts.geom.Envelope; import org.mozilla.javascript.Context; import org.mozilla.javascript.Function; import org.mozilla.javascript.JavaScriptException; @@ -354,7 +356,7 @@ public SimpleFeatureIterator features() { @Override public ReferencedEnvelope getBounds() { - return getFeatureBounds(); + return DataUtilities.bounds(features()); } @Override @@ -465,7 +467,7 @@ public ReferencedEnvelope getBounds() { throw ScriptRuntime.constructError("Error", "The bounds function must return a bounds. Got: " + Context.toString(retObj)); } } else { - refEnv = getFeatureBounds(); + refEnv = DataUtilities.bounds(features()); } return refEnv; } @@ -496,7 +498,7 @@ public int size() { } size = (int) Context.toNumber(retObj); } else { - size = getFeatureCount(); + size = DataUtilities.count(features()); } return size; } diff --git a/src/main/java/org/geoscript/js/filter/Filter.java b/src/main/java/org/geoscript/js/filter/Filter.java index 05674b36..26b87312 100644 --- a/src/main/java/org/geoscript/js/filter/Filter.java +++ b/src/main/java/org/geoscript/js/filter/Filter.java @@ -3,11 +3,11 @@ import org.geoscript.js.GeoObject; import org.geoscript.js.feature.Feature; import org.geotools.factory.CommonFactoryFinder; -import org.geotools.factory.GeoTools; +import org.geotools.util.factory.GeoTools; import org.geotools.filter.text.cql2.CQL; import org.geotools.filter.text.cql2.CQLException; import org.geotools.filter.text.ecql.ECQL; -import org.geotools.xml.Encoder; +import org.geotools.xsd.Encoder; import org.mozilla.javascript.*; import org.mozilla.javascript.annotations.JSConstructor; import org.mozilla.javascript.annotations.JSFunction; @@ -158,7 +158,7 @@ public Scriptable getConfig() { @JSFunction public String toXML(String version, boolean pretty) throws IOException { - org.geotools.xml.Encoder encoder; + org.geotools.xsd.Encoder encoder; QName qname; if (version.equalsIgnoreCase("1.1")) { qname = org.geotools.filter.v1_1.OGC.getInstance().Filter; diff --git a/src/main/java/org/geoscript/js/geom/Bounds.java b/src/main/java/org/geoscript/js/geom/Bounds.java index 589465ac..136f6bf5 100644 --- a/src/main/java/org/geoscript/js/geom/Bounds.java +++ b/src/main/java/org/geoscript/js/geom/Bounds.java @@ -17,7 +17,7 @@ import org.mozilla.javascript.annotations.JSStaticFunction; import org.opengis.referencing.crs.CoordinateReferenceSystem; -import com.vividsolutions.jts.geom.Envelope; +import org.locationtech.jts.geom.Envelope; public class Bounds extends GeoObject implements Wrapper { diff --git a/src/main/java/org/geoscript/js/geom/CircularString.java b/src/main/java/org/geoscript/js/geom/CircularString.java index cf623e58..b356d42f 100644 --- a/src/main/java/org/geoscript/js/geom/CircularString.java +++ b/src/main/java/org/geoscript/js/geom/CircularString.java @@ -1,6 +1,6 @@ package org.geoscript.js.geom; -import com.vividsolutions.jts.geom.Coordinate; +import org.locationtech.jts.geom.Coordinate; import org.geotools.geometry.jts.CurvedGeometryFactory; import org.mozilla.javascript.*; import org.mozilla.javascript.annotations.JSConstructor; @@ -82,7 +82,7 @@ public static Object constructor(Context cx, Object[] args, Function ctorObj, bo * @param tolerance The tolerance used to linearize the curve * @return A CircularString */ - private com.vividsolutions.jts.geom.Geometry createCircularString(Coordinate[] coords, double tolerance) { + private org.locationtech.jts.geom.Geometry createCircularString(Coordinate[] coords, double tolerance) { CurvedGeometryFactory factory = new CurvedGeometryFactory(tolerance); double[] values = new double[coords.length * 2]; for(int i = 0; i < coords.length; i++) { diff --git a/src/main/java/org/geoscript/js/geom/CompoundCurve.java b/src/main/java/org/geoscript/js/geom/CompoundCurve.java index b782488d..71491532 100644 --- a/src/main/java/org/geoscript/js/geom/CompoundCurve.java +++ b/src/main/java/org/geoscript/js/geom/CompoundCurve.java @@ -82,16 +82,16 @@ private org.geotools.geometry.jts.CompoundCurve curveFromArray(NativeArray array Scriptable scope = array.getParentScope(); Context context = getCurrentContext(); int numComponents = array.size(); - List lines = new ArrayList(); + List lines = new ArrayList(); for (int i=0; i lineStrings = new ArrayList(); - List lines = cs.getComponents(); - for (com.vividsolutions.jts.geom.LineString line : lines) { + List lines = cs.getComponents(); + for (org.locationtech.jts.geom.LineString line : lines) { lineStrings.add((LineString)GeometryWrapper.wrap(getParentScope(), line)); } return (NativeArray) cx.newArray(getParentScope(), lineStrings.toArray()); diff --git a/src/main/java/org/geoscript/js/geom/Geometry.java b/src/main/java/org/geoscript/js/geom/Geometry.java index 197732f1..282d79bd 100644 --- a/src/main/java/org/geoscript/js/geom/Geometry.java +++ b/src/main/java/org/geoscript/js/geom/Geometry.java @@ -5,7 +5,7 @@ import java.util.Arrays; import java.util.List; -import com.vividsolutions.jts.densify.Densifier; +import org.locationtech.jts.densify.Densifier; import org.geoscript.js.GeoObject; import org.geoscript.js.proj.Projection; import org.geotools.geometry.jts.GeometryCoordinateSequenceTransformer; @@ -28,19 +28,19 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.TransformException; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.Envelope; -import com.vividsolutions.jts.geom.GeometryFactory; -import com.vividsolutions.jts.operation.buffer.BufferOp; -import com.vividsolutions.jts.operation.buffer.BufferParameters; -import com.vividsolutions.jts.simplify.DouglasPeuckerSimplifier; +import org.locationtech.jts.geom.Coordinate; +import org.locationtech.jts.geom.Envelope; +import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.operation.buffer.BufferOp; +import org.locationtech.jts.operation.buffer.BufferParameters; +import org.locationtech.jts.simplify.DouglasPeuckerSimplifier; public class Geometry extends GeoObject implements Wrapper { /** serialVersionUID */ private static final long serialVersionUID = 8771743870215086281L; - private com.vividsolutions.jts.geom.Geometry geometry; + private org.locationtech.jts.geom.Geometry geometry; protected static GeometryFactory factory = new GeometryFactory(); @@ -52,11 +52,11 @@ public class Geometry extends GeoObject implements Wrapper { public Geometry() { } - com.vividsolutions.jts.geom.Geometry getGeometry() { + org.locationtech.jts.geom.Geometry getGeometry() { return geometry; } - void setGeometry(com.vividsolutions.jts.geom.Geometry geometry) { + void setGeometry(org.locationtech.jts.geom.Geometry geometry) { this.geometry = geometry; } @@ -125,7 +125,7 @@ Object getNativeMethod(String name) { if (binary.contains(name)) { try { - method = geometry.getClass().getMethod(name, com.vividsolutions.jts.geom.Geometry.class); + method = geometry.getClass().getMethod(name, org.locationtech.jts.geom.Geometry.class); } catch (Exception e) { throw new RuntimeException("Unable to find method: " + name, e); } @@ -157,7 +157,7 @@ Object getNativeMethod(String name) { if (constructive1.contains(name)) { try { - method = geometry.getClass().getMethod(name, com.vividsolutions.jts.geom.Geometry.class); + method = geometry.getClass().getMethod(name, org.locationtech.jts.geom.Geometry.class); } catch (Exception e) { throw new RuntimeException("Unable to find method: " + name, e); } @@ -211,9 +211,9 @@ public Geometry transform(Object projObj) { } catch (FactoryException e) { throw new RuntimeException("Failed to find transform.", e); } - com.vividsolutions.jts.geom.Geometry transGeom; + org.locationtech.jts.geom.Geometry transGeom; try { - transGeom = gt.transform((com.vividsolutions.jts.geom.Geometry) this.unwrap()); + transGeom = gt.transform((org.locationtech.jts.geom.Geometry) this.unwrap()); } catch (TransformException e) { throw new RuntimeException("Failed to transform.", e); } @@ -225,7 +225,7 @@ public Geometry transform(Object projObj) { @JSFunction public double distance(Geometry other) { other = sameProjection(this, other); - return geometry.distance((com.vividsolutions.jts.geom.Geometry) other.unwrap()); + return geometry.distance((org.locationtech.jts.geom.Geometry) other.unwrap()); } @JSFunction @@ -245,7 +245,7 @@ public Geometry buffer(double distance, NativeObject options) { params.setEndCapStyle((Integer) capsObj); } } - com.vividsolutions.jts.geom.Geometry buffered = BufferOp.bufferOp(getGeometry(), distance, params); + org.locationtech.jts.geom.Geometry buffered = BufferOp.bufferOp(getGeometry(), distance, params); Geometry wrapped = (Geometry) GeometryWrapper.wrap(getParentScope(), buffered); if (projection != null) { wrapped.projection = projection; @@ -287,7 +287,7 @@ public double getArea() { @JSFunction public ScriptableObject simplify(double tolerance) { - com.vividsolutions.jts.geom.Geometry geom = DouglasPeuckerSimplifier.simplify(geometry, tolerance); + org.locationtech.jts.geom.Geometry geom = DouglasPeuckerSimplifier.simplify(geometry, tolerance); ScriptableObject simplified = GeometryWrapper.wrap(getParentScope(), geom); ((Geometry) simplified).projection = projection; return simplified; @@ -295,7 +295,7 @@ public ScriptableObject simplify(double tolerance) { @JSFunction public ScriptableObject densify(double tolerance) { - com.vividsolutions.jts.geom.Geometry geom = Densifier.densify(geometry, tolerance); + org.locationtech.jts.geom.Geometry geom = Densifier.densify(geometry, tolerance); ScriptableObject densified = GeometryWrapper.wrap(getParentScope(), geom); ((Geometry) densified).projection = projection; return densified; @@ -355,8 +355,8 @@ protected Coordinate[] arrayToCoords(NativeArray array) { Object item = array.get(i); if (item instanceof NativeArray) { coords[i] = arrayToCoord((NativeArray) item); - } else if (item instanceof com.vividsolutions.jts.geom.Point) { - coords[i] = ((com.vividsolutions.jts.geom.Point) item).getCoordinate(); + } else if (item instanceof org.locationtech.jts.geom.Point) { + coords[i] = ((org.locationtech.jts.geom.Point) item).getCoordinate(); } else { throw new RuntimeException("Must provide array of numbers or array of points"); } @@ -491,7 +491,7 @@ public ConstructiveFunction0(String name, Member methodOrConstructor, } @SuppressWarnings("unused") - public com.vividsolutions.jts.geom.Geometry nop() { + public org.locationtech.jts.geom.Geometry nop() { return null; } @@ -505,9 +505,9 @@ public com.vividsolutions.jts.geom.Geometry nop() { public Object call(Context cx, Scriptable scope, Scriptable thisObj, Object[] args) { - com.vividsolutions.jts.geom.Geometry result; + org.locationtech.jts.geom.Geometry result; try { - result = (com.vividsolutions.jts.geom.Geometry) trueMethod.invoke(geometry.unwrap()); + result = (org.locationtech.jts.geom.Geometry) trueMethod.invoke(geometry.unwrap()); } catch (Exception e) { throw new RuntimeException("Failed to invoke method", e); } @@ -533,7 +533,7 @@ public ConstructiveFunction1(String name, Member methodOrConstructor, } @SuppressWarnings("unused") - public com.vividsolutions.jts.geom.Geometry nop(Geometry geometry) { + public org.locationtech.jts.geom.Geometry nop(Geometry geometry) { return null; } @@ -555,9 +555,9 @@ public Object call(Context cx, Scriptable scope, Scriptable thisObj, throw new RuntimeException("Must provide a geometry"); } other = sameProjection(geometry, other); - com.vividsolutions.jts.geom.Geometry result; + org.locationtech.jts.geom.Geometry result; try { - result = (com.vividsolutions.jts.geom.Geometry) trueMethod.invoke(geometry.unwrap(), other.unwrap()); + result = (org.locationtech.jts.geom.Geometry) trueMethod.invoke(geometry.unwrap(), other.unwrap()); } catch (Exception e) { throw new RuntimeException("Failed to invoke method", e); } @@ -584,11 +584,11 @@ private Geometry sameProjection(Geometry thisGeom, Geometry otherGeom) { @JSStaticFunction public static Geometry from_(Scriptable geometryObj) { - com.vividsolutions.jts.geom.Geometry geometry = null; + org.locationtech.jts.geom.Geometry geometry = null; if (geometryObj instanceof Wrapper) { Object obj = ((Wrapper) geometryObj).unwrap(); - if (obj instanceof com.vividsolutions.jts.geom.Geometry) { - geometry = (com.vividsolutions.jts.geom.Geometry) obj; + if (obj instanceof org.locationtech.jts.geom.Geometry) { + geometry = (org.locationtech.jts.geom.Geometry) obj; } } if (geometry == null) { diff --git a/src/main/java/org/geoscript/js/geom/GeometryCollection.java b/src/main/java/org/geoscript/js/geom/GeometryCollection.java index d5de9f66..baa6ea3a 100644 --- a/src/main/java/org/geoscript/js/geom/GeometryCollection.java +++ b/src/main/java/org/geoscript/js/geom/GeometryCollection.java @@ -40,18 +40,18 @@ public GeometryCollection(NativeArray array) { * @param array * @return */ - private com.vividsolutions.jts.geom.GeometryCollection collectionFromArray(NativeArray array) { + private org.locationtech.jts.geom.GeometryCollection collectionFromArray(NativeArray array) { Scriptable scope = array.getParentScope(); Context context = getCurrentContext(); int numComponents = array.size(); - com.vividsolutions.jts.geom.Geometry[] geometries = new com.vividsolutions.jts.geom.Geometry[numComponents]; + org.locationtech.jts.geom.Geometry[] geometries = new org.locationtech.jts.geom.Geometry[numComponents]; for (int i=0; i 2) { @@ -115,14 +115,14 @@ public GeometryCollection(Scriptable scope, NativeObject config) { * Constructor from JTS geometry. * @param geometry */ - public GeometryCollection(Scriptable scope, com.vividsolutions.jts.geom.GeometryCollection geometry) { + public GeometryCollection(Scriptable scope, org.locationtech.jts.geom.GeometryCollection geometry) { this.setParentScope(scope); this.setPrototype(Module.getClassPrototype(GeometryCollection.class)); setGeometry(geometry); } - public com.vividsolutions.jts.geom.GeometryCollection createCollection(com.vividsolutions.jts.geom.Geometry[] geometries) { - return new com.vividsolutions.jts.geom.GeometryCollection(geometries, factory); + public org.locationtech.jts.geom.GeometryCollection createCollection(org.locationtech.jts.geom.Geometry[] geometries) { + return new org.locationtech.jts.geom.GeometryCollection(geometries, factory); } protected int getArrayDimension(NativeArray array) { @@ -178,7 +178,7 @@ protected static NativeArray getCoordinatesArray(Object arg) { public NativeArray getCoordinates() { Context cx = getCurrentContext(); Scriptable scope = getParentScope(); - com.vividsolutions.jts.geom.GeometryCollection geometry = (com.vividsolutions.jts.geom.GeometryCollection) getGeometry(); + org.locationtech.jts.geom.GeometryCollection geometry = (org.locationtech.jts.geom.GeometryCollection) getGeometry(); int length = geometry.getNumGeometries(); NativeArray array = (NativeArray) cx.newArray(scope, length); for (int i=0; i Date: Sun, 3 May 2020 14:49:09 -0700 Subject: [PATCH 25/56] Use GeoTools FeatureLayer to add layers to the map --- src/main/resources/org/geoscript/js/lib/geoscript/map.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/map.js b/src/main/resources/org/geoscript/js/lib/geoscript/map.js index b2a8beb7..57b749b3 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/map.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/map.js @@ -24,7 +24,7 @@ var ws = require("./workspace"); var geotools = Packages.org.geotools; var MapContent = geotools.map.MapContent; -var MapLayer = geotools.map.Layer; +var FeatureLayer = geotools.map.FeatureLayer; var GTRenderer = geotools.renderer.GTRenderer; var StreamingRenderer = geotools.renderer.lite.StreamingRenderer; var LabelCacheImpl = geotools.renderer.label.LabelCacheImpl; @@ -163,7 +163,7 @@ var Map = UTIL.extend(GeoObject, { var _context = new MapContent(); this.layers.forEach(function(layer) { _context.addLayer( - new MapLayer(layer._source, layer.style._style) + new FeatureLayer(layer._source, layer.style._style) ); }); if (this.projection) { From 4b36b56afdd7eaf2e0dacf8657cfa661d2bc9efd Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 5 May 2020 16:42:47 -0700 Subject: [PATCH 26/56] Fix uber jar --- pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pom.xml b/pom.xml index 517cba24..800401ff 100644 --- a/pom.xml +++ b/pom.xml @@ -286,6 +286,14 @@ org.geoscript.js.GeoScriptShell + + Java Advanced Imaging Image I/O Tools + 1.1 + Sun Microsystems, Inc. + com.sun.media.imageio + 1.1 + Sun Microsystems, Inc. + From ee89c92451bd0067eda380cc7f8fef89a0bd5d0c Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Fri, 8 May 2020 18:44:15 -0700 Subject: [PATCH 27/56] Release 1.1.0 --- doc/download.rst | 2 +- doc/quickstart.rst | 5 ++++- pom.xml | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/download.rst b/doc/download.rst index 32753b99..ed11974e 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,5 +3,5 @@ Downloads ========= -`GeoScript JS 1.0.0 `__ +`GeoScript JS 1.1.0 `__ diff --git a/doc/quickstart.rst b/doc/quickstart.rst index 784d1e01..f9ac39aa 100644 --- a/doc/quickstart.rst +++ b/doc/quickstart.rst @@ -15,7 +15,7 @@ After extracting the release archive, you can open the GeoScript shell and impor .. code-block:: javascript - ~/geoscript-js$ ./bin/geoscript + ~/geoscript-js$ ./bin/geoscript-js >> var geom = require("geoscript/geom"); >> var p1 = new geom.Point([0, 0]); @@ -27,3 +27,6 @@ After extracting the release archive, you can open the GeoScript shell and impor true >> quit() +You can also use the uber jar that contains all dependencies and is runnable:: + + java -jar geoscript-js-1.1.0-app.jar diff --git a/pom.xml b/pom.xml index 800401ff..8a34f8a7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.geoscript geoscript-js jar - 1.1.0-SNAPSHOT + 1.1.0 22.0 UTF-8 From a672a6f136aeff4d3dfae6a5233108d2a33be270 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Fri, 8 May 2020 18:54:53 -0700 Subject: [PATCH 28/56] Start working on 1.2.0 --- doc/download.rst | 2 +- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/download.rst b/doc/download.rst index ed11974e..1bc9debc 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,5 +3,5 @@ Downloads ========= -`GeoScript JS 1.1.0 `__ +`GeoScript JS 1.1.0 `__ diff --git a/pom.xml b/pom.xml index 8a34f8a7..dc78fa30 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.1.0 + 1.2.0-SNAPSHOT - 22.0 + 23.0 UTF-8 UTF-8 From fb03e57e04c0bd3e0d6284763e67e849a1e9a6ec Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 19 May 2020 16:42:21 -0700 Subject: [PATCH 29/56] Release 1.2.0 --- doc/download.rst | 2 ++ doc/quickstart.rst | 2 +- pom.xml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/download.rst b/doc/download.rst index 1bc9debc..1d812805 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,5 +3,7 @@ Downloads ========= +`GeoScript JS 1.2.0 `__ + `GeoScript JS 1.1.0 `__ diff --git a/doc/quickstart.rst b/doc/quickstart.rst index f9ac39aa..394f7fd4 100644 --- a/doc/quickstart.rst +++ b/doc/quickstart.rst @@ -29,4 +29,4 @@ After extracting the release archive, you can open the GeoScript shell and impor You can also use the uber jar that contains all dependencies and is runnable:: - java -jar geoscript-js-1.1.0-app.jar + java -jar geoscript-js-1.2.0-app.jar diff --git a/pom.xml b/pom.xml index dc78fa30..666a80dc 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.geoscript geoscript-js jar - 1.2.0-SNAPSHOT + 1.2.0 23.0 UTF-8 From 22e9d6b5ac95213e2dc735e61b20d041c60b2f37 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Wed, 20 May 2020 16:20:27 -0700 Subject: [PATCH 30/56] Start working on 1.3 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 666a80dc..29d6255d 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.2.0 + 1.3-SNAPSHOT - 23.0 + 24-SNAPSHOT UTF-8 UTF-8 From a2ec19777c4edacec1b3175966d9bdc0b07806f8 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Mon, 1 Jun 2020 18:06:59 -0700 Subject: [PATCH 31/56] Add Geobuf Workspace (#63) Add Geobuf Workspace --- .gitignore | 4 +- doc/api/workspace/geobuf.rst | 71 +++++++++++++++ pom.xml | 5 ++ .../geoscript/js/lib/geoscript/workspace.js | 3 + .../js/lib/geoscript/workspace/geobuf.js | 87 +++++++++++++++++++ .../js/tests/geoscript/test_workspace.js | 1 + .../tests/geoscript/workspace/test_geobuf.js | 45 ++++++++++ 7 files changed, 215 insertions(+), 1 deletion(-) create mode 100644 doc/api/workspace/geobuf.rst create mode 100644 src/main/resources/org/geoscript/js/lib/geoscript/workspace/geobuf.js create mode 100644 src/test/resources/org/geoscript/js/tests/geoscript/workspace/test_geobuf.js diff --git a/.gitignore b/.gitignore index 551f21a4..513dae5f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ .project .settings/ /target/ -/data/ \ No newline at end of file +/data/ +.idea +*.iml \ No newline at end of file diff --git a/doc/api/workspace/geobuf.rst b/doc/api/workspace/geobuf.rst new file mode 100644 index 00000000..a61214de --- /dev/null +++ b/doc/api/workspace/geobuf.rst @@ -0,0 +1,71 @@ +:class:`workspace.Geobuf` +===================== + +.. class:: workspace.Geobuf(config) + + :arg config: ``Object`` Configuration object. + + Create a workspace from an Geobuf directory. + + +Config Properties +----------------- + +.. describe:: file + + ``String`` + Directory path to the Geobuf files (required). + +Properties +---------- + +.. attribute:: Geobuf.layers + + ``Array`` + The available layers in the workspace. + +.. attribute:: Geobuf.names + + ``Array`` + The available layer names in the workspace. + + +Methods +------- + + +.. function:: Geobuf.add + + :arg layer: :class:`layer.Layer` The layer to be added. + :arg options: ``Object`` Options for adding the layer. + + Options: + * `name`: ``String`` Name for the new layer. + * `filter`: :class:`filter.Filter` Filter to apply to features before adding. + * `projection`: :class:`proj.Projection` Destination projection for the layer. + + :returns: :class:`layer.Layer` + + Create a new layer in this workspace with the features from an existing + layer. If a layer with the same name already exists in this workspace, + you must provide a new name for the layer. + +.. function:: Geobuf.close + + Close the workspace. This discards any existing connection to the + underlying data store and discards the reference to the store. + +.. function:: Geobuf.get + + :arg name: ``String`` Layer name. + :returns: :class:`layer.Layer` + + Get a layer by name. Returns ``undefined`` if name doesn't correspond + to a layer source in the workspace. + + + + + + + diff --git a/pom.xml b/pom.xml index 29d6255d..3eaddb14 100644 --- a/pom.xml +++ b/pom.xml @@ -146,6 +146,11 @@ gt-geopkg ${gt.version} + + org.geotools + gt-geobuf + ${gt.version} + diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js index 64a9558c..c1c87122 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js @@ -42,6 +42,9 @@ exports.MySQL = require("./workspace/mysql").MySQL; /** api: classes[] = geopackage */ exports.GeoPackage = require("./workspace/geopackage").GeoPackage; +/** api: classes[] = geobuf */ +exports.Geobuf = require("./workspace/geobuf").Geobuf; + /** private: classes[] = spatialite */ exports.SpatiaLite = require("./workspace/spatialite").SpatiaLite; diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geobuf.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geobuf.js new file mode 100644 index 00000000..88755eb4 --- /dev/null +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/geobuf.js @@ -0,0 +1,87 @@ +var register = require("./util").register; +var Factory = require("../factory").Factory; +var Workspace = require("./workspace").Workspace; +var UTIL = require("../util"); + +var GeobufDataStoreFactory = Packages.org.geotools.data.geobuf.GeobufDataStoreFactory; + +/** private: (define) + * module = workspace + * class = Geobuf + */ + +var prepConfig = function(config) { + if (config) { + if (typeof config === "string") { + config = {file: config}; + } + if (!(typeof config.file === "string")) { + throw "Geobuf config must include file path."; + } + config = { + file: String(config.file) + }; + } + return config; +}; + +/** private: (extends) + * workspace/workspace.js + */ +var Geobuf = UTIL.extend(Workspace, { + + /** private: config[file] + * ``String`` + * Path to the directory (required). + */ + + /** private: constructor + * .. class:: Geobuf + * + * :arg config: ``Object`` Configuration object. + * + * Create a workspace from a Geobuf directory. + */ + constructor: function Geobuf(config) { + Workspace.prototype.constructor.apply(this, [prepConfig(config)]); + }, + + /** private: method[_create] + * :arg config: ``Object`` + * :returns: ``org.geotools.data.geobuf.GeobufDataStore`` + * + * Create the underlying store for the workspace. + */ + _create: function(config) { + var factory = new GeobufDataStoreFactory(); + return factory.createDataStore(config); + }, + + /** private: property[config] + */ + get config() { + return { + type: this.constructor.name, + file: this.file + }; + } + +}); + +exports.Geobuf = Geobuf; + +// register a Geobuf factory for the module +register(new Factory(Geobuf, { + handles: function(config) { + var capable = false; + if (typeof config.type === "string" && config.type.toLowerCase() === "Geobuf") { + try { + config = prepConfig(config); + capable = true; + } catch (err) { + // pass + } + } + return capable; + } +})); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/test_workspace.js b/src/test/resources/org/geoscript/js/tests/geoscript/test_workspace.js index 931d050f..292a5c1f 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/test_workspace.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/test_workspace.js @@ -35,6 +35,7 @@ exports["test: Workspace.from_"] = function() { exports["test: Directory"] = require("./workspace/test_directory"); exports["test: H2"] = require("./workspace/test_h2"); exports["test: GeoPackage"] = require("./workspace/test_geopackage"); +exports["test: Geobu"] = require("./workspace/test_geobuf"); exports["test: Memory"] = require("./workspace/test_memory"); // exports["test: PostGIS"] = require("./workspace/test_postgis"); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/workspace/test_geobuf.js b/src/test/resources/org/geoscript/js/tests/geoscript/workspace/test_geobuf.js new file mode 100644 index 00000000..790f3bae --- /dev/null +++ b/src/test/resources/org/geoscript/js/tests/geoscript/workspace/test_geobuf.js @@ -0,0 +1,45 @@ +var ASSERT = require("assert"); +var WORKSPACE = require("geoscript/workspace"); +var LAYER = require("geoscript/layer"); +var GEOM = require("geoscript/geom"); +var FS = require("fs"); + +exports["test: constructor"] = function() { + + var Files = Packages.java.nio.file.Files; + var file = Files.createTempDirectory("geobuf").toFile().getAbsolutePath(); + var geobuf = new WORKSPACE.Geobuf({file: file}); + + ASSERT.ok(geobuf instanceof WORKSPACE.Workspace, "instanceof Workspace"); + ASSERT.ok(geobuf instanceof WORKSPACE.Geobuf, "instanceof Geobuf"); + + geobuf.close(); + +}; + +exports["test: create"] = function() { + + var Files = Packages.java.nio.file.Files; + var file = Files.createTempDirectory("geobuf").toFile().getAbsolutePath(); + var geobuf = new WORKSPACE.Geobuf({file: file}); + + var layer = new LAYER.Layer({ + name: "cities", + fields: [{ + name: "name", type: "String" + }, { + name: "geom", type: "Point" + }] + }); + var geobufLayer = geobuf.add(layer); + + geobufLayer.add({name: "San Francisco", geom: new GEOM.Point([-122.42, 37.78])}); + geobufLayer.add({name: "New York", geom: new GEOM.Point([-73.58, 40.47])}); + ASSERT.ok(geobufLayer.count == 2); + + geobuf.close(); +}; + +if (require.main == module.id) { + system.exit(require("test").run(exports)); +} From dfb1372423bbce5512677975bcf6fa01da02b758 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 2 Jun 2020 17:55:13 -0700 Subject: [PATCH 32/56] Add Flatgeobuf Workspace (#64) --- doc/api/workspace/flatgeobuf.rst | 71 +++++++++++++++ pom.xml | 5 ++ .../geoscript/js/lib/geoscript/workspace.js | 3 + .../js/lib/geoscript/workspace/flatgeobuf.js | 87 +++++++++++++++++++ .../js/tests/geoscript/test_workspace.js | 3 +- .../geoscript/workspace/test_flatgeobuf.js | 45 ++++++++++ 6 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 doc/api/workspace/flatgeobuf.rst create mode 100644 src/main/resources/org/geoscript/js/lib/geoscript/workspace/flatgeobuf.js create mode 100644 src/test/resources/org/geoscript/js/tests/geoscript/workspace/test_flatgeobuf.js diff --git a/doc/api/workspace/flatgeobuf.rst b/doc/api/workspace/flatgeobuf.rst new file mode 100644 index 00000000..94dbe4ca --- /dev/null +++ b/doc/api/workspace/flatgeobuf.rst @@ -0,0 +1,71 @@ +:class:`workspace.Flatgeobuf` +===================== + +.. class:: workspace.Flatgeobuf(config) + + :arg config: ``Object`` Configuration object. + + Create a workspace from an Flatgeobuf directory. + + +Config Properties +----------------- + +.. describe:: file + + ``String`` + Directory path to the Flatgeobuf files (required). + +Properties +---------- + +.. attribute:: Flatgeobuf.layers + + ``Array`` + The available layers in the workspace. + +.. attribute:: Flatgeobuf.names + + ``Array`` + The available layer names in the workspace. + + +Methods +------- + + +.. function:: Flatgeobuf.add + + :arg layer: :class:`layer.Layer` The layer to be added. + :arg options: ``Object`` Options for adding the layer. + + Options: + * `name`: ``String`` Name for the new layer. + * `filter`: :class:`filter.Filter` Filter to apply to features before adding. + * `projection`: :class:`proj.Projection` Destination projection for the layer. + + :returns: :class:`layer.Layer` + + Create a new layer in this workspace with the features from an existing + layer. If a layer with the same name already exists in this workspace, + you must provide a new name for the layer. + +.. function:: Flatgeobuf.close + + Close the workspace. This discards any existing connection to the + underlying data store and discards the reference to the store. + +.. function:: Flatgeobuf.get + + :arg name: ``String`` Layer name. + :returns: :class:`layer.Layer` + + Get a layer by name. Returns ``undefined`` if name doesn't correspond + to a layer source in the workspace. + + + + + + + diff --git a/pom.xml b/pom.xml index 3eaddb14..a56d60a9 100644 --- a/pom.xml +++ b/pom.xml @@ -151,6 +151,11 @@ gt-geobuf ${gt.version} + + org.geotools + gt-flatgeobuf + ${gt.version} + diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js index c1c87122..243c8344 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace.js @@ -45,6 +45,9 @@ exports.GeoPackage = require("./workspace/geopackage").GeoPackage; /** api: classes[] = geobuf */ exports.Geobuf = require("./workspace/geobuf").Geobuf; +/** api: classes[] = flatgeobuf */ +exports.Flatgeobuf = require("./workspace/flatgeobuf").Flatgeobuf; + /** private: classes[] = spatialite */ exports.SpatiaLite = require("./workspace/spatialite").SpatiaLite; diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/flatgeobuf.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/flatgeobuf.js new file mode 100644 index 00000000..e85d7b0f --- /dev/null +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/flatgeobuf.js @@ -0,0 +1,87 @@ +var register = require("./util").register; +var Factory = require("../factory").Factory; +var Workspace = require("./workspace").Workspace; +var UTIL = require("../util"); + +var FlatgeobufDataStoreFactory = Packages.org.geotools.data.flatgeobuf.FlatgeobufDataStoreFactory; + +/** private: (define) + * module = workspace + * class = Flatgeobuf + */ + +var prepConfig = function(config) { + if (config) { + if (typeof config === "string") { + config = {'flatgeobuf-file': config}; + } + if (!(typeof config.file === "string")) { + throw "Flatgeobuf config must include file path."; + } + config = { + 'flatgeobuf-file': String(config.file) + }; + } + return config; +}; + +/** private: (extends) + * workspace/workspace.js + */ +var Flatgeobuf = UTIL.extend(Workspace, { + + /** private: config[file] + * ``String`` + * Path to the file (required). + */ + + /** private: constructor + * .. class:: Flatgeobuf + * + * :arg config: ``Object`` Configuration object. + * + * Create a workspace from a Flatgeobuf directory. + */ + constructor: function Flatgeobuf(config) { + Workspace.prototype.constructor.apply(this, [prepConfig(config)]); + }, + + /** private: method[_create] + * :arg config: ``Object`` + * :returns: ``org.geotools.data.flatgeobuf.FlatgeobufDataStore`` + * + * Create the underlying store for the workspace. + */ + _create: function(config) { + var factory = new FlatgeobufDataStoreFactory(); + return factory.createDataStore(config); + }, + + /** private: property[config] + */ + get config() { + return { + type: this.constructor.name, + file: this.file + }; + } + +}); + +exports.Flatgeobuf = Flatgeobuf; + +// register a Flatgeobuf factory for the module +register(new Factory(Flatgeobuf, { + handles: function(config) { + var capable = false; + if (typeof config.type === "string" && config.type.toLowerCase() === "Flatgeobuf") { + try { + config = prepConfig(config); + capable = true; + } catch (err) { + // pass + } + } + return capable; + } +})); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/test_workspace.js b/src/test/resources/org/geoscript/js/tests/geoscript/test_workspace.js index 292a5c1f..e5ac44f2 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/test_workspace.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/test_workspace.js @@ -35,7 +35,8 @@ exports["test: Workspace.from_"] = function() { exports["test: Directory"] = require("./workspace/test_directory"); exports["test: H2"] = require("./workspace/test_h2"); exports["test: GeoPackage"] = require("./workspace/test_geopackage"); -exports["test: Geobu"] = require("./workspace/test_geobuf"); +exports["test: Geobuf"] = require("./workspace/test_geobuf"); +exports["test: Flatgeobuf"] = require("./workspace/test_flatgeobuf"); exports["test: Memory"] = require("./workspace/test_memory"); // exports["test: PostGIS"] = require("./workspace/test_postgis"); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/workspace/test_flatgeobuf.js b/src/test/resources/org/geoscript/js/tests/geoscript/workspace/test_flatgeobuf.js new file mode 100644 index 00000000..cd6fd7fe --- /dev/null +++ b/src/test/resources/org/geoscript/js/tests/geoscript/workspace/test_flatgeobuf.js @@ -0,0 +1,45 @@ +var ASSERT = require("assert"); +var WORKSPACE = require("geoscript/workspace"); +var LAYER = require("geoscript/layer"); +var GEOM = require("geoscript/geom"); +var FS = require("fs"); + +exports["test: constructor"] = function() { + + var Files = Packages.java.nio.file.Files; + var file = Files.createTempDirectory("flatgeobuf").toFile().getAbsolutePath(); + var geobuf = new WORKSPACE.Flatgeobuf({file: file}); + + ASSERT.ok(geobuf instanceof WORKSPACE.Workspace, "instanceof Workspace"); + ASSERT.ok(geobuf instanceof WORKSPACE.Flatgeobuf, "instanceof Flatgeobuf"); + + geobuf.close(); + +}; + +exports["test: create"] = function() { + + var Files = Packages.java.nio.file.Files; + var file = Files.createTempDirectory("flatgeobuf").toFile().getAbsolutePath(); + var geobuf = new WORKSPACE.Flatgeobuf({file: file}); + + var layer = new LAYER.Layer({ + name: "places", + fields: [{ + name: "name", type: "String" + }, { + name: "geom", type: "Point" + }] + }); + var geobufLayer = geobuf.add(layer); + + geobufLayer.add({name: "San Francisco", geom: new GEOM.Point([-122.42, 37.78])}); + geobufLayer.add({name: "New York", geom: new GEOM.Point([-73.58, 40.47])}); + ASSERT.ok(geobufLayer.count == 2); + + geobuf.close(); +}; + +if (require.main == module.id) { + system.exit(require("test").run(exports)); +} From 741fdfe6b41506bd0823673113e370caf9835b02 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Sun, 7 Jun 2020 10:21:20 -0700 Subject: [PATCH 33/56] Add random points method to Geometry. --- src/main/java/org/geoscript/js/geom/Geometry.java | 11 +++++++++++ .../org/geoscript/js/tests/geoscript/test_geom.js | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/org/geoscript/js/geom/Geometry.java b/src/main/java/org/geoscript/js/geom/Geometry.java index 282d79bd..826e074b 100644 --- a/src/main/java/org/geoscript/js/geom/Geometry.java +++ b/src/main/java/org/geoscript/js/geom/Geometry.java @@ -301,6 +301,17 @@ public ScriptableObject densify(double tolerance) { return densified; } + @JSFunction + public ScriptableObject randomPoints(int number) { + org.locationtech.jts.shape.random.RandomPointsBuilder builder = new org.locationtech.jts.shape.random.RandomPointsBuilder(factory); + builder.setExtent(geometry); + builder.setNumPoints(number); + org.locationtech.jts.geom.Geometry geom = builder.getGeometry(); + ScriptableObject points = GeometryWrapper.wrap(getParentScope(), geom); + ((Geometry) points).projection = projection; + return points; + } + @JSFunction public String getGeometryType() { return geometry.getGeometryType(); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js index 196b7549..2b8be900 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js @@ -157,6 +157,15 @@ exports["test: create(bounds)"] = function() { }; +exports["test: create random points"] = function() { + + var geom = GEOM.Point([1,1]).buffer(10) + var points = geom.randomPoints(10) + ASSERT.ok(points instanceof GEOM.MultiPoint) + ASSERT.strictEqual(points.components.length, 10, "geometry has 10 components"); +} + + exports["test: Point"] = require("./geom/test_point"); exports["test: LineString"] = require("./geom/test_linestring"); exports["test: Polygon"] = require("./geom/test_polygon"); From 7f8532cccbca218968029c23e4f43ff0c885f83c Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Wed, 10 Jun 2020 20:25:35 -0700 Subject: [PATCH 34/56] Add delaunay triangle generation to Geometry (#67) --- .../java/org/geoscript/js/geom/Geometry.java | 20 ++++++++++++++++++ .../geoscript/js/tests/geoscript/test_geom.js | 21 +++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/src/main/java/org/geoscript/js/geom/Geometry.java b/src/main/java/org/geoscript/js/geom/Geometry.java index 826e074b..bcebe306 100644 --- a/src/main/java/org/geoscript/js/geom/Geometry.java +++ b/src/main/java/org/geoscript/js/geom/Geometry.java @@ -11,6 +11,8 @@ import org.geotools.geometry.jts.GeometryCoordinateSequenceTransformer; import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.referencing.CRS; +import org.locationtech.jts.triangulate.ConformingDelaunayTriangulationBuilder; +import org.locationtech.jts.triangulate.DelaunayTriangulationBuilder; import org.mozilla.javascript.Context; import org.mozilla.javascript.FunctionObject; import org.mozilla.javascript.NativeArray; @@ -312,6 +314,24 @@ public ScriptableObject randomPoints(int number) { return points; } + @JSFunction + public ScriptableObject createDelaunayTriangles(boolean isConforming) { + org.locationtech.jts.geom.Geometry geom; + if (isConforming) { + ConformingDelaunayTriangulationBuilder builder = new ConformingDelaunayTriangulationBuilder(); + builder.setSites(geometry); + geom = builder.getTriangles(factory); + } + else { + DelaunayTriangulationBuilder builder = new DelaunayTriangulationBuilder(); + builder.setSites(geometry); + geom = builder.getTriangles(factory); + } + ScriptableObject triangles = GeometryWrapper.wrap(getParentScope(), geom); + ((Geometry) triangles).projection = projection; + return triangles; + } + @JSFunction public String getGeometryType() { return geometry.getGeometryType(); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js index 2b8be900..7d10bf3f 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js @@ -163,6 +163,27 @@ exports["test: create random points"] = function() { var points = geom.randomPoints(10) ASSERT.ok(points instanceof GEOM.MultiPoint) ASSERT.strictEqual(points.components.length, 10, "geometry has 10 components"); + +} + +exports["test: create conforming delaunay triangles"] = function() { + + var geom = GEOM.Point([1,1]).buffer(50) + var points = geom.randomPoints(20) + var triangles = points.createDelaunayTriangles(true) + ASSERT.ok(triangles instanceof GEOM.GeometryCollection) + ASSERT.ok(triangles.components.length > 0, "there should be more than 0 triangles"); + +} + +exports["test: create non-conforming delaunay triangles"] = function() { + + var geom = GEOM.Point([1,1]).buffer(50) + var points = geom.randomPoints(20) + var triangles = points.createDelaunayTriangles(false) + ASSERT.ok(triangles instanceof GEOM.GeometryCollection) + ASSERT.ok(triangles.components.length > 0, "there should be more than 0 triangles"); + } From 13c8f1dfcbe8fd7d2409cdea6e425568ec7fe282 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Thu, 11 Jun 2020 19:15:51 -0700 Subject: [PATCH 35/56] Add voronoi diagram method to Geometry (#68) --- examples/geometry/delaunayTriangle.js | 7 +++++++ examples/geometry/voronoiDigram.js | 7 +++++++ src/main/java/org/geoscript/js/geom/Geometry.java | 10 ++++++++++ .../org/geoscript/js/tests/geoscript/test_geom.js | 10 ++++++++++ 4 files changed, 34 insertions(+) create mode 100644 examples/geometry/delaunayTriangle.js create mode 100644 examples/geometry/voronoiDigram.js diff --git a/examples/geometry/delaunayTriangle.js b/examples/geometry/delaunayTriangle.js new file mode 100644 index 00000000..e5afedda --- /dev/null +++ b/examples/geometry/delaunayTriangle.js @@ -0,0 +1,7 @@ +var geom = require('geoscript/geom'); +var viewer = require('geoscript/viewer'); + +var polygon = geom.Point([1,1]).buffer(50); +var points = polygon.randomPoints(100); +var triangles = points.createDelaunayTriangles(true); +viewer.draw(triangles); \ No newline at end of file diff --git a/examples/geometry/voronoiDigram.js b/examples/geometry/voronoiDigram.js new file mode 100644 index 00000000..57084d3b --- /dev/null +++ b/examples/geometry/voronoiDigram.js @@ -0,0 +1,7 @@ +var geom = require('geoscript/geom'); +var viewer = require('geoscript/viewer'); + +var polygon = geom.Point([1,1]).buffer(50); +var points = polygon.randomPoints(20); +var diagram = points.createVoronoiDiagram(); +viewer.draw(diagram); \ No newline at end of file diff --git a/src/main/java/org/geoscript/js/geom/Geometry.java b/src/main/java/org/geoscript/js/geom/Geometry.java index bcebe306..f2815b9b 100644 --- a/src/main/java/org/geoscript/js/geom/Geometry.java +++ b/src/main/java/org/geoscript/js/geom/Geometry.java @@ -35,6 +35,7 @@ import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.operation.buffer.BufferOp; import org.locationtech.jts.operation.buffer.BufferParameters; +import org.locationtech.jts.triangulate.VoronoiDiagramBuilder; import org.locationtech.jts.simplify.DouglasPeuckerSimplifier; public class Geometry extends GeoObject implements Wrapper { @@ -303,6 +304,15 @@ public ScriptableObject densify(double tolerance) { return densified; } + @JSFunction + public ScriptableObject createVoronoiDiagram() { + VoronoiDiagramBuilder builder = new VoronoiDiagramBuilder(); + builder.setSites(geometry); + ScriptableObject voronoiDiagram = GeometryWrapper.wrap(getParentScope(), builder.getDiagram(Geometry.factory)); + ((Geometry) voronoiDiagram).projection = projection; + return voronoiDiagram; + } + @JSFunction public ScriptableObject randomPoints(int number) { org.locationtech.jts.shape.random.RandomPointsBuilder builder = new org.locationtech.jts.shape.random.RandomPointsBuilder(factory); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js index 7d10bf3f..5cbbf78b 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js @@ -157,6 +157,16 @@ exports["test: create(bounds)"] = function() { }; +exports["test: create voronoi diagram"] = function() { + + var geom = GEOM.Point([1,1]).buffer(50) + var points = geom.randomPoints(20) + var diagram = points.createVoronoiDiagram() + ASSERT.ok(diagram instanceof GEOM.GeometryCollection) + ASSERT.ok(diagram.components.length > 0, "there should be more than 0 polygons"); + +} + exports["test: create random points"] = function() { var geom = GEOM.Point([1,1]).buffer(10) From 2a589140bb06438bf7a813b7f417bec0e77a5113 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Wed, 17 Jun 2020 17:41:03 -0700 Subject: [PATCH 36/56] Add spatial index module (#71) --- doc/api/index.rst | 1 + doc/api/index/quadtree.rst | 57 ++++++++++++++++ doc/api/index/strtree.rst | 42 ++++++++++++ .../java/org/geoscript/js/geom/Geometry.java | 14 ++++ .../java/org/geoscript/js/index/Module.java | 51 ++++++++++++++ .../java/org/geoscript/js/index/Quadtree.java | 66 +++++++++++++++++++ .../java/org/geoscript/js/index/STRtree.java | 57 ++++++++++++++++ .../org/geoscript/js/index/SpatialIndex.java | 18 +++++ .../org/geoscript/js/proj/Projection.java | 1 + .../org/geoscript/js/lib/geoscript.js | 1 + .../org/geoscript/js/lib/geoscript/index.js | 30 +++++++++ .../js/tests/geoscript/test_index.js | 37 +++++++++++ .../org/geoscript/js/tests/test_geoscript.js | 1 + 13 files changed, 376 insertions(+) create mode 100644 doc/api/index/quadtree.rst create mode 100644 doc/api/index/strtree.rst create mode 100644 src/main/java/org/geoscript/js/index/Module.java create mode 100644 src/main/java/org/geoscript/js/index/Quadtree.java create mode 100644 src/main/java/org/geoscript/js/index/STRtree.java create mode 100644 src/main/java/org/geoscript/js/index/SpatialIndex.java create mode 100644 src/main/resources/org/geoscript/js/lib/geoscript/index.js create mode 100644 src/test/resources/org/geoscript/js/tests/geoscript/test_index.js diff --git a/doc/api/index.rst b/doc/api/index.rst index 920597a9..3f828c70 100644 --- a/doc/api/index.rst +++ b/doc/api/index.rst @@ -16,6 +16,7 @@ Modules feature filter proj + index/* layer workspace style diff --git a/doc/api/index/quadtree.rst b/doc/api/index/quadtree.rst new file mode 100644 index 00000000..e8e5697a --- /dev/null +++ b/doc/api/index/quadtree.rst @@ -0,0 +1,57 @@ +:class:`index.Quadtree` +========================== + +.. class:: index.Quadtree() + + Create a Quadtree Spatial Index. + + +Properties +---------- + +.. attribute:: size + + ``Int`` + The number of items in the spatial index. + + +Methods +------- + +.. function:: Quadtree.query + + :arg bounds: :class:`geom.Bounds` The Bounds. + :returns: :class:`Array` + + Query the spatial index by Bounds. + +.. function:: Quadtree.queryAll + + :returns: :class:`Array` + + Get all item in the spatial index. + +.. function:: Quadtree.insert + + :arg bounds: :class:`geom.Bounds` The Bounds. + :arg item: :class:`Object` The value. + :returns: :class:`boolean` Whether an item was removed or not + + Remove an item from the spatial index + +.. function:: Quadtree.remove + + :arg bounds: :class:`geom.Bounds` The Bounds. + :arg item: :class:`Object` The value. + :returns: :class:`boolean` Whether an item was removed or not + + Remove an item from the spatial index + + Get all item in the spatial index. + + + + + + + diff --git a/doc/api/index/strtree.rst b/doc/api/index/strtree.rst new file mode 100644 index 00000000..d009ef79 --- /dev/null +++ b/doc/api/index/strtree.rst @@ -0,0 +1,42 @@ +:class:`index.STRtree` +========================== + +.. class:: index.STRtree() + + Create a STRtree Spatial Index. + + +Properties +---------- + +.. attribute:: size + + ``Int`` + The number of items in the spatial index. + + +Methods +------- + +.. function:: STRtree.query + + :arg bounds: :class:`geom.Bounds` The Bounds. + :returns: :class:`Array` + + Query the spatial index by Bounds. + +.. function:: STRtree.insert + + :arg bounds: :class:`geom.Bounds` The Bounds. + :arg item: :class:`Object` The value. + :returns: :class:`boolean` Whether an item was removed or not + + Remove an item from the spatial index + + + + + + + + diff --git a/src/main/java/org/geoscript/js/geom/Geometry.java b/src/main/java/org/geoscript/js/geom/Geometry.java index f2815b9b..61bb04db 100644 --- a/src/main/java/org/geoscript/js/geom/Geometry.java +++ b/src/main/java/org/geoscript/js/geom/Geometry.java @@ -4,6 +4,7 @@ import java.lang.reflect.Method; import java.util.Arrays; import java.util.List; +import java.util.Objects; import org.locationtech.jts.densify.Densifier; import org.geoscript.js.GeoObject; @@ -646,4 +647,17 @@ public String toFullString() { return arrayRepr(getCoordinates()); } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Geometry geometry1 = (Geometry) o; + return Objects.equals(geometry, geometry1.geometry) && + Objects.equals(projection, geometry1.projection); + } + + @Override + public int hashCode() { + return Objects.hash(geometry, projection); + } } diff --git a/src/main/java/org/geoscript/js/index/Module.java b/src/main/java/org/geoscript/js/index/Module.java new file mode 100644 index 00000000..67da3507 --- /dev/null +++ b/src/main/java/org/geoscript/js/index/Module.java @@ -0,0 +1,51 @@ +package org.geoscript.js.index; + +import org.geoscript.js.GeoObject; +import org.geoscript.js.index.*; +import org.mozilla.javascript.Scriptable; +import org.mozilla.javascript.ScriptableObject; + +import java.lang.reflect.InvocationTargetException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +public class Module { + + static HashMap prototypes; + + /** + * Define all geometry constructors in the given module scope. If the + * provided scope is not a "top level" scope, constructors will be defined + * in the top level scope for the given scope. + * @param scope + * @throws IllegalAccessException + * @throws InstantiationException + * @throws InvocationTargetException + */ + public static void init(Scriptable scope) throws IllegalAccessException, InstantiationException, InvocationTargetException { + + scope = ScriptableObject.getTopLevelScope(scope); + + @SuppressWarnings("unchecked") + List> classes = Arrays.asList(Quadtree.class, STRtree.class); + + prototypes = new HashMap(); + for (Class cls : classes) { + String name = ScriptableObject.defineClass(scope, cls, false, true); + Scriptable prototype = ScriptableObject.getClassPrototype(scope, name); + prototypes.put(name, prototype); + } + + } + + protected static Scriptable getClassPrototype(Class cls) { + String name = cls.getName(); + if (prototypes == null || !prototypes.containsKey(name)) { + throw new RuntimeException( + "Attempt to access prototype before requiring module: " + name); + } + return prototypes.get(name); + } + +} diff --git a/src/main/java/org/geoscript/js/index/Quadtree.java b/src/main/java/org/geoscript/js/index/Quadtree.java new file mode 100644 index 00000000..14335991 --- /dev/null +++ b/src/main/java/org/geoscript/js/index/Quadtree.java @@ -0,0 +1,66 @@ +package org.geoscript.js.index; + +import org.geoscript.js.geom.Bounds; +import org.mozilla.javascript.Context; +import org.mozilla.javascript.Function; +import org.mozilla.javascript.Scriptable; +import org.mozilla.javascript.annotations.JSConstructor; +import org.mozilla.javascript.annotations.JSFunction; +import org.mozilla.javascript.annotations.JSGetter; + +public class Quadtree extends SpatialIndex { + + public Quadtree() { + super(new org.locationtech.jts.index.quadtree.Quadtree()); + } + + public Quadtree(Scriptable scope) { + this(); + this.setParentScope(scope); + this.setPrototype(Module.getClassPrototype(Quadtree.class)); + } + + + @JSFunction + public void insert(Bounds bounds, Object item) { + this.index.insert(bounds.unwrap(), item); + } + + @JSFunction + public Object query(Bounds bounds) { + return javaToJS(this.index.query(bounds.unwrap()), getParentScope()); + } + + @JSGetter + public int getSize() { + return ((org.locationtech.jts.index.quadtree.Quadtree)this.index).size(); + } + + @JSFunction + public Object queryAll() { + return javaToJS(((org.locationtech.jts.index.quadtree.Quadtree)this.index).queryAll(), getParentScope()); + } + + @JSFunction + public boolean remove(Bounds bounds, Object item) { + return this.index.remove(bounds.unwrap(), item); + } + + /** + * JavaScript constructor. + * @param cx + * @param args + * @param ctorObj + * @param isNewExpr + * @return + */ + @JSConstructor + public static Object constructor(Context cx, Object[] args, Function ctorObj, boolean isNewExpr) { + if (isNewExpr) { + return new Quadtree(); + } else { + return new Quadtree(ctorObj.getParentScope()); + } + } + +} diff --git a/src/main/java/org/geoscript/js/index/STRtree.java b/src/main/java/org/geoscript/js/index/STRtree.java new file mode 100644 index 00000000..dbf4c432 --- /dev/null +++ b/src/main/java/org/geoscript/js/index/STRtree.java @@ -0,0 +1,57 @@ +package org.geoscript.js.index; + +import org.geoscript.js.geom.Bounds; +import org.mozilla.javascript.Context; +import org.mozilla.javascript.Function; +import org.mozilla.javascript.Scriptable; +import org.mozilla.javascript.annotations.JSConstructor; +import org.mozilla.javascript.annotations.JSFunction; +import org.mozilla.javascript.annotations.JSGetter; + +import java.util.List; + +public class STRtree extends SpatialIndex { + + public STRtree() { + super(new org.locationtech.jts.index.strtree.STRtree()); + } + + public STRtree(Scriptable scope) { + this(); + this.setParentScope(scope); + this.setPrototype(Module.getClassPrototype(STRtree.class)); + } + + @JSFunction + public void insert(Bounds bounds, Object item) { + this.index.insert(bounds.unwrap(), item); + } + + @JSFunction + public List query(Bounds bounds) { + return this.index.query(bounds.unwrap()); + } + + @JSGetter + public int getSize() { + return ((org.locationtech.jts.index.strtree.STRtree)this.index).size(); + } + + /** + * JavaScript constructor. + * @param cx + * @param args + * @param ctorObj + * @param isNewExpr + * @return + */ + @JSConstructor + public static Object constructor(Context cx, Object[] args, Function ctorObj, boolean isNewExpr) { + if (isNewExpr) { + return new STRtree(); + } else { + return new STRtree(ctorObj.getParentScope()); + } + } + +} diff --git a/src/main/java/org/geoscript/js/index/SpatialIndex.java b/src/main/java/org/geoscript/js/index/SpatialIndex.java new file mode 100644 index 00000000..c20b409f --- /dev/null +++ b/src/main/java/org/geoscript/js/index/SpatialIndex.java @@ -0,0 +1,18 @@ +package org.geoscript.js.index; + +import org.geoscript.js.GeoObject; +import org.mozilla.javascript.Wrapper; + +public abstract class SpatialIndex extends GeoObject implements Wrapper { + + protected final org.locationtech.jts.index.SpatialIndex index; + + public SpatialIndex(org.locationtech.jts.index.SpatialIndex index) { + this.index = index; + } + + @Override + public Object unwrap() { + return index; + } +} diff --git a/src/main/java/org/geoscript/js/proj/Projection.java b/src/main/java/org/geoscript/js/proj/Projection.java index f49d44b4..87371dae 100644 --- a/src/main/java/org/geoscript/js/proj/Projection.java +++ b/src/main/java/org/geoscript/js/proj/Projection.java @@ -1,5 +1,6 @@ package org.geoscript.js.proj; +import java.util.Objects; import java.util.logging.Logger; import org.geoscript.js.GeoObject; diff --git a/src/main/resources/org/geoscript/js/lib/geoscript.js b/src/main/resources/org/geoscript/js/lib/geoscript.js index f532b370..e6d3c33a 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript.js @@ -7,3 +7,4 @@ exports.workspace = require("./geoscript/workspace"); exports.viewer = require("./geoscript/viewer"); exports.style = require("./geoscript/style"); exports.map = require("./geoscript/map"); +exports.index = require("./geoscript/index"); diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/index.js b/src/main/resources/org/geoscript/js/lib/geoscript/index.js new file mode 100644 index 00000000..c9f1fcf1 --- /dev/null +++ b/src/main/resources/org/geoscript/js/lib/geoscript/index.js @@ -0,0 +1,30 @@ +var Util = require("./util"); +var Registry = require("./registry").Registry; +var Factory = require("./factory").Factory; + +Packages.org.geoscript.js.index.Module.init(this); +exports.QuadTree = this["org.geoscript.js.index.Quadtree"]; +exports.STRtree = this["org.geoscript.js.index.STRtree"]; + +/** private: method[create] + * :arg config: ``Object`` Configuration object. + * :returns: :class:`index.QuadTree` + * + * Create a map given a configuration object. + */ +var registry = new Registry(); +exports.create = registry.create; + +// register a QuadTree factory for the module +registry.register(new Factory(exports.QuadTree, { + handles: function(config) { + return true; + } +})); + +// register a STRtree factory for the module +registry.register(new Factory(exports.STRtree, { + handles: function(config) { + return true; + } +})); \ No newline at end of file diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/test_index.js b/src/test/resources/org/geoscript/js/tests/geoscript/test_index.js new file mode 100644 index 00000000..154a844e --- /dev/null +++ b/src/test/resources/org/geoscript/js/tests/geoscript/test_index.js @@ -0,0 +1,37 @@ +var assert = require("assert"); +var index = require("geoscript/index"); +var geom = require("geoscript/geom"); + +exports["test: quadtree index"] = function() { + + var quadtree = new index.QuadTree(); + quadtree.insert(new geom.Bounds([0,0,10,10]), new geom.Point([5,5])); + quadtree.insert(new geom.Bounds([2,2,6,6]), new geom.Point([4,4])); + quadtree.insert(new geom.Bounds([20,20,60,60]), new geom.Point([30,30])); + quadtree.insert(new geom.Bounds([22,22,44,44]), new geom.Point([32,32])); + assert.strictEqual(4, quadtree.size, "QuadTree index should have 4 entries"); + + var results = quadtree.query(new geom.Bounds([1,1,5,5])); + assert.strictEqual(4, results.length); + + var allResults = quadtree.queryAll(); + assert.strictEqual(4, allResults.length); + + var isRemoved = quadtree.remove(new geom.Bounds([22,22,44,44]), new geom.Point([32,32])); + assert.ok(isRemoved) + + allResults = quadtree.queryAll() + assert.strictEqual(3, allResults.length); + +}; + +exports["test: strtree index"] = function() { + + var strtree = new index.STRtree(); + strtree.insert(new geom.Bounds([0,0,10,10]), new geom.Point([5,5])); + strtree.insert(new geom.Bounds([2,2,6,6]), new geom.Point([4,4])); + strtree.insert(new geom.Bounds([20,20,60,60]), new geom.Point([30,30])); + strtree.insert(new geom.Bounds([22,22,44,44]), new geom.Point([32,32])); + assert.strictEqual(4, strtree.size, "QuadTree index should have 4 entries"); + +}; \ No newline at end of file diff --git a/src/test/resources/org/geoscript/js/tests/test_geoscript.js b/src/test/resources/org/geoscript/js/tests/test_geoscript.js index 259ecb53..0002cbe8 100644 --- a/src/test/resources/org/geoscript/js/tests/test_geoscript.js +++ b/src/test/resources/org/geoscript/js/tests/test_geoscript.js @@ -8,6 +8,7 @@ exports["test: workspace"] = require("./geoscript/test_workspace"); exports["test: style"] = require("./geoscript/test_style"); exports["test: map"] = require("./geoscript/test_map"); exports["test: util"] = require("./geoscript/test_util"); +exports["test: index"] = require("./geoscript/test_index"); if (require.main == module.id) { system.exit(require("test").run(exports)); From 1886a5064d27964f2493d77a5039f50a92878aec Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Sun, 28 Jun 2020 20:01:01 -0700 Subject: [PATCH 37/56] Add Raster Module (#73) --- doc/api/index.rst | 1 + doc/api/raster.rst | 171 +++++++++++++ pom.xml | 10 + .../java/org/geoscript/js/raster/Band.java | 110 +++++++++ .../java/org/geoscript/js/raster/Format.java | 225 ++++++++++++++++++ .../java/org/geoscript/js/raster/Module.java | 50 ++++ .../java/org/geoscript/js/raster/Raster.java | 144 +++++++++++ .../org/geoscript/js/lib/geoscript.js | 1 + .../org/geoscript/js/lib/geoscript/raster.js | 29 +++ .../resources/org/geoscript/js/tests/admin.js | 4 + .../org/geoscript/js/tests/data/raster.tif | Bin 0 -> 405766 bytes .../js/tests/geoscript/raster/test_format.js | 33 +++ .../js/tests/geoscript/raster/test_raster.js | 81 +++++++ .../js/tests/geoscript/test_raster.js | 6 + .../org/geoscript/js/tests/test_geoscript.js | 1 + 15 files changed, 866 insertions(+) create mode 100644 doc/api/raster.rst create mode 100644 src/main/java/org/geoscript/js/raster/Band.java create mode 100644 src/main/java/org/geoscript/js/raster/Format.java create mode 100644 src/main/java/org/geoscript/js/raster/Module.java create mode 100644 src/main/java/org/geoscript/js/raster/Raster.java create mode 100644 src/main/resources/org/geoscript/js/lib/geoscript/raster.js create mode 100755 src/test/resources/org/geoscript/js/tests/data/raster.tif create mode 100644 src/test/resources/org/geoscript/js/tests/geoscript/raster/test_format.js create mode 100644 src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js create mode 100644 src/test/resources/org/geoscript/js/tests/geoscript/test_raster.js diff --git a/doc/api/index.rst b/doc/api/index.rst index 3f828c70..89307846 100644 --- a/doc/api/index.rst +++ b/doc/api/index.rst @@ -19,6 +19,7 @@ Modules index/* layer workspace + raster style map process diff --git a/doc/api/raster.rst b/doc/api/raster.rst new file mode 100644 index 00000000..0af4b055 --- /dev/null +++ b/doc/api/raster.rst @@ -0,0 +1,171 @@ +The raster module +~~~~~~~~~~~~~~~~ + +The :doc:`raster ` module can read and write Rasters. + +.. code-block:: javascript + + >> var Format = require("geoscript/raster").Format; + +:class:`raster.Format` +==================== + +.. class:: raster.Format(config) + + Create a new Format. The config must contain a source representing the file or URL. + +Properties +---------- + +.. attribute:: Format.name + + ``String`` + The type of Format (GeoTIFF, WorldImage). + +.. attribute:: Format.names + + ``Array`` + Array of Raster names. Most Formats will only contain one Raster. + +Methods +------- + +.. function:: Format.read(config) + + :arg config: ``Object`` An object literal with parameters + + name: The name of the Raster (optional). Required if there are more than one Raster in the Format. + + proj: The Projection of the Raster (optional). + + bounds: The Bounds to read a subset of the entire Raster. Optional, but if included size must also be included. + + size: An array of width and height of the Raster. Optional, buf if included bound must also be included. + +.. function:: Format.write(raster, config) + + :arg raster: :class:`raster.Raster` The Raster to write to this Format. + + :arg config: ``Object`` An object literal of write parameters. + +:class:`raster.Raster` +==================== + +.. class:: raster.Raster + + A Raster is a spatial data set represented by a grid of cells organized in one or more bands. + +Properties +---------- + +.. attribute:: Raster.name + + ``String`` + Get the name of the Raster. + +.. attribute:: Raster.proj + + :class:`proj.Projection` + Get the Projection. + + +.. attribute:: Raster.bounds + + :class:`geom.Bounds` + Get the Bounds. + +.. attribute:: Raster.size + + `Array` + Get the size of the Raster as an Array of two numbers: width and height + +.. attribute:: Raster.cols + + `Number` + Get the number of columns or the width or the Raster + +.. attribute:: Raster.rows + + `Number` + Get the number of row or the height or the Raster + +.. attribute:: Raster.bands + + `Array` of :class:`raster.Bands` + Get an array of Bands + +Methods +------- + +.. function:: Raster.getPoint(x,y) + + :arg x: ``Number`` The pixel's x position + + :arg y: ``Number`` The pixel's y position + + Get a :class:`geom.Point` for the pixel. + +.. function:: Raster.getValue(pointOrPixel) + + :arg pointOrPixel: ``Object`` The pixel or :class:`geom.Point` + + :arg type: ``String`` The type of value to return (double, int, float, byte, boolean) + + Get a value for each band from the Raster. + + +:class:`raster.Band` +==================== + +.. class:: raster.Band + + An individual layer from a Raster. + +Properties +---------- + +.. attribute:: Band.min + + ``Number`` + Get the minimum value from this Band. + +.. attribute:: Band.max + + ``Number`` + Get the maximum value from this Band. + +.. attribute:: Band.noData + + ``Array`` + Get the array of no data values. + + + +.. attribute:: Band.scale + + ``Number`` + Get the scale. + +.. attribute:: Band.scale + + ``Number`` + Get the scale. + +.. attribute:: Band.type + + ``Number`` + Get the Raster type. + +.. attribute:: Band.description + + ``Number`` + Get the Raster description. + +Methods +------- + +.. function:: Band.isNoData(value) + + :arg value: ``Object`` The value to check + + Determine whether the value is a no data value. \ No newline at end of file diff --git a/pom.xml b/pom.xml index a56d60a9..ced973f7 100644 --- a/pom.xml +++ b/pom.xml @@ -156,6 +156,16 @@ gt-flatgeobuf ${gt.version} + + org.geotools + gt-geotiff + ${gt.version} + + + org.geotools + gt-image + ${gt.version} + diff --git a/src/main/java/org/geoscript/js/raster/Band.java b/src/main/java/org/geoscript/js/raster/Band.java new file mode 100644 index 00000000..e2b6129e --- /dev/null +++ b/src/main/java/org/geoscript/js/raster/Band.java @@ -0,0 +1,110 @@ +package org.geoscript.js.raster; + +import org.geoscript.js.GeoObject; +import org.geotools.coverage.TypeMap; +import org.mozilla.javascript.Context; +import org.mozilla.javascript.Function; +import org.mozilla.javascript.Scriptable; +import org.mozilla.javascript.Wrapper; +import org.mozilla.javascript.annotations.JSConstructor; +import org.mozilla.javascript.annotations.JSFunction; +import org.mozilla.javascript.annotations.JSGetter; +import org.opengis.coverage.SampleDimension; + +import javax.measure.Unit; +import java.awt.image.DataBuffer; +import java.util.Arrays; + +public class Band extends GeoObject implements Wrapper { + + private SampleDimension sampleDimension; + + public Band() { + } + + public Band(SampleDimension sampleDimension) { + this.sampleDimension = sampleDimension; + } + + public Band(Scriptable scope, SampleDimension sampleDimension) { + this(sampleDimension); + this.setParentScope(scope); + this.setPrototype(Module.getClassPrototype(Band.class)); + } + + @JSGetter + public double getMin() { + return this.sampleDimension.getMinimumValue(); + } + + @JSGetter + public double getMax() { + return this.sampleDimension.getMaximumValue(); + } + + @JSGetter + public Object getNoData() { + return javaToJS(this.sampleDimension.getNoDataValues(), this.getParentScope()); + } + + @JSFunction + public boolean isNoData(double value) { + double[] values = this.sampleDimension.getNoDataValues(); + return Arrays.asList(values).contains(value); + } + + @JSGetter + public double getScale() { + return this.sampleDimension.getScale(); + } + + @JSGetter + public double getOffset() { + return this.sampleDimension.getOffset(); + } + + @JSGetter + public String getType() { + int type = TypeMap.getDataBufferType(this.sampleDimension.getSampleDimensionType()); + if (type == DataBuffer.TYPE_BYTE) { + return "byte"; + } else if (type == DataBuffer.TYPE_DOUBLE) { + return "double"; + } else if (type == DataBuffer.TYPE_FLOAT) { + return "float"; + } else if (type == DataBuffer.TYPE_INT) { + return "int"; + } else if (type == DataBuffer.TYPE_SHORT) { + return "short"; + } else if (type == DataBuffer.TYPE_USHORT) { + return "short"; + } else { + return "undefined"; + } + } + + @JSGetter + public String getDescription() { + return this.sampleDimension.getDescription().toString(); + } + + @Override + public Object unwrap() { + return this.sampleDimension; + } + + @Override + public String toString() { + return getDescription(); + } + + @JSConstructor + public static Object constructor(Context cx, Object[] args, Function ctorObj, boolean inNewExpr) { + if (inNewExpr) { + return new Band(null); + } else { + return new Band(ctorObj.getParentScope(), null); + } + } + +} diff --git a/src/main/java/org/geoscript/js/raster/Format.java b/src/main/java/org/geoscript/js/raster/Format.java new file mode 100644 index 00000000..cc186419 --- /dev/null +++ b/src/main/java/org/geoscript/js/raster/Format.java @@ -0,0 +1,225 @@ +package org.geoscript.js.raster; + +import net.miginfocom.layout.Grid; +import org.geoscript.js.GeoObject; +import org.geoscript.js.filter.Expression; +import org.geoscript.js.geom.Bounds; +import org.geoscript.js.proj.Projection; +import org.geotools.coverage.grid.GridCoverage2D; +import org.geotools.coverage.grid.GridEnvelope2D; +import org.geotools.coverage.grid.GridGeometry2D; +import org.geotools.coverage.grid.io.AbstractGridFormat; +import org.geotools.coverage.grid.io.GridFormatFinder; +import org.geotools.coverage.grid.io.UnknownFormat; +import org.geotools.gce.image.WorldImageFormat; +import org.geotools.util.factory.GeoTools; +import org.geotools.util.factory.Hints; +import org.mozilla.javascript.*; +import org.mozilla.javascript.annotations.JSConstructor; +import org.mozilla.javascript.annotations.JSFunction; +import org.mozilla.javascript.annotations.JSGetter; +import org.opengis.coverage.grid.GridCoverageReader; +import org.opengis.coverage.grid.GridCoverageWriter; +import org.opengis.parameter.GeneralParameterValue; +import org.opengis.parameter.ParameterValueGroup; + +import java.awt.*; +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +public class Format extends GeoObject implements Wrapper { + + private AbstractGridFormat gridFormat; + + private Object source; + + public Format() { + } + + public Format(AbstractGridFormat gridFormat, Object source) { + this.gridFormat = gridFormat; + this.source = source; + } + + public Format(Scriptable scope, AbstractGridFormat gridFormat, Object source) { + this(gridFormat, source); + this.setParentScope(scope); + this.setPrototype(Module.getClassPrototype(Format.class)); + } + + @JSGetter + public String getName() { + return gridFormat.getName(); + } + + @JSFunction + public Raster read(Scriptable config) { + Raster raster = new Raster(); + raster.setParentScope(this.getParentScope()); + + Map options = (Map) jsObjectToMap(config); + String name = null; + if (options.containsKey("name")) { + name = (String) options.get("name"); + options.remove(name); + } + + Hints hints = GeoTools.getDefaultHints(); + if (options.containsKey("proj")) { + Projection proj = (Projection) options.get("proj"); + hints.put(Hints.DEFAULT_COORDINATE_REFERENCE_SYSTEM, proj.unwrap()); + } + + GridCoverageReader reader = gridFormat.getReader(source, hints); + try { + if (options.containsKey("bounds")) { + Bounds bounds = (Bounds) options.get("bounds"); + List size = (List) jsToJava(options.get("size")); + options.put("ReadGridGeometry2D", new GridGeometry2D( + new GridEnvelope2D(new Rectangle(size.get(0), size.get((1)))), + bounds.unwrap() + )); + options.remove("bounds"); + options.remove("size"); + } + List values = new ArrayList<>(); + ParameterValueGroup parameterValueGroup = reader.getFormat().getReadParameters(); + for(Map.Entry entry : options.entrySet()) { + parameterValueGroup.parameter(entry.getKey()).setValue(entry.getValue()); + values.add(parameterValueGroup.parameter(entry.getKey())); + } + try { + if (name != null) { + raster = new Raster(this.getParentScope(), (GridCoverage2D) reader.read(name, values.toArray(new GeneralParameterValue[]{}))); + } else { + raster = new Raster(this.getParentScope(), (GridCoverage2D) reader.read(values.toArray(new GeneralParameterValue[]{}))); + } + } catch (IOException e) { + throw ScriptRuntime.constructError("Error", "Error reading Raster."); + } + } finally { + try { + reader.dispose(); + } catch (IOException e) { + throw ScriptRuntime.constructError("Error", "Error reading Raster."); + } + } + + return raster; + } + + @JSFunction + public void write(Raster raster, Scriptable config) { + Map options = (Map) jsObjectToMap(config); + GridCoverageWriter writer = gridFormat.getWriter(source); + try { + if (isWorldImage(source.toString())) { + String worldImageFormat = WorldImageFormat.FORMAT.getDefaultValue(); + if (source instanceof File) { + String fileName = ((File)source).getName(); + worldImageFormat = fileName.substring(fileName.lastIndexOf(".") + 1); + } + options.put(WorldImageFormat.FORMAT.getName().toString(), worldImageFormat); + } + List values = new ArrayList<>(); + ParameterValueGroup parameterValueGroup = writer.getFormat().getWriteParameters(); + for(Map.Entry entry : options.entrySet()) { + parameterValueGroup.parameter(entry.getKey()).setValue(entry.getValue()); + values.add(parameterValueGroup.parameter(entry.getKey())); + } + try { + writer.write((GridCoverage2D)raster.unwrap(), values.toArray(new GeneralParameterValue[]{})); + } catch (IOException e) { + throw ScriptRuntime.constructError("Error", "Can't write Raster." + e.getMessage()); + } + + } finally { + try { + writer.dispose(); + } catch (IOException e) { + throw ScriptRuntime.constructError("Error", "Error writing Raster."); + } + } + } + + @JSGetter + public NativeArray getNames() { + List names = new ArrayList<>(); + GridCoverageReader reader = this.gridFormat.getReader(source); + try { + try { + names.addAll(Arrays.asList(reader.getGridCoverageNames())); + } catch (IOException e) { + throw ScriptRuntime.constructError("Error", "Error getting names."); + } + } finally { + try { + reader.dispose(); + } catch (IOException e) { + throw ScriptRuntime.constructError("Error", "Error getting names."); + } + } + return (NativeArray) javaToJS(names, this.getParentScope()); + } + + @Override + public Object unwrap() { + return gridFormat; + } + + @JSConstructor + public static Object constructor(Context cx, Object[] args, Function ctorObj, boolean inNewExpr) { + if (args.length == 0) { + return new Format(); + } + Format format = null; + Object arg = args[0]; + Object value = null; + if (arg instanceof String || arg instanceof Number) { + value = arg.toString(); + } else if (arg instanceof NativeObject) { + NativeObject config = (NativeObject) arg; + value = config.get("source", config).toString(); + } else { + throw ScriptRuntime.constructError("Error", "Cannot create Format from provided value: " + Context.toString(ctorObj)); + } + if (value.toString().startsWith("http")) { + try { + value = new URL(value.toString()); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } else { + value = new File(value.toString()); + } + + if (inNewExpr) { + try { + if (isWorldImage(value.toString())) { + format = new Format(new WorldImageFormat(), value); + } else { + format = new Format(GridFormatFinder.findFormat(value), value); + } + } catch (Exception e) { + throw ScriptRuntime.constructError("Error", "Cannot create Format from provided value: " + Context.toString(ctorObj)); + } + } else { + format = new Format(ctorObj.getParentScope(), GridFormatFinder.findFormat(value), value); + } + return format; + } + + private static boolean isWorldImage(String fileOrUrl) { + return fileOrUrl.toLowerCase().endsWith("png") || + fileOrUrl.toLowerCase().endsWith("jpg") || + fileOrUrl.toLowerCase().endsWith("jpeg") || + fileOrUrl.toLowerCase().endsWith("gif"); + } + +} diff --git a/src/main/java/org/geoscript/js/raster/Module.java b/src/main/java/org/geoscript/js/raster/Module.java new file mode 100644 index 00000000..0cfbd02c --- /dev/null +++ b/src/main/java/org/geoscript/js/raster/Module.java @@ -0,0 +1,50 @@ +package org.geoscript.js.raster; + +import org.geoscript.js.GeoObject; +import org.mozilla.javascript.Scriptable; +import org.mozilla.javascript.ScriptableObject; + +import java.lang.reflect.InvocationTargetException; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +public class Module { + + static HashMap prototypes; + + /** + * Define all geometry constructors in the given module scope. If the + * provided scope is not a "top level" scope, constructors will be defined + * in the top level scope for the given scope. + * @param scope + * @throws IllegalAccessException + * @throws InstantiationException + * @throws InvocationTargetException + */ + public static void init(Scriptable scope) throws IllegalAccessException, InstantiationException, InvocationTargetException { + + scope = ScriptableObject.getTopLevelScope(scope); + + @SuppressWarnings("unchecked") + List> classes = Arrays.asList(Band.class, Raster.class, Format.class); + + prototypes = new HashMap(); + for (Class cls : classes) { + String name = ScriptableObject.defineClass(scope, cls, false, true); + Scriptable prototype = ScriptableObject.getClassPrototype(scope, name); + prototypes.put(name, prototype); + } + + } + + protected static Scriptable getClassPrototype(Class cls) { + String name = cls.getName(); + if (prototypes == null || !prototypes.containsKey(name)) { + throw new RuntimeException( + "Attempt to access prototype before requiring module: " + name); + } + return prototypes.get(name); + } + +} diff --git a/src/main/java/org/geoscript/js/raster/Raster.java b/src/main/java/org/geoscript/js/raster/Raster.java new file mode 100644 index 00000000..0d2ecd54 --- /dev/null +++ b/src/main/java/org/geoscript/js/raster/Raster.java @@ -0,0 +1,144 @@ +package org.geoscript.js.raster; + +import org.geoscript.js.GeoObject; +import org.geoscript.js.geom.Bounds; +import org.geoscript.js.geom.Point; +import org.geoscript.js.proj.Projection; +import org.geotools.coverage.grid.GridCoordinates2D; +import org.geotools.coverage.grid.GridCoverage2D; +import org.geotools.coverage.grid.GridEnvelope2D; +import org.geotools.coverage.grid.GridGeometry2D; +import org.geotools.geometry.DirectPosition2D; +import org.geotools.geometry.jts.ReferencedEnvelope; +import org.mozilla.javascript.*; +import org.mozilla.javascript.annotations.JSConstructor; +import org.mozilla.javascript.annotations.JSFunction; +import org.mozilla.javascript.annotations.JSGetter; +import org.opengis.coverage.SampleDimension; +import org.opengis.geometry.DirectPosition; +import org.opengis.geometry.Envelope; +import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.opengis.referencing.operation.TransformException; + +import java.util.*; + +public class Raster extends GeoObject implements Wrapper { + + private GridCoverage2D coverage; + + public Raster() { + // Prototype + } + + public Raster(GridCoverage2D coverage) { + this.coverage = coverage; + } + + public Raster(Scriptable scope, GridCoverage2D coverage) { + this(coverage); + this.setParentScope(scope); + this.setPrototype(Module.getClassPrototype(Raster.class)); + } + + @JSGetter + public String getName() { + return this.coverage.getName().toString(); + } + + @JSGetter + public Projection getProj() { + return new Projection(this.getParentScope(), this.coverage.getCoordinateReferenceSystem2D()); + } + + @JSGetter + public Bounds getBounds() { + Envelope env = coverage.getEnvelope(); + CoordinateReferenceSystem crs = env.getCoordinateReferenceSystem(); + if (crs == null) { + crs = this.coverage.getCoordinateReferenceSystem2D(); + } + double[] l = env.getLowerCorner().getCoordinate(); + double[] u = env.getUpperCorner().getCoordinate(); + ReferencedEnvelope referencedEnvelope = new ReferencedEnvelope(l[0], u[0], l[1], u[1], crs); + return new Bounds(this.getParentScope(), referencedEnvelope); + } + + @JSGetter + public NativeArray getSize() { + GridEnvelope2D gridEnvelope2D = coverage.getGridGeometry().getGridRange2D(); + return (NativeArray) javaToJS(Arrays.asList( + (int) gridEnvelope2D.getWidth(), + (int) gridEnvelope2D.getHeight() + ), this.getParentScope()); + } + + @JSGetter + public int getCols() { + return (int) getSize().get(0); + } + + @JSGetter + public int getRows() { + return (int) getSize().get(1); + } + + @JSGetter + public NativeArray getBands() { + List bands = new ArrayList<>(); + for(int i = 0; i coords = new HashMap<>(); + coords.put("coordinates", Arrays.asList(dp.x, dp.y)); + return new Point(this.getParentScope(), (NativeObject) javaToJS(coords, this.getParentScope())); + } catch (TransformException e) { + throw ScriptRuntime.constructError("Error", "Error getting Point from pixel coordinates for Raster."); + } + } + + @JSFunction + public Object getValue(Object pointOrPixel) { + Point point; + if (pointOrPixel instanceof Point) { + point = (Point) pointOrPixel; + } else { + NativeObject obj = (NativeObject) pointOrPixel; + int x = (int) obj.get("x", this.getParentScope()); + int y = (int) obj.get("y", this.getParentScope()); + point = getPoint(x, y); + } + DirectPosition dp = new DirectPosition2D(coverage.getCoordinateReferenceSystem2D(), (double) point.getX(), (double) point.getY()); + Object result = coverage.evaluate(dp); + return javaToJS(result, getParentScope()); + } + + @Override + public String toString() { + return this.getName(); + } + + @Override + public Object unwrap() { + return coverage; + } + + @JSConstructor + public static Object constructor(Context cx, Object[] args, Function ctorObj, boolean inNewExpr) { + if (inNewExpr) { + return new Raster(null); + } else { + return new Raster(ctorObj.getParentScope(), null); + } + } + +} diff --git a/src/main/resources/org/geoscript/js/lib/geoscript.js b/src/main/resources/org/geoscript/js/lib/geoscript.js index e6d3c33a..e6319d29 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript.js @@ -8,3 +8,4 @@ exports.viewer = require("./geoscript/viewer"); exports.style = require("./geoscript/style"); exports.map = require("./geoscript/map"); exports.index = require("./geoscript/index"); +exports.raster = require("./geoscript/raster"); diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/raster.js b/src/main/resources/org/geoscript/js/lib/geoscript/raster.js new file mode 100644 index 00000000..590edf05 --- /dev/null +++ b/src/main/resources/org/geoscript/js/lib/geoscript/raster.js @@ -0,0 +1,29 @@ +var Util = require("./util"); +var Registry = require("./registry").Registry; +var Factory = require("./factory").Factory; + +Packages.org.geoscript.js.raster.Module.init(this); +exports.Band = this["org.geoscript.js.raster.Band"]; +exports.Raster = this["org.geoscript.js.raster.Raster"]; +exports.Format = this["org.geoscript.js.raster.Format"]; + +var registry = new Registry(); +exports.create = registry.create; + +registry.register(new Factory(exports.Format, { + handles: function(config) { + return true; + } +})); + +registry.register(new Factory(exports.Raster, { + handles: function(config) { + return true; + } +})); + +registry.register(new Factory(exports.Band, { + handles: function(config) { + return true; + } +})); \ No newline at end of file diff --git a/src/test/resources/org/geoscript/js/tests/admin.js b/src/test/resources/org/geoscript/js/tests/admin.js index bc57811d..76e0453d 100644 --- a/src/test/resources/org/geoscript/js/tests/admin.js +++ b/src/test/resources/org/geoscript/js/tests/admin.js @@ -76,6 +76,10 @@ var meta = { params.setProperty("password", "postgres"); var connection = meta.pg.driver.getConnection(uri, params); } + }, + raster: { + source: path("data/raster.tif"), + writePng: path("raster.png") } }; diff --git a/src/test/resources/org/geoscript/js/tests/data/raster.tif b/src/test/resources/org/geoscript/js/tests/data/raster.tif new file mode 100755 index 0000000000000000000000000000000000000000..d2ae72c6a26484603c8271096a85d77527ebac53 GIT binary patch literal 405766 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%0DJGZAm_)e#kC>Y#HI?~1}6C6n~v4`v3< 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

>T|`UP6IBZrM(Ge{VE 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:R6o-hSIn>q!W|eEH{P z@GKZSIrXcfMbKQ3B66D4Mlu*fMhV|03Tn}l;c~SJ7_#X&7!@< z!a*U5SVmdLq`4t7sN$(~gGMeE zDA8!8gw?e6c9qb%`br6LWo%cghP8CVbVw?LuYA=j`(m)LN`&mchz5E`$G~8EWI7upA0!r?uLXhH zq%v4lV!JggP%ML=HUoU*av$BoV53YrMq|p94zhplYu`*LiYpo!tbJedwC*&{zDgI0ep$IOnJgbrrRv3z*>I;<*yjIn*W;D9Z+q-4-1BV{f3}z(2V<#w1 zTyyPu8FZgTn$;#9tkQ%Gb|4xA(SfQ-{FV2dDbN3c!GHYY`M=q?_SCPRBpQ9-CqKC7 zziz+vMiN38yciuMarxLuCmxqhDpim`G!`cxYHuWb&6Z38QW;!wD1vN;<~qN&?3HD`s{jR| zc@AekBZc6IQG;3YT8%#&X>ytOY>7(~rxXs~7Af3$XWG~_XUGb9B(jgqaMXKI7Y|0h zU|TbpAvS5D#zBWLcEk}B41uD`&4WR9*>DrrVWCe9GPb|&*kfJVC5ys% zw11-&E=z>fErSqd>u4X#v~3z@wlv$dKv7V643mtFV6+f?#mis$ikH9Q6|dlBB6V&C zd41}&sXc234aDw53n@=*D}$Ia@BiSDgTX#_;;OX_dNRG+wr3rD>}Q<3PLEo5$Iv2* z2$BsMhsxmp3PB)zj%xiMe)~(Rgb_kq8G_NTed*FL==+5l7WQ2^qQzkApm=eigSK@* zpb)+ggAu|5-UqpQa=}nn91L@F%?7<~%^*8y?b=od&pIck<9zYUUuSmEP}F^DoccNK zkqLtoMvFl|N>-^_MX1f728j<-dHSa)?(-cDU7Bl+%etFK{lW_gQ!tC}X_Q!8>b$@CQHo3ASkI zpbS=3q5{$1|6!zpJl45pujPOC)${hPJ%ugv_#+S8`-8jh{LanSUvt&hzx;(uF8Itj zXP)|rlTSJ!E&V>Z4mpTtmuj}u!7!NTctHq{Fj?jL4n~Pcd8=6`G#U+s)Cgw=xsxL3 zSzeY0VUSK4T$$6)7Y(exCLhx$;|?qsLVwkT2A%xk*rVc82 z;qS0R*%-w$lcQeyCq6(Uh|p$Cim{yyd4{F=35RxvycGsjRo_f*A##*(U*0x*?Y`S? zP-sB+w~$;sM+m*vfG*+vE#ojCB2Bab`zlT7h;BNi2COqp!@9lj{jpgDc%zA*R@o{U>X z!(jTfwM75)7elGUTK{VqO;z633N84z;4I(07~6hm7`o4yAAia}z~m%iksFMY|s`kaEnS8b#3j81R_+HJRy52AzLTV;^C^y9qyJox#y zBtt}^e|#pMykY474;kc*X-fF}-_X7N$o-Tj?zr`)>!=W3_IY&hj8A^_q%f#`U{L}W zPmsJ0^zm)sVSmgvNZi{Nt35g5ji?lhbSZ>kkSwGbBq==PL)^n=kjQ7rAOy}Mgr0(Z z;U$-U`5V`CI{46|Pvqp?s?TRsOJCS1lox_Z#Dc*|2NQ=DgZZ*z(FS$E$7i?j3#~>f7V6tiv zv`sWh7zW?H+dJu?eEZw}p5+g7m-O(_*Y2D| z_`ZV6hP$DHB+A9mAgm?b3)WS|6pB6uhae&}#iu^8mmc@c~H@kn)0U+vg+#~gRu zap6%0k6Ozh--kh(wu!_<;K;~W`ueeG8|7QHq)_?_Fodq<~(KeS7RA^I@*B=b5Nf+Q&r`1I4yJe#*&a-DvU z)jREf`jM`+KmYOfzy0NtKYQrDAKr5(J)>8D^Xp#Bkb|M%``eVKG)KUzKZ*=rvo(qx6rAWwS_?5gtO2M&%7E*OkymX__4!=URdPWj|% zXS2&f2Cuw^vtF=d9()9E*we2wK>rMs6@&6O7^G$oU%E9T7G3Bdzo}! Date: Mon, 29 Jun 2020 16:34:27 -0700 Subject: [PATCH 38/56] Add Raster getPixel and crop methods --- doc/api/raster.rst | 11 ++++++++ .../java/org/geoscript/js/raster/Raster.java | 27 +++++++++++++++++++ .../js/tests/geoscript/raster/test_raster.js | 24 ++++++++++++++--- 3 files changed, 59 insertions(+), 3 deletions(-) diff --git a/doc/api/raster.rst b/doc/api/raster.rst index 0af4b055..e2f741b3 100644 --- a/doc/api/raster.rst +++ b/doc/api/raster.rst @@ -97,6 +97,12 @@ Properties Methods ------- +.. function:: Raster.getPixel(point) + + :arg point: :class:`geom.Point` The geographic Point + + Get a pixel ``Object`` with x and y properies. + .. function:: Raster.getPoint(x,y) :arg x: ``Number`` The pixel's x position @@ -113,6 +119,11 @@ Methods Get a value for each band from the Raster. +.. function:: Raster.crop(bounds) + + :arg bounds: :class:`geom.Bound` The Bounds of the new Raster + + Crop the current Raster to only include data in the given Bounds. :class:`raster.Band` ==================== diff --git a/src/main/java/org/geoscript/js/raster/Raster.java b/src/main/java/org/geoscript/js/raster/Raster.java index 0d2ecd54..b0f204b6 100644 --- a/src/main/java/org/geoscript/js/raster/Raster.java +++ b/src/main/java/org/geoscript/js/raster/Raster.java @@ -8,15 +8,18 @@ import org.geotools.coverage.grid.GridCoverage2D; import org.geotools.coverage.grid.GridEnvelope2D; import org.geotools.coverage.grid.GridGeometry2D; +import org.geotools.coverage.processing.CoverageProcessor; import org.geotools.geometry.DirectPosition2D; import org.geotools.geometry.jts.ReferencedEnvelope; import org.mozilla.javascript.*; import org.mozilla.javascript.annotations.JSConstructor; import org.mozilla.javascript.annotations.JSFunction; import org.mozilla.javascript.annotations.JSGetter; +import org.opengis.coverage.Coverage; import org.opengis.coverage.SampleDimension; import org.opengis.geometry.DirectPosition; import org.opengis.geometry.Envelope; +import org.opengis.parameter.ParameterValueGroup; import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.TransformException; @@ -106,6 +109,20 @@ public Point getPoint(int x, int y) { } } + @JSFunction + public NativeObject getPixel(Point point) { + GridGeometry2D gg = coverage.getGridGeometry(); + try { + GridCoordinates2D gridCoordinates2D = gg.worldToGrid(new DirectPosition2D((double) point.getX(), (double) point.getY())); + Map pixel = new HashMap<>(); + pixel.put("x", gridCoordinates2D.getX()); + pixel.put("y", gridCoordinates2D.getY()); + return (NativeObject) javaToJS(pixel, this.getParentScope()); + } catch (TransformException e) { + throw ScriptRuntime.constructError("Error", "Error getting Pixel coordinate from Point for Raster."); + } + } + @JSFunction public Object getValue(Object pointOrPixel) { Point point; @@ -122,6 +139,16 @@ public Object getValue(Object pointOrPixel) { return javaToJS(result, getParentScope()); } + @JSFunction + public Raster crop(Bounds bounds) { + CoverageProcessor processor = new CoverageProcessor(); + ParameterValueGroup params = processor.getOperation("CoverageCrop").getParameters(); + params.parameter("Source").setValue(coverage); + params.parameter("Envelope").setValue(new org.geotools.geometry.GeneralEnvelope(bounds.unwrap())); + GridCoverage2D newCoverage = (GridCoverage2D) processor.doOperation(params); + return new Raster(this.getParentScope(), newCoverage); + } + @Override public String toString() { return this.getName(); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js b/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js index 745c3bb5..78dff401 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js @@ -75,7 +75,25 @@ exports["test: get raster point from pixel"] = function() { exports["test: get raster point from pixel"] = function() { var format = new raster.Format({source: admin.raster.source}); var tif = format.read({}); - print(tif.getValue(new geom.Point([-175.8, 81.8]))); - //assert.strictEqual(-69, tif.getValue(new geom.Point([-175.8, 81.8]), "double")[0], "Value should be -69"); - //assert.strictEqual(-69, tif.getValue({x: 10, y: 20}, "double")[0], "Value should be -69"); + assert.strictEqual(-69, tif.getValue(new geom.Point([-175.8, 81.8]), "double")[0], "Value should be -69"); + assert.strictEqual(-69, tif.getValue({x: 10, y: 20}, "double")[0], "Value should be -69"); +}; + +exports["test: get raster pixel from point"] = function() { + var format = new raster.Format({source: admin.raster.source}); + var tif = format.read({}); + var pixel = tif.getPixel(new geom.Point([-175.8, 81.8])); + assert.strictEqual(10, pixel.x, "Value should be 10"); + assert.strictEqual(20, pixel.y, "Value should be 20"); +}; + +exports["test: crop a raster"] = function() { + var format = new raster.Format({source: admin.raster.source}); + var tif = format.read({}); + var smallTif = tif.crop(new geom.Bounds([-180,-90, 0, 0])) + var bounds = smallTif.bounds; + assert.strictEqual(-180, Math.round(bounds.minX), "Min X should be -180"); + assert.strictEqual(-90, Math.round(bounds.minY), "Min Y should be -90"); + assert.strictEqual(0, Math.round(bounds.maxX), "Max X should be 0"); + assert.strictEqual(0, Math.round(bounds.maxY), "Max Y should be 0"); }; \ No newline at end of file From 7e609dd48fe120b17965a41388530e9c121d15ee Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 30 Jun 2020 16:22:46 -0700 Subject: [PATCH 39/56] Add Raster crop by geometry method --- doc/api/raster.rst | 7 +++++++ src/main/java/org/geoscript/js/raster/Raster.java | 11 +++++++++-- .../js/tests/geoscript/raster/test_raster.js | 13 ++++++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/doc/api/raster.rst b/doc/api/raster.rst index e2f741b3..ec01299b 100644 --- a/doc/api/raster.rst +++ b/doc/api/raster.rst @@ -125,6 +125,13 @@ Methods Crop the current Raster to only include data in the given Bounds. +.. function:: Raster.crop(geometry) + + :arg geometry: :class:`geom.Geometry` The Geometry to use when cropping the Raster + + Crop the current Raster to only include data in the given Geometry. + + :class:`raster.Band` ==================== diff --git a/src/main/java/org/geoscript/js/raster/Raster.java b/src/main/java/org/geoscript/js/raster/Raster.java index b0f204b6..55b76215 100644 --- a/src/main/java/org/geoscript/js/raster/Raster.java +++ b/src/main/java/org/geoscript/js/raster/Raster.java @@ -2,6 +2,7 @@ import org.geoscript.js.GeoObject; import org.geoscript.js.geom.Bounds; +import org.geoscript.js.geom.Geometry; import org.geoscript.js.geom.Point; import org.geoscript.js.proj.Projection; import org.geotools.coverage.grid.GridCoordinates2D; @@ -140,11 +141,17 @@ public Object getValue(Object pointOrPixel) { } @JSFunction - public Raster crop(Bounds bounds) { + public Raster crop(Object boundsOrGeometry) { CoverageProcessor processor = new CoverageProcessor(); ParameterValueGroup params = processor.getOperation("CoverageCrop").getParameters(); params.parameter("Source").setValue(coverage); - params.parameter("Envelope").setValue(new org.geotools.geometry.GeneralEnvelope(bounds.unwrap())); + if (boundsOrGeometry instanceof Bounds) { + Bounds bounds = (Bounds) boundsOrGeometry; + params.parameter("Envelope").setValue(new org.geotools.geometry.GeneralEnvelope(bounds.unwrap())); + } else { + Geometry geometry = (Geometry) boundsOrGeometry; + params.parameter("ROI").setValue(geometry.unwrap()); + } GridCoverage2D newCoverage = (GridCoverage2D) processor.doOperation(params); return new Raster(this.getParentScope(), newCoverage); } diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js b/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js index 78dff401..11151fc5 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js @@ -87,7 +87,7 @@ exports["test: get raster pixel from point"] = function() { assert.strictEqual(20, pixel.y, "Value should be 20"); }; -exports["test: crop a raster"] = function() { +exports["test: crop a raster with a bounds"] = function() { var format = new raster.Format({source: admin.raster.source}); var tif = format.read({}); var smallTif = tif.crop(new geom.Bounds([-180,-90, 0, 0])) @@ -96,4 +96,15 @@ exports["test: crop a raster"] = function() { assert.strictEqual(-90, Math.round(bounds.minY), "Min Y should be -90"); assert.strictEqual(0, Math.round(bounds.maxX), "Max X should be 0"); assert.strictEqual(0, Math.round(bounds.maxY), "Max Y should be 0"); +}; + +exports["test: crop a raster with a geometry"] = function() { + var format = new raster.Format({source: admin.raster.source}); + var tif = format.read({}); + var smallTif = tif.crop(new geom.Point([0, 0]).buffer(4)) + var bounds = smallTif.bounds; + assert.strictEqual(-4, Math.round(bounds.minX), "Min X should be -4"); + assert.strictEqual(-4, Math.round(bounds.minY), "Min Y should be -4"); + assert.strictEqual(4, Math.round(bounds.maxX), "Max X should be 4"); + assert.strictEqual(4, Math.round(bounds.maxY), "Max Y should be 4"); }; \ No newline at end of file From d05ec984d2ee54c7cf4bf571a559ecd29948a99e Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 30 Jun 2020 16:29:59 -0700 Subject: [PATCH 40/56] Add Raster reprojection method --- doc/api/raster.rst | 5 +++++ src/main/java/org/geoscript/js/raster/Raster.java | 10 ++++++++++ .../geoscript/js/tests/geoscript/raster/test_raster.js | 9 ++++++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/doc/api/raster.rst b/doc/api/raster.rst index ec01299b..9e83988d 100644 --- a/doc/api/raster.rst +++ b/doc/api/raster.rst @@ -131,6 +131,11 @@ Methods Crop the current Raster to only include data in the given Geometry. +.. function:: Raster.reproject(projection) + + :arg projection: :class:`proj.Projection` The target Projection + + Reproject a Raster from one Projection to anothet Projection. :class:`raster.Band` ==================== diff --git a/src/main/java/org/geoscript/js/raster/Raster.java b/src/main/java/org/geoscript/js/raster/Raster.java index 55b76215..a0e850ce 100644 --- a/src/main/java/org/geoscript/js/raster/Raster.java +++ b/src/main/java/org/geoscript/js/raster/Raster.java @@ -156,6 +156,16 @@ public Raster crop(Object boundsOrGeometry) { return new Raster(this.getParentScope(), newCoverage); } + @JSFunction + public Raster reproject(Projection projection) { + CoverageProcessor processor = new CoverageProcessor(); + ParameterValueGroup params = processor.getOperation("Resample").getParameters(); + params.parameter("Source").setValue(coverage); + params.parameter("CoordinateReferenceSystem").setValue(projection.unwrap()); + GridCoverage2D newCoverage = (GridCoverage2D) processor.doOperation(params); + return new Raster(this.getParentScope(), newCoverage); + } + @Override public String toString() { return this.getName(); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js b/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js index 11151fc5..11ec99e6 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js @@ -71,7 +71,6 @@ exports["test: get raster point from pixel"] = function() { assert.strictEqual("81.8", pt.y.toFixed(1), "Point y should be 81.8"); }; - exports["test: get raster point from pixel"] = function() { var format = new raster.Format({source: admin.raster.source}); var tif = format.read({}); @@ -107,4 +106,12 @@ exports["test: crop a raster with a geometry"] = function() { assert.strictEqual(-4, Math.round(bounds.minY), "Min Y should be -4"); assert.strictEqual(4, Math.round(bounds.maxX), "Max X should be 4"); assert.strictEqual(4, Math.round(bounds.maxY), "Max Y should be 4"); +}; + +exports["test: reproject a raster"] = function() { + var format = new raster.Format({source: admin.raster.source}); + var tif = format.read({}).crop(new geom.Point([0, 0]).buffer(4)); + var reprojectedTif = tif.reproject(new proj.Projection("EPSG:3857")); + assert.strictEqual("EPSG:4326", tif.proj.id, "Original raster should be EPSG:4326"); + assert.strictEqual("EPSG:3857", reprojectedTif.proj.id, "Original raster should be EPSG:3857"); }; \ No newline at end of file From 61d087319d742c2d6c91cf2b0488a29c8f239d98 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Fri, 3 Jul 2020 09:26:55 -0700 Subject: [PATCH 41/56] Add Raster reclassify, extrema, getMinValue, and getMaxValue methods --- doc/api/raster.rst | 27 +++++++- pom.xml | 5 ++ .../java/org/geoscript/js/raster/Raster.java | 62 ++++++++++++++++++- .../js/tests/geoscript/raster/test_raster.js | 28 +++++++++ 4 files changed, 120 insertions(+), 2 deletions(-) diff --git a/doc/api/raster.rst b/doc/api/raster.rst index 9e83988d..bb6adfd1 100644 --- a/doc/api/raster.rst +++ b/doc/api/raster.rst @@ -94,6 +94,11 @@ Properties `Array` of :class:`raster.Bands` Get an array of Bands +.. attribute:: Raster.extrema + + `Object` with min and max arrays with min and max values for each band + Get the minimum and maximum values for each band. + Methods ------- @@ -119,6 +124,18 @@ Methods Get a value for each band from the Raster. +.. function:: Raster.getMinimumValue(band) + + :arg namd: `Number` The band + + Get the minimum value for the given band + +.. function:: Raster.getMaximumValue(band) + + :arg namd: `Number` The band + + Get the maximum value for the given band + .. function:: Raster.crop(bounds) :arg bounds: :class:`geom.Bound` The Bounds of the new Raster @@ -135,7 +152,15 @@ Methods :arg projection: :class:`proj.Projection` The target Projection - Reproject a Raster from one Projection to anothet Projection. + Reproject a Raster from one Projection to another Projection. + +.. function:: Raster.reclassify(ranges, options) + + :arg ranges: `Array` An array of object literals with required min, max, and value properties. minIncluded and maxIncluded are optional. + + :arg options: `Object` An object literal with optional band and noData values. + + Reclassify the values of the Raster. :class:`raster.Band` ==================== diff --git a/pom.xml b/pom.xml index ced973f7..a55f3b28 100644 --- a/pom.xml +++ b/pom.xml @@ -89,6 +89,11 @@ gt-process-feature ${gt.version} + + org.geotools + gt-process-raster + ${gt.version} + org.geotools gt-epsg-hsql diff --git a/src/main/java/org/geoscript/js/raster/Raster.java b/src/main/java/org/geoscript/js/raster/Raster.java index a0e850ce..fbe63e4a 100644 --- a/src/main/java/org/geoscript/js/raster/Raster.java +++ b/src/main/java/org/geoscript/js/raster/Raster.java @@ -12,11 +12,12 @@ import org.geotools.coverage.processing.CoverageProcessor; import org.geotools.geometry.DirectPosition2D; import org.geotools.geometry.jts.ReferencedEnvelope; +import org.geotools.process.raster.RangeLookupProcess; +import org.jaitools.numeric.Range; import org.mozilla.javascript.*; import org.mozilla.javascript.annotations.JSConstructor; import org.mozilla.javascript.annotations.JSFunction; import org.mozilla.javascript.annotations.JSGetter; -import org.opengis.coverage.Coverage; import org.opengis.coverage.SampleDimension; import org.opengis.geometry.DirectPosition; import org.opengis.geometry.Envelope; @@ -166,6 +167,65 @@ public Raster reproject(Projection projection) { return new Raster(this.getParentScope(), newCoverage); } + @JSFunction + public Raster reclassify(NativeArray ranges, NativeObject options) { + int band = (int) options.getOrDefault("band", 0); + double noData = (double) options.getOrDefault("noData",0); + List rangeList = new ArrayList<>(); + int[] pixelValues = new int[ranges.size()]; + for(int i = 0; i values = new HashMap<>(); + values.put("min", coverage.getProperty("minimum")); + values.put("max",coverage.getProperty("maximum")); + return (NativeObject) javaToJS(values, this.getParentScope()); + } + + @JSFunction + public Object getMinValue(int band) { + double minValue = this.coverage.getSampleDimension(band).getMinimumValue(); + if (Double.isInfinite(minValue)) { + minValue = ((double[])this.getExtrema().get("min"))[band]; + } + return minValue; + } + + @JSFunction + public Object getMaxValue(int band) { + double maxValue = this.coverage.getSampleDimension(band).getMaximumValue(); + if (Double.isInfinite(maxValue)) { + maxValue = ((double[])this.getExtrema().get("max"))[band]; + } + return maxValue; + } + + private int getInt(Object obj) { + if (obj instanceof Number) { + return ((Number)obj).intValue(); + } else { + return getInt(Double.parseDouble(obj.toString())); + } + } + @Override public String toString() { return this.getName(); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js b/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js index 11ec99e6..89d1f544 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/raster/test_raster.js @@ -114,4 +114,32 @@ exports["test: reproject a raster"] = function() { var reprojectedTif = tif.reproject(new proj.Projection("EPSG:3857")); assert.strictEqual("EPSG:4326", tif.proj.id, "Original raster should be EPSG:4326"); assert.strictEqual("EPSG:3857", reprojectedTif.proj.id, "Original raster should be EPSG:3857"); +}; + +exports["test: reclassify a raster"] = function() { + var format = new raster.Format({source: admin.raster.source}); + var tif = format.read({}); + var reclassifiedTif = tif.reclassify([ + {min: -1000, max: 0, value: -1}, + {min: 0, max: 50, value: 1}, + {min: 50, max: 100, value: 2}, + {min: 100, max: 2000, value: 3} + ], {noData: 0}); + assert.strictEqual(-1, reclassifiedTif.getValue(new geom.Point([-175.8, 81.8]), "double")[0], "Value should be -1"); + assert.strictEqual(-1, reclassifiedTif.getValue({x: 10, y: 20}, "double")[0], "Value should be -1"); +}; + +exports["test: get min and max values for a raster band"] = function() { + var format = new raster.Format({source: admin.raster.source}); + var tif = format.read({}); + assert.strictEqual(49, tif.getMinValue(0)); + assert.strictEqual(255, tif.getMaxValue(0)); +}; + +exports["test: get extrema for all raster bands"] = function() { + var format = new raster.Format({source: admin.raster.source}); + var tif = format.read({}); + var extrema = tif.extrema + assert.strictEqual(49, extrema.min[0]); + assert.strictEqual(255, extrema.max[0]); }; \ No newline at end of file From eed249155206360dd42192f1c99e20755615298d Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 7 Jul 2020 16:11:13 -0700 Subject: [PATCH 42/56] Add Raster constructor for creating a new Raster from a matrix of values. Add pixelSize and blockSize methods --- doc/api/raster.rst | 13 ++++ .../java/org/geoscript/js/raster/Raster.java | 70 +++++++++++++++++-- .../js/tests/geoscript/raster/test_raster.js | 27 +++++++ 3 files changed, 104 insertions(+), 6 deletions(-) diff --git a/doc/api/raster.rst b/doc/api/raster.rst index bb6adfd1..c7653c53 100644 --- a/doc/api/raster.rst +++ b/doc/api/raster.rst @@ -55,6 +55,9 @@ Methods A Raster is a spatial data set represented by a grid of cells organized in one or more bands. + Usually, Rasters are read from a Format, but you can create a new Raster from an array or array of numeric values + and a geom.Bounds. + Properties ---------- @@ -99,6 +102,16 @@ Properties `Object` with min and max arrays with min and max values for each band Get the minimum and maximum values for each band. +.. attribute:: Raster.blockSize + + `Array` with width and height of a pixel + Get the block size + +.. attribute:: Raster.pixelSize + + `Array` with width and height of a pixel + Get the pixel size + Methods ------- diff --git a/src/main/java/org/geoscript/js/raster/Raster.java b/src/main/java/org/geoscript/js/raster/Raster.java index fbe63e4a..57e87a96 100644 --- a/src/main/java/org/geoscript/js/raster/Raster.java +++ b/src/main/java/org/geoscript/js/raster/Raster.java @@ -5,14 +5,14 @@ import org.geoscript.js.geom.Geometry; import org.geoscript.js.geom.Point; import org.geoscript.js.proj.Projection; -import org.geotools.coverage.grid.GridCoordinates2D; -import org.geotools.coverage.grid.GridCoverage2D; -import org.geotools.coverage.grid.GridEnvelope2D; -import org.geotools.coverage.grid.GridGeometry2D; +import org.geotools.coverage.Category; +import org.geotools.coverage.GridSampleDimension; +import org.geotools.coverage.grid.*; import org.geotools.coverage.processing.CoverageProcessor; import org.geotools.geometry.DirectPosition2D; import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.process.raster.RangeLookupProcess; +import org.geotools.util.NumberRange; import org.jaitools.numeric.Range; import org.mozilla.javascript.*; import org.mozilla.javascript.annotations.JSConstructor; @@ -25,7 +25,12 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.operation.TransformException; +import javax.media.jai.RasterFactory; +import java.awt.*; +import java.awt.image.DataBuffer; +import java.awt.image.WritableRaster; import java.util.*; +import java.util.List; public class Raster extends GeoObject implements Wrapper { @@ -218,6 +223,25 @@ public Object getMaxValue(int band) { return maxValue; } + @JSGetter + public NativeArray getBlockSize() { + int[] size = this.coverage.getOptimalDataBlockSizes(); + return (NativeArray) javaToJS(Arrays.asList( + size[0], + size[1] + ), this.getParentScope()); + } + + @JSGetter + public NativeArray getPixelSize() { + Bounds bounds = this.getBounds(); + NativeArray size = this.getSize(); + return (NativeArray) javaToJS(Arrays.asList( + ((double) bounds.getWidth()) / ((int)size.get(0)), + ((double) bounds.getHeight()) / ((int)size.get(1)) + ), this.getParentScope()); + } + private int getInt(Object obj) { if (obj instanceof Number) { return ((Number)obj).intValue(); @@ -238,10 +262,44 @@ public Object unwrap() { @JSConstructor public static Object constructor(Context cx, Object[] args, Function ctorObj, boolean inNewExpr) { + NativeArray data = (NativeArray) args[0]; + Bounds bounds = (Bounds) args[1]; + + double min = Double.MAX_VALUE; + double max = Double.MIN_VALUE; + float[][] matrix = new float[(int) data.getLength()][ (int) (data.getLength() > 0 ? ((NativeArray) data.get(0)).getLength() : 0)]; + for(int i = 0; i max) { + max = value; + } + matrix[i][j] = value; + } + } + + int width = matrix[0].length; + int height = matrix.length; + + WritableRaster writableRaster = RasterFactory.createBandedRaster(DataBuffer.TYPE_FLOAT, width, height, 1, null); + for(int i = 0; i Date: Wed, 5 Aug 2020 16:51:55 -0700 Subject: [PATCH 43/56] Add variable width buffer method to Geometry. (#77) --- doc/api/geom/geometry.rst | 8 ++++++++ .../java/org/geoscript/js/geom/Geometry.java | 16 ++++++++++++++++ .../geoscript/js/tests/geoscript/test_geom.js | 15 ++++++++++++++- 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/doc/api/geom/geometry.rst b/doc/api/geom/geometry.rst index a347ac13..a1922f7e 100644 --- a/doc/api/geom/geometry.rst +++ b/doc/api/geom/geometry.rst @@ -99,6 +99,14 @@ Common Geometry Methods Construct a geometry that buffers this geometry by the given width. +.. function:: Geometry.variableBuffer + + :arg distances: ``Array`` An array of distances. + + :returns: :class:`geom.Geometry` + + Construct a geometry that buffers this geometry with an array of distances. + .. function:: Geometry.clone :returns: :class:`geom.Geometry` diff --git a/src/main/java/org/geoscript/js/geom/Geometry.java b/src/main/java/org/geoscript/js/geom/Geometry.java index 61bb04db..35bb87eb 100644 --- a/src/main/java/org/geoscript/js/geom/Geometry.java +++ b/src/main/java/org/geoscript/js/geom/Geometry.java @@ -34,6 +34,7 @@ import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Envelope; import org.locationtech.jts.geom.GeometryFactory; +import org.locationtech.jts.operation.buffer.VariableBuffer; import org.locationtech.jts.operation.buffer.BufferOp; import org.locationtech.jts.operation.buffer.BufferParameters; import org.locationtech.jts.triangulate.VoronoiDiagramBuilder; @@ -257,6 +258,21 @@ public Geometry buffer(double distance, NativeObject options) { return wrapped; } + @JSFunction + public Geometry variableBuffer(NativeArray distances) { + if (distances.size() == 2) { + return (Geometry) GeometryWrapper.wrap(getParentScope(), VariableBuffer.buffer(getGeometry(), getDouble(distances.get(0)), getDouble(distances.get(1)))); + } else if (distances.size() == 3) { + return (Geometry) GeometryWrapper.wrap(getParentScope(), VariableBuffer.buffer(getGeometry(), getDouble(distances.get(0)), getDouble(distances.get(1)), getDouble(distances.get(2)))); + } else { + return (Geometry) GeometryWrapper.wrap(getParentScope(), VariableBuffer.buffer(getGeometry(), distances.stream().mapToDouble(d -> getDouble(d)).toArray())); + } + } + + private double getDouble(Object obj) { + return ((Number) obj).doubleValue(); + } + @JSGetter public Projection getProjection() { return projection; diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js index 5cbbf78b..769a3876 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js @@ -22,7 +22,7 @@ exports["test: create(point)"] = function() { exports["test: create(linestring)"] = function() { var type = "LineString"; - var coordinates = [[0, 1], [1, 2]]; + var coordinates = [[0, 1], [1, 2]]; var o, g; // create a linestring @@ -196,6 +196,19 @@ exports["test: create non-conforming delaunay triangles"] = function() { } +exports["test: variable buffer"] = function() { + + var geom = new GEOM.LineString([[1,2], [10,20], [30,50], [100, 150]]); + var buffer = geom.variableBuffer([10,50]) + ASSERT.ok(buffer instanceof GEOM.Polygon) + + buffer = geom.variableBuffer([10, 20, 50]) + ASSERT.ok(buffer instanceof GEOM.Polygon) + + buffer = geom.variableBuffer([10, 20, 50, 75]) + ASSERT.ok(buffer instanceof GEOM.Polygon) + +} exports["test: Point"] = require("./geom/test_point"); exports["test: LineString"] = require("./geom/test_linestring"); From d517aa3b785c229392884b9186fa174cab27e3bb Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Thu, 6 Aug 2020 16:08:26 -0700 Subject: [PATCH 44/56] Add get maximum inscribed circle method to Geometry (#79) --- doc/api/geom/geometry.rst | 7 +++++++ src/main/java/org/geoscript/js/geom/Geometry.java | 11 +++++++++++ .../org/geoscript/js/tests/geoscript/test_geom.js | 14 ++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/doc/api/geom/geometry.rst b/doc/api/geom/geometry.rst index a1922f7e..f20ed51e 100644 --- a/doc/api/geom/geometry.rst +++ b/doc/api/geom/geometry.rst @@ -266,6 +266,13 @@ Common Geometry Methods :attr:`projection` of this geometry must be set before calling this method. Returns a new geometry. +.. function:: Geometry.getMaximumInscribedCircle + + :arg config: :`Object` tolerance property defaults to 1.0 + :returns: :class:`geom.Geometry` + + Get the maximum inscribed circle for this Geometry. + .. function:: Geometry.within :arg other: :class:`geom.Geometry` diff --git a/src/main/java/org/geoscript/js/geom/Geometry.java b/src/main/java/org/geoscript/js/geom/Geometry.java index 35bb87eb..bad3cd4e 100644 --- a/src/main/java/org/geoscript/js/geom/Geometry.java +++ b/src/main/java/org/geoscript/js/geom/Geometry.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Objects; +import org.locationtech.jts.algorithm.construct.MaximumInscribedCircle; import org.locationtech.jts.densify.Densifier; import org.geoscript.js.GeoObject; import org.geoscript.js.proj.Projection; @@ -341,6 +342,16 @@ public ScriptableObject randomPoints(int number) { return points; } + @JSFunction + public Geometry getMaximumInscribedCircle(NativeObject config) { + double tolerance = getDouble(config.getOrDefault("tolerance", 1.0)); + MaximumInscribedCircle algorithm = new MaximumInscribedCircle(getGeometry(), tolerance); + return (Geometry) GeometryWrapper.wrap( + getParentScope(), + algorithm.getCenter().buffer(algorithm.getRadiusLine().getLength()) + ); + } + @JSFunction public ScriptableObject createDelaunayTriangles(boolean isConforming) { org.locationtech.jts.geom.Geometry geom; diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js index 769a3876..a134e387 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js @@ -186,6 +186,20 @@ exports["test: create conforming delaunay triangles"] = function() { } +exports["test: maximum inscribed circle"] = function() { + + var geom = new GEOM.Polygon([[ + [-122.38855361938475, 47.5805786829606], [-122.38636493682861, 47.5783206388176], + [-122.38700866699219, 47.5750491969984], [-122.38177299499512, 47.57502024527343], + [-122.38481998443604, 47.5780600889959], [-122.38151550292969, 47.5805786829606], + [-122.38855361938475, 47.5805786829606] + ]]); + ASSERT.ok(geom instanceof GEOM.Polygon); + var circle = geom.getMaximumInscribedCircle({tolerance: 1.0}); + ASSERT.ok(circle instanceof GEOM.Polygon); + +} + exports["test: create non-conforming delaunay triangles"] = function() { var geom = GEOM.Point([1,1]).buffer(50) From 8c3167ec6bacdcf6f2e3c82632efdd8f90c686f6 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Thu, 6 Aug 2020 16:18:39 -0700 Subject: [PATCH 45/56] Add largest empty circle method to Geometry. (#78) --- doc/api/geom/geometry.rst | 7 ++++--- src/main/java/org/geoscript/js/geom/Geometry.java | 11 +++++++++++ .../org/geoscript/js/tests/geoscript/test_geom.js | 14 ++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/doc/api/geom/geometry.rst b/doc/api/geom/geometry.rst index f20ed51e..8e7669f5 100644 --- a/doc/api/geom/geometry.rst +++ b/doc/api/geom/geometry.rst @@ -281,9 +281,10 @@ Common Geometry Methods Tests if this geometry is within the other geometry. This is the inverse of :func:`contains`. +.. function:: Geometry.getLargestEmptyCircle + :arg config: :`Object` tolerance property defaults to 1.0 + :returns: :class:`geom.Geometry` - - - + Get the largest empty circle in this Geometry. diff --git a/src/main/java/org/geoscript/js/geom/Geometry.java b/src/main/java/org/geoscript/js/geom/Geometry.java index bad3cd4e..6349107e 100644 --- a/src/main/java/org/geoscript/js/geom/Geometry.java +++ b/src/main/java/org/geoscript/js/geom/Geometry.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Objects; +import org.locationtech.jts.algorithm.construct.LargestEmptyCircle; import org.locationtech.jts.algorithm.construct.MaximumInscribedCircle; import org.locationtech.jts.densify.Densifier; import org.geoscript.js.GeoObject; @@ -370,6 +371,16 @@ public ScriptableObject createDelaunayTriangles(boolean isConforming) { return triangles; } + @JSFunction + public Geometry getLargestEmptyCircle(NativeObject config) { + double tolerance = getDouble(config.getOrDefault("tolerance", 1.0)); + LargestEmptyCircle algorithm = new LargestEmptyCircle(getGeometry(), tolerance); + return (Geometry) GeometryWrapper.wrap( + getParentScope(), + algorithm.getCenter().buffer(algorithm.getRadiusLine().getLength()) + ); + } + @JSFunction public String getGeometryType() { return geometry.getGeometryType(); diff --git a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js index a134e387..25db0db9 100644 --- a/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js +++ b/src/test/resources/org/geoscript/js/tests/geoscript/test_geom.js @@ -176,6 +176,20 @@ exports["test: create random points"] = function() { } +exports["test: largest empty circle"] = function() { + + var geom = new GEOM.Polygon([[ + [-122.38855361938475, 47.5805786829606], [-122.38636493682861, 47.5783206388176], + [-122.38700866699219, 47.5750491969984], [-122.38177299499512, 47.57502024527343], + [-122.38481998443604, 47.5780600889959], [-122.38151550292969, 47.5805786829606], + [-122.38855361938475, 47.5805786829606] + ]]); + ASSERT.ok(geom instanceof GEOM.Polygon); + var circle = geom.getLargestEmptyCircle({tolerance: 1.0}); + ASSERT.ok(circle instanceof GEOM.Polygon); + +} + exports["test: create conforming delaunay triangles"] = function() { var geom = GEOM.Point([1,1]).buffer(50) From a08bc9017639e63b8dd2971028ed4bde4462afb8 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Sun, 20 Sep 2020 09:46:16 -0700 Subject: [PATCH 46/56] Release 1.3.0 based on GeoTools 24 --- doc/download.rst | 2 ++ doc/quickstart.rst | 2 +- pom.xml | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/download.rst b/doc/download.rst index 1d812805..09570f43 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,6 +3,8 @@ Downloads ========= +`GeoScript JS 1.3.0 `__ + `GeoScript JS 1.2.0 `__ `GeoScript JS 1.1.0 `__ diff --git a/doc/quickstart.rst b/doc/quickstart.rst index 394f7fd4..79519578 100644 --- a/doc/quickstart.rst +++ b/doc/quickstart.rst @@ -29,4 +29,4 @@ After extracting the release archive, you can open the GeoScript shell and impor You can also use the uber jar that contains all dependencies and is runnable:: - java -jar geoscript-js-1.2.0-app.jar + java -jar geoscript-js-1.3.0-app.jar diff --git a/pom.xml b/pom.xml index a55f3b28..195e09da 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.3-SNAPSHOT + 1.3.0 - 24-SNAPSHOT + 24.0 UTF-8 UTF-8 From 0d042b6c73e49072f751cdaab2d1bbfc07c60ea7 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Mon, 21 Sep 2020 16:59:24 -0700 Subject: [PATCH 47/56] Start working on version 1.4 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 195e09da..ac5b0db7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.3.0 + 1.4-SNAPSHOT - 24.0 + 25-SNAPSHOT UTF-8 UTF-8 From b6369b771664c39a3e0d1838e622a4acb3a461dc Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 13 Oct 2020 15:57:39 -0700 Subject: [PATCH 48/56] Upgrade junit to 4.13.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ac5b0db7..4b2d1bc1 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,7 @@ junit junit - 4.11 + 4.13.1 test From de4808324e145a678f6f019a762660798ed5f994 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Sat, 17 Oct 2020 19:50:43 -0700 Subject: [PATCH 49/56] Add github action. --- .github/workflows/build.yml | 27 +++++++++++++++++++++++++++ README.md | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..7d87b9d0 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,27 @@ +name: Maven Build +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + - name: Build with Maven + run: mvn -B package --file pom.xml + - name: Upload geoscript-js.zip + uses: actions/upload-artifact@v2 + with: + name: geoscript-js.zip + path: target/geoscript-js-*.zip + - name: Upload geoscript-js-app.jar + uses: actions/upload-artifact@v2 + with: + name: geoscript-js-app + path: target/geoscript-js-*-app.jar \ No newline at end of file diff --git a/README.md b/README.md index 70d2a2a1..e3f44282 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ [![Current Status](https://secure.travis-ci.org/geoscript/geoscript-js.png?branch=master)](https://travis-ci.org/geoscript/geoscript-js) +[![Build Status](https://github.com/geoscript/geoscript-js/workflows/Maven%20Build/badge.svg)](https://github.com/geoscript/geoscript-js/actions) + # geoscript.js ## GeoScript in JavaScript From 6ab24229acc1ab4f0a0c313514bcc8c8b6cac5de Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 23 Mar 2021 16:22:14 -0700 Subject: [PATCH 50/56] Release 1.4.0 --- doc/download.rst | 2 ++ doc/quickstart.rst | 2 +- examples/raster/raster.pgw | 6 ++++++ examples/raster/raster.png | Bin 0 -> 121098 bytes examples/raster/raster.prj | 9 +++++++++ examples/raster/raster.tif | Bin 0 -> 405766 bytes examples/raster/readRaster.js | 13 +++++++++++++ pom.xml | 6 +++--- .../js/lib/geoscript/workspace/memory.js | 2 +- 9 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 examples/raster/raster.pgw create mode 100644 examples/raster/raster.png create mode 100644 examples/raster/raster.prj create mode 100755 examples/raster/raster.tif create mode 100644 examples/raster/readRaster.js diff --git a/doc/download.rst b/doc/download.rst index 09570f43..80710d67 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,6 +3,8 @@ Downloads ========= +`GeoScript JS 1.4.0 `__ + `GeoScript JS 1.3.0 `__ `GeoScript JS 1.2.0 `__ diff --git a/doc/quickstart.rst b/doc/quickstart.rst index 79519578..d27e520f 100644 --- a/doc/quickstart.rst +++ b/doc/quickstart.rst @@ -29,4 +29,4 @@ After extracting the release archive, you can open the GeoScript shell and impor You can also use the uber jar that contains all dependencies and is runnable:: - java -jar geoscript-js-1.3.0-app.jar + java -jar geoscript-js-1.4.0-app.jar diff --git a/examples/raster/raster.pgw b/examples/raster/raster.pgw new file mode 100644 index 00000000..945ce57a --- /dev/null +++ b/examples/raster/raster.pgw @@ -0,0 +1,6 @@ +0.4 +0.0 +0.0 +-0.4 +-179.8 +89.8 diff --git a/examples/raster/raster.png b/examples/raster/raster.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a5d07fbfc9d70e63a463ebda0ac65bb31156aa GIT binary patch literal 121098 zcmWifWn7bA8^>w3Ibgu(+7N`%-MP`tP(VbGPGu4j0wQdbl%#Zw6c7-Q5|EJ+(jh%m zQi;Eml#kDOcg~ypbME`PuitgPzw5-Ands7h*g+&DBsBVZT4)jyax4i6DFN_rfh4uV zx|@U~f<#|S^KQ^$O@541y32>Ze|it>0-2uozN>_wUGHQY-3dSoP)@xxL(!>f2#URL zx9jZKKTy2R+X@qiJv)0xRQ&{U+ZrsiF( zk9UDeaLC@zuYOzNcFSF%e|DSql;wR^yZpAkbY7kX@~DI!yZam*eG@P(R14D?r#pXq zu_v$-Y&5>geTDiD->G}0Vl+-3^epgTtvm4G$%V1c+Q;B;i?bt3EaUkrO3iHzA3{SL zRHbDl$Mku4!TPPuGeLQZ!Q+?uTkCSC-c(>zXy8cr+?2a9eg~yq2>wm-%cA> z`}<$D5ABP~>(@>zs$pRnHh(po+})l1y?HwwcPMl1Z4K&XeM4&Jrm8bkbI04v^O^1l6sF+x*+f&Kwc>{I2zcW%-0%>lE zg(uAcK|fmt*Mccu*q?LlwB#1%=H})Xm>fh_%~5ntZyQJZROvWjF!gE@6NLprYD_^> zEn&yx7kdWHmbG&izu49*3c`c&lj~<|fbO%YZkLag2OoF7er>xSv{Y8-NNKMZK53G# z)Y+V|8tOKluN-)Dg?qIl8nh#&V)f3hjcWX4Z{BCQ_4VrO!{w>1&9VIad=B|{6)!e+ zGlX}3`5zJ5{MH1w%jSc63x<2R?d)r?msnp`VGo>1D7QBqh zt@u?*;I|dX#OZn~M7qGpAN8NRz0(CL01x!wnhNUO5r55h!kQai+r^U*n>plP6FSZq zutr24>|vZ^>mXQ-kBW)#FJgY#c0cWEedwuufQrPk3 z0qu+HA1sAo{~Zm+5wJvMpYD^*T(ARKoTfkc=A`b^y8X?6_J2>Z{`x|x$d2j&$eJSwr6IN5M?oH|y@;_dKSyxw`RLJeW)-o-Yt8zvGr$$s4kM3FQU zDtJR;#vJZN9ItxqRJ^#5d0=2qdZlh3!$Je60FCFlfEjU1OIdLQVXJoxSZ-9*+2f?g8@OgXXY5L}r7Ks|ia#$8Dd zvI^&?08G2he{FP|dX;JSzW>kHs<{RCM)SIp6HY^D`0rVk!WSXi-;&ir|6ZSw5?W}5 zaOYYedlWw(e_3n@M9O;)D@q(Q^at|#A7IM|nUcNeT0_QG(}g1AHau7oD00UsWDI6I27^+tFw=J*H%&{ALqXV`?nS8^0v2A>$`D}wHF^yij*4Vs z>yuyQ>l`ORhQu_`($=G60ZLS)y=vpP(bg8)oG@)?S#Js4Z6mlwEInmtPT6>>3mzh= z62@Kz5mb4>T`J*0WWuL3AL^jh#$kkPRxJv~D7Q3lfl{{J&TIywKqm9j4x@m67gC`V znG9J>gF#6KcZhm2Q4qD-DWCM4yA&Mf>R0rtl=?D~M&f-GefZOt6qA*La2-65AYEoq zi3UKVqBVgTgu&-YgSvuPO2B~>ZhqP;aA)IBqnl~rq7jenAPZV!k)6ZCQ6uE%(3v1k z&mmrKjT~g56*3{1U?T{*!{vYEj)(*ibD_yyh7fLEK=<|j(4^A}5Sc=N1N73MCgU*d zD?>h93GN5D01O$nXNcNkh|dAP!w3%NltJ#0Edg`oQlh?+KWgQ(iG`)!ag^|yYAvVV z2gYmtIU}qIYP%h_sXHjrb#_ZwGUgvbc!N5_Iy*b{?CY+IN+PX)zpTQ%F$Ww~e*C@3 z%$%tJ(*^;1`J!uZ|58bhc4<~N65WgCwE(;nd|FEiX>u~iTTzZ0NJ_LBfjx?cz# zIZ>&*r68$^rKMO#9U>OV3M^gg=O#RXeD?B>kO)ipy(hs-to#W5ecltE_unmCy$I)z zAgExd5%ewRCS?PTzBE&xMy3 zQ+Dq{74Ac;PrQ)sQr0_T1+W;Vv|gJ}7(K)&?7Jg{%LlJ3A|?HfM_I~$gkO)zj)pV5 z`iRYYC9%ir;|*XtqvGwko%AJ%sGYqh<6|bpkfg)}42YUuK6Cmu2Q*e03dFEpBWX=Y$bu9AG$`tjOu!VaS$Qtmi-7Q2=`pC*bt2C z5y%6SK-A3nk0JY0c*tr=5VTC942O6+3+}CC%l3C|iL$zr~0{@ESu(pmzZ3|KV~$(BILSiPi(_BRTL+J3*M9aQjG5pu#KhE4rCrZQ6{xRI z)1cHFM+}aJL`{|AcG?EU1HvLcReyrPgECR(gX>_597v)N);2^4i+{rmigr5wPfx<& z%HiWgf|LR)kG5HxGbmS$yO}U*OHVk~*Roeb0ZPOnNXzp>xYQ}d4+x1fS)t0;S5j|^ zus;u98v+CU06uGrZ7+|uDT7W-9+x*^JYEWyMv=pCwz+?foysA%r&?C;f@B5zd3U^W zpbXf*T&%}0;NY7?6uRgztmtr}qVUBHr7O-1-d{7}Db1PUs~C)%t~+UF;CBXeGEgx! z`D12T(?iXKrML+nkVCTQzj+YzKDt=O)Q4h{lly@=`TSG@rGg;s?s9#KS!Y0x+68`m zntE-69NJ!)UM)l6kSI}e8;jyh24SU1k)izaSfog*X9iU8`^@3{=rV-FJ?6Tn`p5tM zcw7@-u;NHHpRPId0{&llQ;Wy?j2{5cdXb0GGAtgeVdw?V{TXNArWRG`Pa#oDuGEJ^ zK1j+`gsim-5fv>6Udr-q`aSpI9&q%Kxd(T=@59Zw?^qD=2@s3UQLH2NFeq(6f||2e z)0s-3;hCj}csg}H(Z0S3iO^n`=p^JTt-q)9-IM@(3xK^Fz#N2tsUGjRK~utW$~0Olbx5U?gtG2k}C@zSVmq2_BWBKc5S^=4Knqz;rZ(?Dw|NcK1KY|aC?ElomH3jzFuK1Ro zRTI2O(t|nS;!EE}j+z?t$)8+Jz0RIC0I`PIEfz&(&i!s4lUw-5Yvdr3DI38=HKqC7 z$^7Ar^up4}OLx=paLA^obsBeQfd7@gfsbZL-|zlTVTy!u z+Z&-3B;``yBRwr1X$bL8(XE==oYQXNd_0Tq3VxTv-E+Pa(IfKDWzuQij`M-$8x)Js~ zZXBUL;507Ten{c2I zxB@tY+&gUaSiIv_DI?8o1O0C#ckH9GpprZ4c^E0Z0ke zrC2>UvtF}86pX>067WmF8*_J9>g=d3P&XZthWv@^0Rg-j($xx z9-Pj360sNhOgcJjs{7z~ulJ$|XKE0X@=^R0GDkV34};68vo87ym2?J;-;dL|Rh|Mu zOT}LQIbQv`9Dyi4ewk?(^^9ZCsY1Z~RCgH0siM)-Z)8Sb4mX)3;jnTIdM9V8!x1%; z`v`EU8j}u3JKJP^G~2^l3zoBWRb>N+?HWVZ*(1zJzA6TgeRk~gZ0>zrp*htVH*Qf7 zix1?&%0Kd?+I&)_(Y~ppNA0N(Dwgv*7cPg8qjeopk=z0SPAiHIFNDMF=7|>UcFzrA zD#trpWN>F(C(~#-$uspUzyq9pIHl9FZB7*xpkhbb*2b1I>AxA*ps&TA3o2vw{MQD{5|LDGyp3{)8;nB&(12S`hxWDN6hP3l^02=Jr+|%F|FZG>3h$! zJv;^!0Act1G+=pUmN-e)bPQk2gpgEJ{Cb3>HP28XYYMvfjo017*Gl5b{MK1t6D9={ z-`&RE!EqDv2%P#Y1AG?$giHv_np^^P9ONE!MH{In-zN@1oN;&I{2=vjvFS@V3i$1y zi46VQkL#3~e-x4c!b~br%SG6U(sfICrt8HewTEYP2lQ&P`KQvUR~y6bkP&xM2#qZ> z+}1b1WCXZ0V|!Lc&fNP|!;#~6pWF@EfKMh6+vH|Lovt|EkO2%s>5CZnNrkkjE}&;i~u8YKAaf@i>;syl+cIWv5P` z%GBYWf55CWM#mr04^|?-9li~|lmrot-0vQe>?nv!(RYs_<*e%rjmx{$dGh#S_t>la ziYceevKuhzn=Uo_LG%pv%Ny*pJQ5{@S)N zo!P@)8*5@Hopb6xFbF}`#>@TT;#ac%cB1K6-_f!3`H|K9|KR}(YGIbCwBAhUS5zWu z4w>`4oQmz^+2OAWrt&|*+y?TJ=|FbD@gmM$y`B5U46i>)yQPB5S=d}shD&T&%I?(y zsi*YvjNHN8Z~TanPu(Hy#7S4VcQkDF`5ag_+#l(p-#_2E><;4}i%F7TQ$RjP%OYaF z^w{}_=pg$vq@tpD@tU6j*7{u^>Ngs;)3S{JNxirwudnig?HS)S!af z3r|rrHnhD;@iCCOcl}w!#1G-2nPdMdSai&))f2-Qe6{3R+bV0xMr2o-bDX>+A6Hxf z2~m=cC@Gx&ti!;Al%P~+kudRmydQs<{gS_&awTm>>p>2a6p|64g5qs;c`aBP)haTT zX_hYB!-nn6nPGzGeP9vZGnbL3q845JX=GnCVN*_3oDoNgGy*n=I3e{WE2Hs&dcXsx zx(UHhDAJ71;SM%>T{ZGh4AqKy2x7NeQffmuN%P@YQ@EK#Wk73Tx>O5hK!iwGK3b*w zN1uAQ>hsk@_3LQOb9kn%`rnOLb?#Y_=@^X+jIWSJYfYn9b+OFt+t#t`nR1ISLCTZ)7B})n=rb!=3bH3 z8~1AIsf%3+Y}hjNcC_wq>*F8b%@FH4Iyu`xe@FD&zV=d2h#d^@RO3LY0?VGXzq)o0 zz!N|9i^;8}k*fa*8#bLm3M)YtOF6}d`!FRlRdZ&6lhF)1_jvcq`5re@ZkgPRv<5ZM`sv$?i8nDEJ-&QF%Riiqpz{Jvks;n2KzNtKWwSTc4bZ&0%m$$t~& zD@9OY1UeAJv4fifcl*095$;Si-)zyk`5Y=>$_)RWh-Vy(${%IO+I{TlZ}*Hlfq!V% zh8vY+n6^2Fbz7WCLu(!hmt+9f3hNAknwzr<2ynBxPD+~vm&)n;P1Sk5;QSIGLX;m+aOW`hqvVJ zFFjOVDXqNJDW>gGhT96$*1@s4yDkl$52D(4vcyfy##ipl&7^n?f9QHpfO@T!+ntj{ z@!o2=ARlCWt62(f3^MR)7?RnO&&E6 zdxlL}`XVFlgxoGMzolFIP#mTNI+FtE19{$eryZCq|3)}OLdd7~_;3oKLc5JbCcAQt z4mOZpGB-V-2onC!PPr}BI`9qed7dth z7+rB$5kG%I1s}zmwe)tZC(Ld>UUrfD>mA)9dD?I%;P^$z+w%oa+aan(xNCL8yh;>j z(z6b^Fe|I9R~k%&Ll)KhTDvel{`3pM7x6{$rh^_TJ63r`%PErSvI32?uSuL{FMj_z z&C?>L@$W^v0n4w#V?|d zd$=*P&}v#|x%{<4%dg8D(U=KAEx-=}2%)9e{G7B8A5$dtn}2^k?F^p%ju@iakM}bH zHs(!em*(a`(f6Y->EYn!xgyOV9B2{qs0&*4rYBBxfzkr0x$Zy zwc07C>ecZo596l2*b|_r`S%5x(_g{{@L9eZ)SbVBKsM~8k^e^0bbMiC?B3)a)Gkk< z=lYK#lhot?o+9THAabloiG!!8efWh>e{!7&r!3%ggUxJ#O|4~ZhOk3E{5zA|lPm*; zVFX+o?=GN$e3O27Cs43SWs#K7>G-0Af^ew~@R7vM`#+=kMaSZh@SL|FPqR?I{Y#As z9b_$B$}@Gf*s<97Lb$?gPm(ifDq%-+m}>12e`seBcK2ydlo!~cbMh0n_AB}4DD-wZ zX0`(N^x1Q8Rla(<`1H$g$qDP- zSzo|&PV8KE3Xfhb)aLvliGyh%oRboq4~?f%fX_29iW@TE3{AkFb>F!^83c$;@4|ut zttC9lJ8v(4^YVqR+eeX0Io!o!3__Hou6}(Gx6QS)Q(9O<0|FvCnX6@|M6>{dY=rwZ zW|Y6{Wtj<$N}{(7{#hYkVCki1Ind-+989jVITz3%iQS#K5)PN{d3s=byuipi{I>Ej>QOcZzDk%a+>9ytaa^QU2Xu8Q@$CF4;> zN%1nJ1G=Y(U8tDX|Hb(6cguIfk~!{U<<_eL_h2f@{-=4TTlCdHc4d>F&36PA)TR?I zRif&hJRc~W-l?+eU$;Ud)f-j^zE$Y7Ns#{O zUvH8dMT->2Qoy52i&A!60-)?zF@ZeYZ;Ej`E6f%Vhn7^tD6%O2#ETd@KQ8P6F{Xn( z-QeGG>_0I|qp@`xqDq#l21vLQk`k^9E#W!Ty~`VRz-0;_fe)`}a=4|P|Azf}Jgq)p zB1=uAJ~UhlAH35F{Kv>}YQ@OdjBMab%u{`4gynKHOo-U-FBG~P`TJUipIv0OWKjHh z!i8#($FZ>j)vPu%(`)jXr;@eWS4}IU`M_?-AkWtQv|GP>Jma9g=1}v!)G4E^Te_;) z6?2daHof|{Oq1-LB&W?TVWqPS=+g_r%?{l>J73KY(0loMx6VHND zFOI!xHY{`0l-N59&0t+DF+A@gon7Fgu=_h!wf(_2GQ1{1P#S;IS&X%Nty|b8yHZ(j zV6*o#WdzY2V9=o;!*7h``EUHflG15gK#zJBn@-bqpGH)@l*Vc?!}jjT-)~R9Vfr5< z3t<*V!2!_15)=dD+?o@JXjozONqmr}-n8p9l#~E`h(Bz^(<742w0`Y~iD9XBi*Xtd&Mf0Fe6HrK%={qWpZtUVarT2MhSiTf%)_bwOokq1wg)&w zX$%>n6sOC8n|c5Dd&*B{q{iE1{+M(g?sRC%H?#Ckc`hvVN!@BgL$j$G(;6zWp2ZL8 z&%;%L@n5~C>rxdsrnxt)FXcWoKK6)vz$ z<|bwqJWOnQ08Y1tBCPmiI-tz+r^2&iGbFcIF4*H;^_h{6)l3 zAI~GJ+X#y8Y8xif+S$BGk{<(LxJlB0dwTj|Y7C}=Payq9>#4UWoo<*x>+?dRf&|Sm z;N{t+j!ccaHBIrOn5c$%Qi~h1nYTDlCyFq1VW~Of? zO6KtqjoBF|6Kd&3$%OgGJE3@{?{S2|Sqa{u55=^V2wp zKd=+SvTt#$$x|e2rL*T~nRZuXkR&64L!O4vVe{rQn$W4jK8u;jJNV7r-}yYy5cW}v zdsv~JN}o77(|5itaRR!u9W2;#jX>t*1yc{U@hjiu$M!+~%23^>xG$HXF$9q1zY9o% z5N2%dU0~0Ldv3{(pH7bSIJ-7CxpX(|SK}RCszudv1*Tj@=Gs?Jl0QT`mQH;ef+)S> z6-n^5cl^{s-JeSczRs+f<=LafdkMxLk2O4z?MYcoh?x+;iL6ci#-6Hjd84-?6j$Co z+EcXYQEwPc`gTF)=x1j1-C65d!qV@a=C1oHrT#^J_H%31zG--dk$FGp!?2ZWl-TE*FsXAVB4)Jz}y{cxS*f-#Sw>+z5;-z|uv42XJ4Eh^ot z#Jpw%>?s2xm;U`lRVnuk@s^7=VBYe(%qxxUx`JS?yx&W!-XR;*uYX<3)bO0r>c2+G zOMexSO*=wXwqzdvq{vNV&J)GFflluEzA`oeJ`Sm^D`{pEN={`?+AZ#Cc$%;F#y`$s zlf9_zcWUw`@t|p`y@M)pUoPzv>m>kqUTWHlRoKrFI26Ijgm4BtP#Sf;;iBygCVl$(tF>qo z3W4LQSukn7dQv2@(5Ita#qj0u#zkfM&ArTTqwI;pdM1Lmz5St|Bn6X{jYs1J+{xaH zLP{X*l<^~rRpT%U#7C=GU2+^7Rtt`)d=gWGJtHi$>%*Uc_z~X``=5dPOmmgSnrfx? zp*M;o)5-&%U;tZBU{J-`H&me%c1;`L(a3!}wq!8jd3;vR zoYg!sU}g(T$=|e7rEg>J+0XCettQ`-kIb>ZVS7y;!k65u3EF2O{9si04XAxMe2csPvZ5e3NxxLRJ1QCI+AHy+*~8TZ~|^&&Cm} z4*jmgVnY232t3pZR@!T1&6&||RA=W}B1Rk);ldqVR=~ML6dzR1nnz&}cnKuyX_n2G z7-kF2%SVI5&l#P>`OwvLM{y8zltdabPWRhU78!2Tk!4Pco^V@tibt1~ux|tq7Q%k~ zIs#>n$>eO`ziwLk;@Jx)d1-DZ;PI`sD9mv=zT|RwJi||nIqA#DNMUVKc8~Ux)qI++ zOEMz?_9zyq7<>-HM$_nk{urQT1Un&J3E2l>dyav049xI8wd?)smC!gOtgrM?>5u9| z4OFOgz52^Cwpd*@B&XdaH_I)D5pF>l@S0&8vEyKf(D|A8V3Fthqq~itS~?lJF5m5& z31aI}q-v(`t<}G{u)Wgx*1UVAFdDs7y#D8LE-MZ6!-z26QQK>ekpqHrWUlX2qdOn?2+H-lloq z;?DFa{N;x?WZ0z~dV{Eqxmqy67sS-78y>e)oS`erc>>;qygeyScg3^>HUViaZS3Q9 zlaCzX7D0fV)3?!YILKmo1AIE5lPstcABM;Sv}INEcwV*zZYC)dGmFg13jGxAbRc4zh$)>#<@5o5=iWhxF@##s3R4wl=}e9Y5l^h6l~ zz!#0!4imuiK{>=gCB#@*I>^>7j0x_H@LreFPDQSk!$9hn>8@^q^3JsXh#61yEJZ-* z$jKQ_GuB=GeESov)h=JH$!KAW*|tkFth!fTZ!Yt=_VOO@!D1W^MBt?zt%2&mnuAVS#JmD zWJqZAUx&8%T<2AWm@B~jh0}hVRRb&DFzN_IA(Wj}%5S=T&25P&FyjTP**47@=ONz$k{PKJYnr>LmEC z>z7HKupa24hbyEe!XYX50|F*$1SN~+sb(jjo>oPd`zYV6io}?)rQiA2Z=;O|5Q}mi zY&RLbvBsBFihp+A3XVf|Y7TXIzTyuc&0UF&=#)t$@y#OkYx*INz4e~OI* z!W2SAm7v@D(_WDFVWY&BY%J2E_cefswSV^p{qM`NDfXKm3OGlZDLyv-)l>dA@|x!1 zD<($;Pn0zK#)mrsSLd}KFUDBs==xl>%1}0yZi*A1ADYOP=tcn?B2(D>uYnv{lZ%4U z_#ly)3|CIvO|bP4@OD(-J_Vpn0(Ixp))!u^mvE4c8@qutFHUu3rh%FVJ%e0N>4VIe zO{4T7PHi%=a6+65TO?$OF@=6HW1{3lJfjgURttIe%z#=Iw^(a$cRF$$EFmNy@Np;0 z?>=iBo2gd9h*&zQtP+|vf2r5yBA)B^PczORic?Q)9>qi2F*0^^8K>Flt|Cuqvf-P! zTFWk5IGx=_gzcm&>s_i9O8zYJ4pXk6v!#2?xo@(!a=D-2KW~wV%HH`@masm~xM40V z`A=oHB1dn?(xjqllux7@bRc&304Nhdh=GIwWIz#37%zAEPqo~P^+XXKgSX*UH4Znu z%Y%y!^NSsHt(1$J_OcH@q8x&6Mq8J_A@nGr8R(u&Ic||R)QU|Dex)*+xEO{!Kg=oq zA$~YuV`oV=udItVAS#K!9Q#)r%T_g5s#){M61NWZbmB=xatXDB6WXc*r2L)Wkt&F#%*^{35NMqkX3EPW5XJ#nO07rtN7NrqT>b7nqr~&zV zM_`CJ$n)A%?NmfYGxWj0469m>#q-?g+10QtFR4)&rw$6P;!7b-xOs_bv||R|+LYQm zPnUF8#yz{@*K@$6XBW_(g1#N8!omn9p`Y`I9l2)!PnO7^zO0hr6pe)+hybx)qC^{m zrC6Rk>#HD8(5AG%!L+jdFk?Tn;lGEfMuguhuPE=_%TT1=ey69h{y9+22-y3|_miw( z{Sp1<<}Y5Hv>o09a}QZ~KTFekhXlUr>{!R^$xtxkemvzuS8Pyh3fj@gF$GDJYvCYQ z`KK?<@RJHH&pdLIPSI#Ryq5)L)12cpg$b<%f+JKWq_5Iv4xPC1e6HRuOH1o*47mBmOs2Y*{k*yRz9VYCy&Z~LLaJ~G_Bix z8NBx#H}<5{l5PK9riOxEknD!Tunzvd&f5oA{H1sXFD`8Kkxv_Qdz!@HX;l60!yzhP zz(ea@29!-84LCC|v+%Iu$K!96Rr#Mt;9YXiMmiVb_Q%5fz{hkxzodzo_*}V{d+^e} zdRKCM8^ds-f-Q}Jz?q`De29+aZkG`3#2&u{gcQA7dy83=AST12o}dkq`PTEE2V62XbE7Q9L_9} z1JN%Y|HN0BVgSw`Yf(|&oZS?7XSE~Ha@M7$puHU4dxc^Gh45ItHAo@KfX^`3> z85sWXzJw5jH);Vt5#;a0wJ{ltxl6TGK);LrMDY(cz;OSVQ&&$V6pezQ=H;8d6w3%Z zlNJt3M#4(}wIApKd;^heoS$CG3J#maKyD2S_joF=Zfeu01nff3oeHoAhp_%=ue%b_ z{E!PXfO^D(0hoBzz{9+Cyr|cc55Ft}3val532&q7r|1ceg1coB?0-+=eh6NFxbYTe z(L>p7!Z`y@vg0hPV~e$87}?8}0Unr+Y|Wu^iT!?75sifcx-T)(UyEhLanEdJLkniL zfGc@mpT*0`udm(38Ub#=&J}kEl8#ub4Cm~O@oEFWsmtkXGtbQ;mT6XiZbE4;SS*|_ z*{*X`0MTlpcWESTk;!D);4}^`Vdai4CuZ4)>UTb`PWS93lcSZqQ?_D%WeJ2*sXqgU zZwa&{xtUA1?|z9-(AzsbPgYcr);KO2qi z;qVf&Cn3A@X$mNnIyteJM;I1e_LH9neLaHhH4hu}L)uW9$=lrq)NzVdMxpwjYB+hp0p`G2yz|Y*=XR<@Incn$dOSX=g39&7CIHVHVJqAcg zxF3zN@o6)%@ro-^=!TbEJvbwmc01~5)Ee;*xhEgRjDE=lg+4?hS&mE+cH;b_?C zJIzsk#Ym)zv|J<(mt=QrES$@{ET@9BHbOE#Q;@*Ge zU>&t0k0Hbdex2MT&0?ozt~D>&dsaCbR3|`3Y}oc*xcwtHwn)=@jD~2Kk+MHe1#)Rb zE+;;aBCzz5=U0|FWO5?K^k@dea1>>`pH`x^rR?s5pRsVMXkwWz! zmM+7jWq7<-yb z%*b)c*tPJ2XY3$q=Y{J6XEQqm(hae!1kf$AcRl=nf=4JV= zQOTq8xXIgCcP=!!q>d9g{>Ze28KoMQ_kb*nA2N55FO+3aT%GD^tK=}=8iN_#-$vK0 zihPl<-W-i<7+h-+jPC@cBd2=iN)=#9t|x`j59rbytGKp*WZCb3N@$gq&%SiE zH5g~qookW)lD;A#*g(O92ctZ_fj0z731HisE8GAA-O zg{iz@ax(OO-kK#_q%U6`^Uvreq*KQ9&A&Ecf{}e8y$gBi{pr;^&6m7UVOP2L3<;C$ z$&&NZfZWy{uNwt(I&z$|yMo*<{H|&Kdk-~g_}G^|HTddFp-0=J_SeQDZpYIi=MVcZ zFEmKMx3jupN#I;XpP26WDrrRth>ZksrT09hCwy8DTZ(J7O3|h(zIe4NOg@oV^Q)*o z0U7l9MDWu$N1zH^QP>$YUEwYM#Ug+{I-TVX7%q67+8(W79x^0xWyW!SUJ8@-a7IEt z&TjulakAYJ9OgmdWbSS_BtX@I5dvy zLFc~OlblUIK_;p%0Qv7?m42C|6oIxPyV0|GxH|EHdInJ3+5XyZQ);GT5c|SPuRVan{( z5_;f`O>82|V^BmrgiK8tj==2)BRGV*=ZrF-cFYQYO)$&2N>Db(<{-O2zF>v!@uW>f-< zLT~!l3ynSgdz5}vdwSn>lfJ7s+W4rLK}>{#ziF26hYX7eQ}(PAH8!Uf^diG)hB#sz zk>kZ|STuV;R&cGD4W?OR?pa{q@7sn#VJ}q!zOGUucTCsU-AM@+0`hW}RvJJ^Y;H1oa}`t1Sm-1^X z=u#EyFW^ zKmVvn{rd~W!Dn5DgB9VSLS`*xZG1~umPAZSsB4jwpChm=rIA2{1NANy9+HBR&BhNO zfD9Vce&dYZhm{1N2maljWJA8WJ1y*9uO|*Bqyx8$o<9NPMAg#Ar(%2rnOq6pB-xF;9~C{eAANq#m~tl*L_!3VlESR%hV4s`dt18 zBxlD0i_zRL^OqYN6}$Sm*t!+YCyn%$i4U;OpF|nn0_X_*P!JDs4S|2u%Khm37dO@8 zZBjk~^gm$}8j0-;)2N4jS~}i(yjGtzot&Y{LpI=vJ+>&OG93sh>ku4hrRh`DA>k3n=5>*yu3{objL*8v*WRW}FEFF}8*54zK zm)Nx*_-CfCNHKlDFtYjCUn=AUP+HDU?~>^v0Ntpv}jKx^Oz$mhtDHGi@ zWj7_o(Jb?w3ku|dWwLBjreYwi6mmxMbjemDrEqO^1){ZiiqB!00)PR5_v#fAL!s~#Qb;3gUJ2*D#mUs9ScoZv zAro|FY1WlvASzX@&!7cuu|!#Q&N6;^DHLWrg<-*hfecNFD8G~p)~fxr0)!AqHwx`~ zNeUUlPO+)OFP~=L*MBZ3(~x)~8-$CFL4#0~a59d|joQH6XqoX=GoHS{|GR-f5<+6| zln$)X`^hgZ0XrOo-uIW7V29q81v3acfaYg;Fn*0^)(z{!fX(>Ca^tKZm6l~Vcy-;uiquMtWmQ7=R6=K>>OIxU zB41TPZBYzJb<|0eJ196Tx;Pv!O$m8TyS)1cBG24=yD7iz0V%~S1_-e@GvA)IoKS{! z#>z1)DGN2_ek7ZW1A_wLY^e3g`|64l!rK;!dIonNJS;vBY-5*N^b~w{Yz!81Lf5NL zi4~Ye zE-hMCC>Kt`vF3&w6|L2B^K2RY47EX&1R?THhwrw`VVE6_r(?BVGd^xc<>gZ67o`^hNF@c zju%NBFPigZv_dFjqcXaEMR%9HyJ582R`S%>_n{cbNC7o#5AH`GKSd?f zMj@I#ox<`3^y@Jmg$dFYv?*{z3G+gBNuiLmhi3hyP>NA0qevrd*vLl(OwZxNSQY)A zY_@5MUVXOZTn^0k(J65W+$niR0^^aYUAh6ctFyE;uZNA89nKAj!n4?_u(mx#q(-6S zgdW01JboafqE!n~8JR{M*Mib}N-4#5b7eR$l{w&N{6?bUIbN)Xx#Uq9*J z=izC}y3LLb=I&=r7P;oI*g)miJb+V7#1a4t&D5o~gQ{UdN7-De-H=5cqKPqR2=o1Icoct}WYAtKfoBCx+ zSgAOViJHZVvAxJmcM(RHTNXxW`0}S|U@fz9=+_B3zfqvO{wGS~E3t_%WhD(_%=cqgHbt;MXOBC<8&VgN8H4Lclf8O%;e-WK?n`W(=iU93HnP>+$Nf<_0;@)x9D+I0vsDl{rBGXT6kU-Iv0mP5!#TNT1KthD&+ zSk7OODIB*Eo>AUsltFSXBdJ*jE`o40I>VRssOxn~tYs(~z3zlCGzO!)Z{g5HDTKN5 zmD)Rr=`RhAGK7}}!t)3rcM4Zzqy!uG*rre|q!dYO>C!f&fl`OzVfTECB1qf2-F%YX zPQJ|W$rpb|9A2j@#2^KtaFF96;>TygpTHxhij~CO`y7;VOnQX}XsA9TZTk%jNNIvp z_L(LrDa4KOEE=s@KTZWJANs5W2rCSsf`fxCp{Y;~Va*(9wBo};ST>(MkZtm~%#hdo zz5m;vejky-Rs=&EnCN6`BVt zN2EAPYD526qB(MeH-7o~)*i?N6M{IVCjP$EpP!UVIT(trbA$fE1**spf^ZA~Y~>KZ zMBY<=o;}0w5{ggsXgKDGSg?YwXrhoi_ZO)LbDG6)jcPMcoYAGiN$pYKSLz_l!09A~ zy*Y%zm9|#6UZP;>@LONS=5Rs}#QoB82V zTnZ5SgURkX){qi4DA1+`I@LC$tc%A$`9!acbbqs1j{4{b=E~>j+<|Vp9QKP-QiQb_F&pL=u5L z`W8;C%ZN;Epgv^%`5E<+fsN;rK5f3X1G7ZwOG5-7A%Xzl4?q0<@9^i};k!g3JWn|| zOH7*d+$Bl=uk|S8ykME176V-g8MT6Q} zt=93(WrfKr#I2#+lT#RJ#0@G68S9S0KZYMAiFR@~W`dz>IuJ}<6hg`m2YmxiAyn~; z;iy8W?V?u8?$k|~<;HmAFb_n{*WZFsT?p6+8}(N)Bb3%N31M~w6dM!q`k<5_{3Iz4 zkIL*?NDXhx7(jX}ItXtB2-V*L%cJBy%7qz}LVi`~II?#__9Y7*I@Uu%N7;);XgtC< zEin>>P?W9cT3C{yq#1S48WUGg2So-Y5PgaQi1>+b%B5E{4F_B}W2D9rwy<}vLd87y~YEsDE zQ{3(H$KvYl@GJ$TcsEx3qxrac7pmhiUdF-wc`l05x+TU6I4Zi%pHt^K8%#O#t=m$L zK?I+I2m*P}pZ}=ObJfGA3B(kvVs?lzDLOx z8IGL#(i^i{63`%Rg#DTB~A^cQXhn-6Cyaqa_eZ;&vd6$}Cuy zuqcIgooQlXya1t#Npou)w)3Z98C~af(dY##%Y?a62}d9777*OiM+H$K48t=fg|0}0 z45n|mJqV?s9qAHEb(G$m;>(g!LKz+v2svNkMW4~IV&F>n(bK&rKE33~*H6~I?pjrFbKop+x!^-6Y!w!jeOZ)`S=sD1Jm#OLNo$hXo2dKsdjU-7XghO$zxch6o`- zh;oo0iZa90R?Z+tqwAY=4NdBP(yEsQ3b}}#w+HtMj}1$@AvSlBu(W4L5bl_>#f==o z?FgZclPrei^XQ4(^d2nyc9kPl6*mup|AhwRcsRBOai&&G$te~+Zo}Yh`xHOT-6h5N@4T|A?Y~1rG>6I&7p21GV#>OhRtS&7qNYu?S_XtBM z)nDsN=se5IAkWy+LL>M~N8p*|reg=)hhpH6zNK?f`wieZ+y z*J}0|iI)MIT#%6~RcL;NWl>t+J%66dqFRyJqlze$V_qnN!rm|V4SxIc&ypWvwNyIz zkEKd_&&o5`xI9CXq!^J(fs{tqIznicPL;eOnmydMw^>l<{}h5rJ8D=8;6R5gG2CHu z8xo3L0I*Y4MlX6c1_y(qwG~1KUI9Y(6R7DqmO(!(-jpq)1B*+G>}#QZqvrhUgfLLp zG6*LvS@ef$?BKBUCZ=a*@ba3>LsGbP#&zm*2=5mlvrWx<65Ey(&3_?j1RPY~81%LVFm;aH6Dg0T|L(oFT@QKXNq}PQa(jBIdT>sJQ zc!MVN=J{)sse~rgfBTI>Z4~yEF&J^g4J4a8^Byo^tTTIZiR`$cq-D`80u9b%-v6&O z6!kMM`~$JF-q)w9Y>dE~E8@H#dXo;qMT0OuMls7L3c~^WDLoLALpb4vN~vBt?qbnt zs>vXP{6@p!?epl=aP^wrBGltAniA$p_}C~E7OhhH$PU%Vj)kWX84SJp>mI^uGPXui zNS4(EVF*YmN|+Q3$K7tFJEA(+(7J$rQp0};5J5i8f!Ux$qG5FqOENpipj2c?2C*EI zC?f*@CwqR8u$1CbOboG73gwwST>pANMbeuxJ_8imK}OtQo~MgIle{uAJmfY;s@}aK zLfGT9ueZ0y%VC^zsfFm0Uz!|3w+$gWsm?aGGEsLDC|O@9z?3Rr+)8Sc_~z;-L+8}g z&-KKHP0V^>VAcPhC_=cf7#P&rD8JFB%g%Pg=~59z+jKI|{s|A^EJL`s$kFJA+NDTs z^hQZ-bl0!(ay07p1)kuXvK49e;zX&e@%Xm=?bxZ`F^?ys@JfhBx5zhsl{bBs{4m2b z-qW0HO{hQTXt4hAXR)}&q-MxsedWf8jKM87fuz>N9Zm-yKf!E}WKhFUWbjvd;QK(~ zKYpT+lnSNKC@2)Jt9c*UDPD>z!is=3jhK0y#aMp3VjvSBb;;;B&M+g`6 zMw-77N(@E>CzV3J6Js4jRY0uNcpc<~aGt#H$v5oumMu`Q)1fg)5ZWreUzqa@^6E}# zTQ~~Ct@`3c!X0!;x{)hkObY!-mq4hME2$m(bK(UDu9)-FE{hDvfQw9u)2$-2L4o?Y z^Iiv2I`~LJ(dQJ2{^STG1b_SA|NSj}`x{UgN;Fs}#kQfV&M<{{Xw~;B8LjGB)D<>6 zhGyX;8Cx}Ji6U3R%qcBGC^Iv?r3=2fEqy&+6bj?kY!Zr1z`AV<_J^A%vMFCo|B6D` zq=lkpo)YFtNa1M5&PlCfIGQ(M2I`Ht#K_kW4{&c@AY>7A5JFBkT@XSHOiRL1?apI| zp8rw!4FJJ83PvR*JY`B4n}qCY!QBZR7nO=k5klS;h>@x8`wE2dPPQ-1#Bmw7%9KN> zLo?dMac6C*Rin0)Y6VmnOKhU~4*Gpe#iA$;s^RkBIcyKY?jY1;?(aTi20;e38Y79I zAjr>eB!-+DLSjhmisu}V(h%E2(ZX9Y!$uQq?E5bi(%#lM+sla=q`-u0^Usl9OGm%pjU4APzvu`KY_T;m z%2oq5#uq}-^unBxF&V7M+)4RhVi4N%Fdvf;gkp>)f{{R@@K=gTIWJ5gKBr~{O|fyq zkP<_x&O{2AdB=WsTHHLSJZj@W9U=6GtIPU?8H5Au`l7W+e(R&|4Z7)Po1Ct569S$1 zy$rIe{U2VA2%nJ|gym&5&ID^OEzJ0@)%PjtgHZ|(EQ;awg5F_rN;ot75)3&rw4t_f zYve0}Gc&UijN&%0xY&B*Z5df}(J1;hgo2FKW1hGzR;KU?{47!UXwOj?dKJYhFt*4P z%A;zOd)~RsBnp?sh6T(A6vG*Pfm-8sDqv(Z_{Zv^rPQoA8N|yt5{hn~f)+i;qE~55 z2J51zgItgy6;uL$iv%);^tZW8s?7>V;T~$?eQX%=ASslhpb&*A@QMuSffNdaYHL-^ z62gqZo(}P8X*jB7&FsxzY&5v_1^s6S1B84Fv+?H^e@cTAyw z0HJ8$lgBE6Pjd`S5%=~UO9RoRg&xA2FM*J%_71{Lh7gttm$;!bH|KYswO^s#8o6RX zMCx2Sc5bG?-ku{-Y!1rZ!7b9kOIL`&+kwFs9EnO8ngDbN{>#1<3V(4uLv9&T+x{^` zq`Nf3c3al%Vc8y}knH8sSGus+#<`gc!u~P{@lKh|#?sG43bSmJ#xLdq+>+4k#Tp-)Gf3!$V^TgRFxng!rkyvbyT*?+rrk(}#r6 zBly^9pwNe&4$PtLl3RMnHPZXmwaFq%-w0#EQhe{ zneq&>3}z709+RHPzUrJUbYLwA;p0vas;P=9qI3_RJeD0g%?tg}>|3{PlNO2;-hi_z zdQc3r!W=?8+CYc=R1Ec^@vQBALFu^VNaPy=xct@9oi2$)R~W&R4;q7)#Y=`(=pSP& zYN2REP~lSu|Mf4Q8~);&6+e;|a@!t41$4c*%UTH4ne*`;+hUm6VawSHGqz79*Q-eh z7yOa>*+PqOnu>oV;pk*xh;3>rmqG3iVl*n@=m|W}OZNBYcwH6WaTl#vI7m-ZoP=2NFm;Pr@=Lzn&E(y*D3tQiM()e&=x>!(f2K@ z7SBjBNDQuGHpsU>3BfD8J$SDZgA|E!@cHlG|NZ;#iM`+DK@JJRB84);CT;tNVm@>8 zCQ~R^8PR=hiL%1Uak`AEO$t9T+N&1><&JK7Q0gG8`AL}$5N3+!sx6Id@u*P(=lr|xuY#&GG&}<>LzyInA}LLCZ(m?7*GnPHf=v;-jI>7Zxc0C%y;*kimF&~%INhro9mQr~8HD|L*;vm9yAqUK!5A!o z&~Nd&9(@^u(>y}zQbGHW_Zo;58P>t}Je?pF2;~NaEY;Jv3%-f z-y?>shDsrBSMcOaum#Q_zWbrsEmU!v?Pc@b@%&wdOJPm;bbOJN~M$*k`z9aGlrhRatt#Hw~az9 zkZ!ORVvQ8Nu^ffku$Y-COQh+8$wi{eD|GM-8}wV05Be?o`@66<@$~5r)SLK886*TL z{}c57^ZS4J2kD2D7yiq)3{?wptAd7Sc+Zz-*rZKp2mi?E_&? z=o~r&QtG$`6EweZTMl8VQK)YVX3Oj4hXWg(!%=Gghq?@Y8|;d!m7+UG&90?ZJ4K_e zBf}I9tM91q66)qe{{ETP9~C<6~iWcJv=!6^K@G%TK}=O(XKJm5Zsj&k4bB!%3lz~Qya zJV1(B5>Xf-Tqr`A^?B$sjX#*MO3dwfW{^Wsckbn;U!#Y75Q;LC5dLNe{%4=ZQ^*ZN z>KM`>=?kus+6-HIdG5*V3JL4-TZj-&hJ6Xkk!T#Xt<_PTTH88j5V}iD3L(~Hd|UqM(`Q_X@dPr3 z=^Ko)s2Tl(h~Z2WH~NO>75z-`~=k%QnsNbBZX#;|K^@X}jO_Z`4FV7kMUKY@!6DAu5xpb89aBM52eD3 zq5VPBL7v&h-UR93O9(7hXMC$7%ya9C;T|*$ahUrC)@ITt&lx;~1BNr$Dr}8&zn+pp z*PLJo(Na86C@l*%T-5@NlxO%&S>QzxZs>iu}!&~0jOBEM?=2YVE>C?yoeoh7$7QPK&_@41=(9L1v{c~lDVX1#=> zb8;EmIGfH0oR+Trv@Z7YQg2Iia7IVe5IKdAb&xlDaeiBO$Ac2;&C5Nsw|%15PBads zwQ_sd_Eu4p>`?72^CTHVOlTz#v12e@I-~-Cfc>EP=3|&BioeUeP2GcnE2U;#5?^ott92jaM&YJ}3mr$pyiW-Np>UA7z332c__dqmahAX_(uU zNOKBhYUZjzctLG|NeV#=SKRE(;zIDMn_noyux$*k3WKMRLGTy2gf9i@Ani@0P#la6 zWp|01^#6Vp2stKY3awS~(@&^|@N&6^;lqdMI|JQ9+OwxN#VR>nOyfmHg|H^)P`j1E zBS;{8ceDe9-L62xb2Hflckz^8XEl_2w?v<;i^-3Mb)oa+5K03wKv;B=p-bO2z8hST zou$5V2%Qq!gJ9P6^jFCye1Jm1Xeam#d5Z zz$Z^A5LKJ8e`L<@OkrqOxK@Qlq>yA<0O)%?&-ystS5wO6s| z^TW1&zNJ(UVpJL#;sJK)Oi(O}GRXZwX7CaD+&}mGgTKB~G%AUqiXqoXlNSCgWm1kv z;nNCBq$-8i5{1~ZKe@3Ei-puG`D%&U&2KzIsi+--nkP^B9m7uA zuHp3QlbRNS+rrE83@ONFS_|=&}(T?E@Z_te;(%pM^Z{LC;Qr>DhwYh=LYt*mD`Y5*1>~Yg<;G42EWf*GYXZE{pk zVGD)rmqNHMhKC9vALreDC{21B6m@M0P6NT!_NSkJD$_y_p_ONz(gk;FRO~+3b;s=^ zhTuKpl<@N9f)q;2etk^>(nR5jCD227^xm=Nh(e&+3Q#^MtqHvq&MUn4>FN@D8@{kb zdJw`_XOJ3o$XoIa1v5y#@YjSGLg_ALh8BO9AtvB!zIIkQ#*o;ZX;n z4@Zx6%ine-Q<=_OxX-7xL^d{e^k*NjJW_gjcFd$Ia zCM;A*4Z^;P9H8p+l4uB4?T|2+c4D(ILTC=7+=;+J4+t=Ilx-%j%uql&rEV4`h3)yQ zN8uslu{B&L)Nqu-FugxZ_ZBo1B?e!}4KO}`g8Sk>W#K5rqpnE$%oj=hb#2QH;ck;z z&+Ld0GK7i3?LeVaXGjc}g~Q_>LOk%{@LS~Jbv(Ztb&w|aU~1_09o=0bW3}fm;s)Wr z{v?FIyS}|9hU$jMyG>7Nr2;5~!5N$(y?|LEN?}_^*BC;HM!Pi;YW)8!kdP+#DV$y9+(4cQRi&9<{aJI67KrRYVBIZM?6quf$wc z?|GLTG##LYrUTN&l7UfsoCNA#Q`x-Clurxc%4}JqFjGQ;5WLoWN~qT_NeEqo{<-ue z#Q0qwr-uUJ3qQ(cBi%Z}_Rw7wmDc?|zi^*JczJt!d)rY6d7(f^6e5O+!xLJh@j0TN zLZ&D{HkY=%4#FCVTpvURu`nv#iU0XOLRjnM?`Ls2zViUDhNK8zJ$>Bv)lnwIV=&wAMIRiQ4Ald zO+Hho&cLM*UM2`H*isWWDtMS%DD?SZcKsN(Cg}5rVo^H($@$<_c@3~8Lrc68jQ%4C z;lKXc`si9Rz zkC{;NPxWw8NDVY^{;S>;!$zS5rP+;J^eG!L{IcVGiOdmpe;pRX$>tC`P^!u{Z3!cj z!T@2tG#)KGf72I8taw|iitIsE;^Yj7KS7u;5KbwCv(p_HbBb$CQwkv$X9U97qF@NI zS--7wTAU4GcjEEWCt*%B>q`)VG=W7JmQ+Z?_{=lg^)(kZyC`bO;q6;aU{1(|fiPgii_(mNE!6KIf|$diF};^B{)K zhK(_d6si)6(+p#HiPJ(CkxHjxRn>4=YNZBZAW(Yr&>uWaJ$lnY>d@c|zzLzN%KZA9 ztPuX^KYuPK%pEUK3Tbr4;!zsp)@C7X7D9nE#iNVu*%XiBCIz(Xi%JNOC}Ee4k;30~ zB6-Z!NBgWk8WzqKLgR<5lS5}v9VEy7{b=HGob$rb{V5C*>*LXA?_JV0WC$z%6nZf( z&Fx2ha9UF-JmB4A9BGsk&dg{aI^Ed~-?`#XxgCnRcDv9fly&ls5E6rQ3|hyvBZNQw zoL|KJ=g+=S`oam~iyz(Lb}@l^?C!?6VN#i6QybC%p;`gcR#S>dPi=B_21C-7W%z?f z+2XV05EL^RTH$4vtLxmGxVH-o;wO+EeUTQSY|{S;A>@9c(?XR(^}C?gNX$sd>mtRY z;Q9pH6exuhkB*HtDITqg5@KOS5X3g&u`XMvNPqK)J{XcBh26bT3KhbjggHPXIfUe8 z2Y$CLg>WK=a9DpARYv`pp++f$cFx~}GK#%1Fts{OO~w=&2WEV@ zIpy;{8&?x5%g#|a2=Vdjylp=(<9(j+LMS%tw?m6M2;sA=KPXq(iws5z4MH9!{n2S* zfx?G&x5)xhbH%@^5C#g#bA~o5q+v*E$ob*%69yw7$jgIk+M`bls?)tNNOdXFK{QDGDS z>;NJBBNUTbuh7M#Y=0CXEJ_)J1r?bTc1}#N;WV1wnjXqc5Fe8gxg+`=9d*sb(9SXW z<4_So9gIP6zsotQl$_v ztzJtXNrSe-LK2A3WOId!h{f$PE6|N27ld!t@KnViS(eK%au8 z@JG7X^h8QCXhcdoO|a4gx6+Qw{OAZn2yeh1S)eeXI~LZN+~0K+a-V{XE^2Y#yx}e; z4a@XPhM?#mp7an1?H0pC%OA)pKqyaWBNjLusP7|$RSh&H9F3kH(aa<7TZAhy^}z#~ z#+5?Yag#8b|2o5MXEvI5DC86^t}OU%0mF9@E5SB2e~sH~8d|FnEb;GB@v_ zy%l}+u*Hjqc!fcO@DD8WcBBxr@L#T5_^U~wjgUT(tPnns$dh{;w|ilLbZKF3W?DOi zkQDZIhOo;Zq{?ZCNGT*`2;+^=!R)AeK?w~)xd!bR6bKWAV<9c%D0DQ3P>yFc^HZVm z?o;t7s4I@jHW!T|_;u#K?8zylulqpB@}SvNXq4Jvo7d>G^DhG7Y#}c+pC=t#69^rH zC9$Xop@R@lf~9YM`6Zr*riisDhM`yS)Giw8uCFXO>A@z!5T#JM_5>l`(B8sf?voqR zwqL_%75-3JL;w*%oK%B+P-T!WpYiI_J*>&>@vz$8!XsH;nEtjDNW*QW zf%;&h!@>)nHU1%vuz*Nq$$W^VA|#2DL2nlf|O> zd1x8{K@3C7B0#9+nWxShSi2RwcpK%Ov&i4M;UZE!P9YKL8SYe2W(X}q!_XuV0bHX% zbW=yRagAQ{LH!7lL%e@~F4wT>>kZY>|0{(5_A3>?sOij)ddHW?W-KdA6hfB*T7_uE zjrCC+nd$4(7DW(3d`C)`FovT?k7)OzCzHb3fO9~~I~60tRvk46M-f7P6Shhyl;N4t ze8O#PbSzL9R-U2*X&#U28ihg_S4EELU{FuVWw>}94jUCEN?7{if(GK%lU9fX#EeZR zZsz7fyTTyUa5TLW_3R104GBULLN_k@BIbjI6YX}GRthyZOk*d(e)Qur&)nshJ+=o% zJ-lxeO23c}Q=|tdnM1LNQ&S(CRYIfIC4*OB6SDoEBIx`rPeJL;*V4#_bX)s{a5m)>%#l*Zke>AouGP@9&Oe<% z#r`}Xc=qi1^Zo+IodSave*crd-d{}#{~U!O93=?#hG?D@K7PdUD2;Jnf?gqZDUL5t zeKf_RP?<3Zy%KiYCa*wvq#VL-fzVSJARLxv0-qm`3~Dr*-9l*v2xXA11VMjPc_d=k z7;41aFq<9aZar++3xr+SCy*{r(l>6tG}K7}!lHF{XNN;RL1-l?x^SY$m?q5@%J13B zA&LbVVP5e{c*QH>Bc9yWfzb>?O$YfrW=APBIke)88)AFr@2KtheP8c~=t5E%pV{8F zVQv_mVGK9iLmY0b>rX%!D)pFigrL<$Eghx>LP`f;{6iB$cmL)8kQ5dnl+q0E6~1r~ zIw`!tdxao{t0!oP+mgbHCWSmX+U0lYO$u`eai|SE5wS~At<^$l#+C|QdDQeOlt#1K zs6Ys*(zvJ49yyW~w9x(jZi+_4Fz?oTf8Rd$65uW++kAA{fS$igr5hI&-MB{x^E*l% z@Y8d=t(IKilZU!9+3!@4LJCJuL?t8$Z~3e!lty2;VDz7&3wos;FjN$O`GpFlzx+}H z;fsP3o1Lt9yeEf!AFw;HyQpm=Y}dRLUQ9|zB~n_dfS{D)((r6jCMd?D5Qx&as2B=Z zEc)aLe)u>Y%pv^WKOK&SLos~5P{PrlUEVB7p{>}96);HQ^3nqL>xU^RtW<2NS0t|c zSU|9=5RdAJx3nojzuuh}Y)W~Q+J&VMPG~q9g^(Z|SMc~oBwxsq>yc8s@fbF9>Mpwo2aL#?T#t@2YXeVn?4`GW#Q8y^WEz(v_VKzv*SWv?A z7b1jQqJNgHPSAVupRP4Q4F2}3JslE6OA9IBlFTs3A%~=ov~%wqx_9iFJvnk;(gC(} zq=ly`B<1XoSlnd(FcIW1R0yOkdWuES(}NZWA3veq=yU0bT0b;E_@^i|20etoVqu0q zr#K#c>KpdA$&VY3rEO6>O4f&CloVD`3N;{=5$$72Aig)t%A@czm=$uz-d37ikD{qI zF~cLp(x@Vphok)7#Itl0f}TAHD7}FVM6TQf3bS$UVqr#RN1fRmKQ2M;_NC%(0@B$& zVpe#7!pT;va91g}vfynA)WM8G5kxlPw$0y}m=x;3j9MO&67t;z^4U~lr?9@Hvfy-( z<{*E=i?pJKlr8?^)$k|Vxqtrr$LDrE#xT@6sZ6o)y^7mJp>lY|?NnUgor*0-;Ys3d zQ}{bcL!#*Hi`AHmc=wDM)CDdZ7?p|9{44h1=qvZ@3BTX7G45aae(2BM=OUD55{2Xh zO!4Rj#-p>?DojbC#G_W5IU0NQT$CXQBZXZ@Ie+9qZa2p5HhY^{YtVi$BEcw(s7+X5 z;{TC$9)49`S=;9Cp2@s3lW2^_6k{*I0Ynf`5CLOL@0s+biCsYHNFdmf_j~rL_u6|O zbl&foi6$0Ae&;&(s`s*cbi8UlIWdv($5JsRs3L@CEcqP8a8z%lMYjtr%t&=KlS2P% zLZzlBcwH%m$r^ZIpaWy-t?ts>9kfZ2!%3Lc(_5H@7TO4#g`*;cIfR%OEwR_VLijrd zqppLG;Z*yR$GH~zO}>o6RitoHx9;_xD9n=HRSIuhw=LhRVVXOcKO_nzGfe+u@c5hm zq#!hj;J4Bj{83bp5X9vr-rwTBj0qt|qYoeX+}eMi6nbG)IuuXwh_9aT)%x+0L#R%` zO+5PDw`rk?Rw;CTbcjYMeYw8N*6HDCiQPpZg+!qRq`KcTBz~Me#T|^(&V)w2LO6-R z9KKSWLaAVACGl;S%!Hv&xQ)RC4c;rHb8ti2EgW>GrvgI$8+JBNmn~MdTCJXn*_Fkk z9in0KZc>Rx<*ntMzk$R@24*KPM|LU1$r*+aHtPk#Yu=%lUxMfjzM0c=Dt*=wT;N`KJZ zEaJpyh(;g5aqRy~Ru~w}3Nv`M5Ns||OfVhd(eKi3FO9CHRf=(nN6F&CrO>zOAstMz z=LB|k;p_~Rab(M0O!2WkI%>sHoSG2|y(}ZII-jKEv#jSPT^uGR^L)w8<5>>JVbC;C zs9P27a>C=*qEG}o_33h}0r=8@7HVmx1F9=>Q39qyr|eB-N>0vB!NQ1cjmQocU|1Z> zh8Bh0C;ZP>Z2o)o+Vz{#s|N^IMF>$9ye!JE$j1>wsMZ8I-1q~_GbtwZ(=q&iOAXzR zZN}$k8VYY}ne-|eUg%E6*I(ho|MhixG!Erlkn1tTp!>^B&%pLlO$aRl2MGWAKeh+~ z!lypCwt>48DuuJ06p9^px?}&JFG&h7Cn-#JPb2IAEH6U$k?}}WgH#1jU!3WMN`i>p z!V|t$paXUY%6bFSPanN!E&Y8o3%gr6V4-TiL50c%_uxC6v`C_9UlD@A#4IO_4%W*ttC@J zg>VC2j1Og{AcOD;R%w95VDGnPz89B8bd1h3k9O&C&LGDWOZb|5JG@ZLh%1{lOjO)G;dL4E*GgZV@--XY(XmVXo8Sk z*JxJY*%yNtlQRoK_j{ZMXDh7SzeeyI4T91GgSz=NjNoW^D-Qcsv|s5I2B&k z#o*VZWQSZnm8f(yYZh8kIOH7)f>51TIUMD`(FAKNuB z6+^1STdN{JXt->5Me%0EjM#Lu1)H}FuVO^1%l3qxh@U*)Sv@o{NFqooc#ZBq-9n2; zDUGh85W@6X35X%a?OC@=+Qb-WWUsD59Z{oY}W1_HQ;%p&nx(t%uW_VRHKsaU0!Y4j1JyFv` zqmZ@m@;jFyCro=i1Yz=bpphBcE7v|DCr1y~Y-~HUCfYFg#`^Jqyl-6T%g z;7!xPS+P3S{)G99uNP7%y~02LYa@K@5I%hp&ci&C$#?D7Yr|geQrz-*l#)VOusMyPVvB&;9w~iNIL?2iWdE~ltlE+dwq@|iqbDVV(7fLODNL&wt15>&NwbtY z=HHv0@f4khKUM!9$G>G=*Sc}-dC9ma*QOBH-g{=Eg>^A*GTpz zL|3+C@6qr6{)O{-oO3?!@p?YHJ61F-_vXi+W2KebyEr!H%ueOuJtE((=%-O)*+iQ3+jc_qNNFfFdQ9b+SZ8Up}Xp_7Y| z^(z5g2&johv9Zshmqa5FAbIDnA7QwKZ(xqx_kc#xoyHURiJk$^#CpbkwAe+b>M*)` zWw%Y7?`RJ#`99#X%`!EA7@`Q!i3qN?3@t$ZBXpwj1%h3`5AZ-@8W=y4GVq`7qPPR~ zbDgYJLVcvhx38{A{DmV>l_iopqMZ9hYqC=3lU~xq544}EHz-M=!Ct_BpEa2?&99EO z=o|qSu3OV4kFz<#&RLzBY5PDr%aN{Z! zcRhn@LfoiJNe!mUWf<{tu8&uvda33W z9ZJeNnn+;=U9G^BU=>CJi?i}q;tD>Kx5k3fnTLTkK;^1Xb|#&lO1mGXxjs(09kb0j zHFwx^&5wJQBEQGo+ap3xzTW#9e>L_g>7;}+UiC_3g!l_v3RBysaDlB~aXI-}b;I}E z2FL7L1W{aQ{ruaL*)YkvmLX&7ee5ePP|;JXk^Hk%2)*?uVKrA-7(K1zLgy>W;c;;~RqBd9sx2as3^sHty*eh4sMj8Y3c`vs!>3AFK{6_Lu_VgRWUhppf< zqPmtt8?wr{{LS^gj+-JS{g304UP1l=w3?ZV_hqeTpGDj5iOEAfn|-2KxpbNk=Wt^p zM2z~6eP}N>T_m^Za`P)WE8>$9fOc*zylk3!7?dGUZ}TFm#@Fxr5l5nGt))vH_l6+o za{zyiR77p2#V@WORherP=ty6wRI2>BW9b~?uPQQNji1lSAi`4ee7+=8V&0o0;#Kdz z&CkZH+kb!i&>*8||FC#dtb6y;``E&J0Qg0-wg$vqN0n_q!W3)^;FOQ}O+g>|%hYd2 z%3X!c;rRtDP4}RChLP67HK?#RKep6Wsxrs0o{ug02bzf1)(Ow_3*HMw~V%$GcSnE|Is;>hyGx zO1IzpqIzi)Xe*@ZRNWbk{Q}ZamF&m*h9zY$^LWtNMORFv`Eb$IMt%eJ?_Q>@VY`hH zdpPXkdl~ii&v@Q}NL9eel-grJmHxr(i!;*aJp65sM1vqci((oJtLnaX893cy?W16+rb7O~%r;TeKIDNl?1PdG|j zZ~7a(e-0{1$_l&vEi%DgoJdb}3w>P@>D=_6uU=$c?JMAmoYW*CQJPdj${q(vH~5V_BnHe5@rIZ>K-JLsvcW{;(04BGJ#%pUg1MDI} zul;fFYK}Hu07MS9(kK>7YQ|kGj!b7W$G06lMFl9U%&m9Q#zKKiYR)X=yZdIX zwF)8lE7mGMsCfy7}Q zS1@>eHiGe~1i7tEEyCzt_l0b;4dTN^Jj2pwY)5And+K-22U^#s*=1aV1?q)$b$QfT zwWga>(qTSEJttICa3<5S;*z-5oR6985ELT`{86aG zHz{TG)a$HyCtpSPn>-vLX7Etu(3Lsn7F^fh%gEcc2;;$p;5zX6aS+OH<} zICWdOm~2D8#fY0_U*xTf??`(og-rRvk=Mr4m9s2)#y|>Sq!gw;QgZgHI?;v`^ zxJJp%KaWdxyk7_T$_-SuJ4Ab@?>y~LWpZ*zU{@xWd(VLxi_&;1-yYbIB)}$>5?iAx zvs8jK+%r&=iRs&CJeYUdH2x12%-zhAw2cA&Wv0gcqEvLDdM7MKr5;CuTLeC&kv62` zpW^?fl0r?lz^m5EN9KwsG~jm*_FE?^Nh;pI;tc&974i^`q*0YfLXVB^%8&9?cMMB` zT0{%4#+s>gTk6|kdwN~L9#?;NYdkbkBu*v%1?*nFq*wYoVr=S{WwLJ@N^8AwtVlMw z@kMV`Z9gl#9sY1cCSoeS8pg!$dQ|1?@lyqG@=7X=fJa?#^@efiV%<$RscM<1hI-aj zoSnN0?B{xl2()&4Ag>79=jkPJh)Dg}KS05sQ@z~EKfUk&*zEH_Uj_G;%$8igL4Qf* z8ir*`;j4h0&_IXP@@lx;|^+Z^AMo?lk!>g~Dz4uDVZFRrWiL$;+ zvd5}TUXixHj7z|0T&j^Ta%gg7Iax3-H=4-L1!neL}Ar~)g zGPgb{Y0xNYI9E8NlMj&v4|fm&_34-+ISN{|c@{}%8j3_0ZZ(v{q}CN=F-Dt29_j5* z&s`7E|E#35-Y=)5Ix$@6RF$A;IG;eF*LzIC#PV11WzmvkagMQCUD2eG6PZXwHKn%D z?)>aWn3DFcE#~r=fsCPu{sJm~VgQuQlLAkdKn7>p1}Qv<6)UFoiV?|8i(|*775A!2 zd`YSVmn&S-v#xZ$*us6$Jmoxb$Jk4e6k4+()_L;Wxgt%i7%v2*F6aJB=+NV3O4jw*sQ<_hX|Lq)w$e(7PsbjreV!Gk{4LH}LZRy&iu}&Y}U((^gV@Oc%=%`%q-ChlScZ zg|?#VA146P0g(-h`I%2oAAHC(BXndBb~C+hvcv1fM8Vlt*3IzrZboyS8L=Lc;$jjm zDej~QUVaBz6R2E{fSeW=5WQl#UAK52{dqE#b?{f-r$J1@P@Bz+<28IhHIXo5Vb<)b ziwez2O|MYaQtMkHFFQk{|<3G`**$P5mXS%sBn1FT6a1g0$P@7U(kNwz?hE zS4N0p%RJX0=9 zwkf>E=23=C+EcnG*QQh&uJJ_z!@)Ufvk&LpL>>>1IaPi%sNaTSG%-(%at}VWd!1{U zZGsMO0J~43r+IBK>5j+FaDUB*#*a};NRy^a(W579>X|Nx)N?}EVBufwL9_=Q~=$mjCzcEP<>bx;yIlWIXoPDOf z%_~LyQwMM|8Z{#lfuoPAmv%s`&2|73atK%{>5Vw0?>*{OY&r;shvgpBv z^>5CriAqGer|35Y3u@c^O|}k44lki6&X>5UhR>&M6V#0>_fry|OofI#dN1XY=WY%0 zY-l;URUwCv6oKEnE!aMtTP!P(>V0b@P)ko8z6#LOD`O2_`^xvs|GT%bITu@^mP|#+ z`*A~w?@f9n`o8Wm19p*19PhLmC@0-c04OH~XXU!BEv6^g(OABS-`6EbsmEpaLhrva zQH!Mg%#@IytC%l@-IxC~TqLFXc_qpgqSQ>7&GwM?nt{B~tG{c0u?m>9C!4QCN*0Xi zxO}K`gzQ8??X;>5EU%^mq%`iz0vzuZX-Fu(#cvvMBs6kn-kW@0VDK$!Rmg~HmeZ7E ztb@`Jz>Xs!V79fz{qnaKsylV6aA(W9&J%oDMf>0$tjC^nsJb4PG>IgeyiQ`$<~xi* ze=g9C;r$K99slF-yl1M&ZXhpaQtbViEXpif6j-SR*ig14uf3B#Jc43C8wqTTUu$6> zr&eBM2_dvlk4NI76%en4o)2#51Z+w0)?9Y1sXBHDhEkJhE(h?tB0k^ITaUKR(lpDN zDE>7-`NPXwA^5y3o>t*zPfL8a9;WE>V#t7ZI47dm&PShyb$-d)L=mjS4TF?XI>};S z08d;5T;kuT>XT?#f{0vb{d9Z6iO1Xi=w@ZJGHo=J<0i)pI$;Ls!Om2hL*hVIuOt4G z^RwuP6fA$eOV}KC_E6WM_~r?67tDxtB3ir$H-|%$tm;7KS#3`_Z5O7>0BX`$Ply}` zMD&WchbF)ht8UOFzWVySQZvfFwsTk*;|dr1QDLSkFOOP87LO znHtu|%mi}(G%LE}iT{|WNu}P_{NN9`Z%%T|74xDg6$QxnKLkJxBG3+EE;@`;l95~k z<&lFD99wVh;8K*=-`R<2*u`>?>*|shhum@EqQpS)Js$)Gcm-{&KI;z+7Jfv*ek*o* zEuMi(OBQL*4&AISga(qM}`xR3Nafca%#T-^6f&sJEDpv)-%l^XA(#ce~WU>oVGy?Qc|M zrq2_dG*b;qoM=&tMJ_9bwOO@67*a%RPIK#{L5}tv`)7$TIe(BqeSjB%%Z;c+|7j=X z`M&*xbi;1(0#+3Hh1NDA`U*W(J(>z@9jy{MHEitP;0?;NqT5lnH_%8GGL@$$WGgx@ zctMRcs-wij7rTg|B?dVb_DQ6~I8)PCc-`H&FWGHlpK;#jCK#RJMIQZg`j0~ywL}S3 z@*#&GKjA0O-Gafvpd%r-9|6mfPsOcIi-Y9KoeayHQ~7AK!%Cp!Ifi%dbbXQ420VW` z^)X>~*F&=;QzxQUbZj${A7?^%-8I@4ndk_sp=+2!?Y8hl%JtvS>!$ zDT2L(c3de;tCwpgKO(qUK2@=zrtkdKf`SI6tP1_ziYMko7E*_OCsF=?mU<23kI-Gm z+s9g4H;Nckf$JmBQ(L!TWx=wo0`Y$HUyTMhHrzLk#KyFqZ!dX+&($UAZAWhh{=+l^ zUES6{%&0%$NV_mpFcpXfPNQ1@%E?{IeZOusFqghZXdwIAOgu0vO2>Q~ORKltHB|nh z!C&GS@B(1`vX8b~MvSP|?(JPFf)|UDlyuNth7!?4<+q^H^cF(6Y&Mf6t6~7T&DQa~ z%08hT&2Ny$^|DQUZ&QQlA9bmLI`$4+-oq2rWucT>Z>8KjDzXfjaK=JQJ{2PUXw{z`-L&r2{5d+L)`tK9P{gRbC+8Y~ctq+NAWFFhu$$23;4C;-Ak3LJJ0f zA(u8kMo?v;CjS~ipTVCYw`uu^w1{+|PrhciVJ3ro)~pJY-QmuvbJ&pt6UQUrb|7sDOTtzYr5mY5Fz7mB^C#Od_Tvx{9GC*dpJc z^jui9r!R!SYWeqj(YkGrse2q3iOr==zz^LcDY}EJ*FhX?jy~$$O=FIPWm^*g{smis zzBtZ4;^a^QNlOX3xjgsK)>$qL;Rj#ZH>qN@mT$PiOCkhOQ#`BGs#G|tH)E+|o`S^k z^XXwZ-hUK^_*D(>&LU(Uw(ZIRK%cj=UPF!KE^{q7L-#qThTqbkz0pJj)&}qaUbyk1 zu1Mgzl!~Po6z4rP}o*dGt6U?V5<3ypo^4Q>q|BwJ1`{Uo4RgwWEi)076 zub0E}cd+2ZTZe+F18*>)m;>5Otl@~;D zhpRg}!kOgaDE}^tfP6KwLZ|PYgt?t$Yz-Cc{t!ZqpWANL9fgqMdk>-AhDAu+UvWg( zFAp7BdK}_q(|^2wrqi@&d(2+Hsd?%#3u9aRiy*sInhU2PVPbOb%@DV%2V&jJpJ)6` zWqti1IJ+pR&qyRm_P10mKx6!2_hPMz#QzNeY|siFuS1GEC_lyw0t%}Ih z>5>fAk{f_$REQ-}a72-z4VV`BnK)L4V6Fmo4=F*ubxF4Bs*a=-62`_Ghikd_%baKDnM$T4(x`-R(m zBaI{XN1@c+MWl#|#F7)+_c)QxRsUlx-yVJdW3xJ5E5n=S{My$9_ay%g{`b74-AA^* z2sE|vClpC{F|W%~B@fs++JjQnLXDV_7)MeT&j4E2%J?Y|ysFN`sStSFCg>7!N!b!Z z`>7$^;M3_L=*;{d0+8)55m_@`1@9M%l!7S7cPU4IHt<{S2njm7hst8&!2DoNfqw@^ z^K!6@14bLr27`Ny+^>lX)i9phSYzXq0<`nDqd%}!RJ|GJC0$6nD67Z!uP)~1nh-%m z%o%)MR+@ z?!*&!(5miDr-@{CKna z8F3&uvveTe6B3MjA$bww4o;jCkE_-~Zg>%4o~ACH&HQ51E9X6=?DEa7LG8c3*kJ@I zq|VrpLbjLIogQ%Zh>o{RCM;K4&Gg!K=oP0iM_$kFM$P{5*z`|=KXuERXw3>t+Oq`Eq6$#PQcBw|vS%cZKji}P z25;5m*-j|R4`4ZLniRhMu2>WG?jnIk67}!SSWnSolhB@c-UE~H!Yb)x24BzhU5Ykc z4Ay!5ou6(A4FefqMDQ!tAEntj##&}DL>Usv#E+pxmJrjQ+VI%~7y71E-q zR0%f9ywKz-%FHz3C?15}g^*ya<7L5*4#~Dbe}4{w|2_u>bVBK!Ss+_fPK@txhJp0) zJ5qEr%8`>Ff z>L<$Q>5xZ#$PR0SPO34POVDbDY z;pVdMl5-bA+5WbTf3%(POj0FaG!6Lx-h4L%clC+TEUjh!8@uv_FVejT)h3a_RDZ1B zp+CMEN~Lxt6j_1ZGDp5t8!355&fNt4h!{2Mk8Q_4a(R!NYCIzt^N!$~DehW$m5$yw zzZY2Iv{GOi7|XvY(MKxbVyri7k)r++>aTZl;W#g| zYDO-vUFB10uQ8`RntJ2@SLc-Yt-CmIEZ-lCGirx5CMTqbSU=dvN9{DrNh?a#-NW}q+jMw#>H_ih1LO#^5`o_;KMv4~2$Vsxl zQvc=(iI2XSX=^`|wY_`ZN{?~S@J1-j@bR+s4h)s1f@4^3`$3FOMlxEancbqtL)wL( zB7&%Tjt84n=I^7+rLeY)H>+<14mMri<2G?rDdH(?Nm*U%;;FFg%*@a6C7XM+RN?pF z3ZyAQ2=C3AXyjD&>AbIZ#Qsnn*Xr(V63O;P#9#04Ox7cTbaCA{eEENPCS{oby;C5e zMK=B|-_@vp=j3&}VSf-<;fpYc*3E^;8*uCW_la3JOggGMz^4KXm$8b5c`Q1EM|MVf zxQBia6VpXX@><6xi2HPQpeIbdu10-PV3 z2Z7Zq4_p$x?zI44y(9$$*z$d`_NYP;b1t|~`62yPm{D}h*Oa*qrY1qn##uIQ+3+Hm zLz0#w2lc;?l zyWq7TdsM)`_CW>tf!9EKc!FB|<4Bm;Im46TP7vCRyZA12SK`Dq1wIRO4UDfA1~fpP=jRRwo?;EC9X8DZZ!=DTY2f^-Ms|ER95h1J9D&@)#bALIimx=>dP!1Jy88GeFwj}=a^jxguJAY9wa|LS*}~I zIZ%gRLT_D3a7)C96k3jF#NX^8y9s7w$cW5DzvDM*5M zl^TJn*{}o^2B72G9C|bOC_D}oZ~tl5wstv>O~J4Rr1 z$bUT?ojA6-H`*!8Cb`Lk>-?iF17)y^q0_X}CBe4Ze@-y@rlPa`EHrM88%!8L5OJ4(X-S^!5g$V%(@Uqw{ai#fr~}yA927-(Pq?b&Y~tUu%2M@}N4^0Vf(&N*S|i|DVR^im%A~Ya6s5(v2yn}E ziUCvMxSPy?In?E(quV1-@CYl@DV3!RFlDNoK5UJ6lkv<*G_k(iXh}WUCgz1$OP?l2 zSwKqw%^bd8JDNbs>v5$5{P(eOXF&i1YyL|ozV?nusBTkYKKLnbPZck@qAn3TZn~&B zkDkFeuOMdUM*>N7Nm{Hi`8+5Vh;sMj3jURik`R8ejNa!XM`Zo_fILp2Q6gsr6dMBY zW$U2{nCqu+#wx^T>Yw<({S03ca)6qAD>a6-o3;Oh-Sc|pWtpM`kz-`KubG=O2ZX2K zqPma&(J`ZcePxlefbbI!c1tnnlc2FO1?y=UU3X3tJQbotWsh9m3%JS13Fj)4YXo4w zudA0EXE-@^d{DzA4jIU0t)aqbQA>pa2bBU4HhT2;hHn8j>xhoQdIp@~oYUtnNmlY< zDCGlOF#vJ;ao#vPi~Qx#N$|KUo$zl#lF^fEfT=v2M<~u?=D7y=B;F8lGO4e z`Txlazq|PuoyAN|#f*Lyp#ipS=F-GG^3iU}3j+IMVJ~+K0nG4D2AlM+v^f5IxNpzy z9*mWCoRfH#LJ!5~n+*lDHbccJ%Gn`Dg?Hc=C(L2jO6KCEkzh3gpzwnkKWxRNy-TB< zAvEq&S6ARq#6;ZwCsM31s`L8%d8iPWLfnQDA}Ua{J3g-+yi{S(Y|cHQJXO0fKjhPj z`PmjVl>Br=iEQJ%j<9@Wv}yji?h#bv_z{Zmm&`aG*tDFhrQ$fp&^`m5qJ!G$0g_Br ziWah>_%vo^*vqwDsTHolnja52_EN$C-Jvt^O%_4)qNgJ;pmP7`*^^afuZM}YotSvI zyoM5wcr8ph!aTXF)0cSsnj8|GLx48U7sI4&Ee8w7RfT$lFaMKfy_*eYiMxm6eLj{< z2f#=Fhij;U)FVx*zkR&=HE1Q7O2ye9Hawptdj56Dan7cXTGUAG+&v=6nx^w|bR$1B zrvjTkGD!TI2u~ip&$VTL*K;&`*ti#TzEBr!q`dcoAVSe&ESH+pz?f+8*4=~lOg1|2 zdhPa1eSv;V^h#qow7QXPo(ZB(gTc$#fyGJg++cDRRLHjzDPwPa55xUi6u}jUg|bz# z+~$#M$!y!kYH{UvG4&7B9r_yxW?~FAx`_YMKSJf(C$2CkH3L8jW{jda?D2QXLO8jO z3oC9|=Z90(ia>3ydBjl6u*c4EY}|8JbnsfhE7j4*C}(_Kw-xit#%^WImh zEYjp(&jo^We78 z`vfKGy84dcV!mDK;0dc((oPfz5Z;RU80UT#ke&&3CV#}#QU})&; zq0uEWwLeMWA~C+{NkH)ox^;7NF0QnRw;QN$?aw(MfmuGh>gtJuVumUN2?Q`Kgwuq1 z%J9yxD)vHJslTr2c=~8YzB4g?Tk{I~U>IqXLEU{Vur}UGiP3~KFJ*xh%zgX@pS%7C zsoxrOBY9>K4f2DDzr+cllDnqUUh%SU<|M-htyIY=!hlqQldqqOH=Ah!Ugj$NcpMO$ zRDJJ-n*T`!TtFRoqA*`Zop=gD>1t_E#`LuxMENr1$!|F?7vvw?)qE@3hjG^H4}!m; zaY}v2o=5bwDf45qmhu6#PKKA#QDbN6CX!m>aZn<2?QtT`7 zpI#c&o^T&Rf{ULYhwGbT0J$0ZAr*fz9Oz3>?AsbBKlG&91n5?bxMbssVUp1P^ZiQi zj+-t)aS!p|nuwafK)y&x0B5@SA1XN8BTJflzX-*Lfp~B<=z|~8TMGK>E61_cG$~3J zRDcnISyHpYqLtg{7XFfgH~3A8myTx7HkRY5yBkwV?0!JH_Ih9 zr@!Hb-kL$l^!t9|ZhyBkBsTts(>u;2UmH)*^wz-jl-)+|@05+alaO3WByP!O-J>|G zH=xv|BI_;r1=hx&|EM?XSBDBfuUE9iIB(Xr8(5|H`qK#aYUw{51JCO@sv5VRN3M)M zpf0WthuKmz*!w{VQ0TWtOsQkOUA-R93x~)t+J=$HDwkDL=AwMbM83Tj*V2@qKH9&= zq4qxkA=2d8E~yZmN*$+@B6Oy$8BVzf<=uYb)V;KGS|bocdKbk|14LalOQjSg#Xq!a z5A451<+&cRK;iyUaQ|D+FC*@Nj-!#s>Ds*Yic_R&cW@pNtX3p&j3EBk*LOpK!$RUf zJ6Kb}*ILFG@UzZDGk2_`p;<+36c_w2iNzOntWtR_#3C!d*#8)(st0^>`{#uir!M2f zl#i$3XWYxzogvnPz<+-Cu7$j(%tyrON3f%BV6FCcicGmvg_K@hzqWlpCJ3Vbds-3+ zU9L>m-4!RHp3S3Cq5gtEW{bfS)x5Q^wvg)teO&P2IGHaNX-y$61)EfyQ^9ga>Je_4 zm(F)x!EV{lo{ajqS0^!2+*o9JoX_7>Q{puD|8tUT%P}KigB##p@S;SasR1Kefl^|3 z!BMQP!RdvpK=B_^5Hxm$lAbG$-!5Xo+j^PHIDW~WeDGED^b_Uj8pe7MwT&o>EwKc{ zESOl)-P@4eR9bG_tYV2_|I;u?z;I3}OW6JH3+}V~$=9SSaakaj(@wb9>~c?d1m(@} zQR33%n5F|J9PP^fn`%oLp<5EgPsR*ep~kd7j(#i1ev}2m)li=Bf4Y6|G_z{4$Cw{x z9bWS-@I+VZoKN(8ey6&aOk?r)aay>bGr9;JP0gv`_W1O(rHuVX5E>^c{UHiD#rUV| z5US{pFHCo=;ZUYGv|JnhYqWaDRiX2pviLpRr-7b0#W{C0^9k!oJUMf!5^3h8lCuHa zRtCWQL6S|GMw2WTo&?tiZh1*ngAc>&i;L-7=_{Uu&>~$ zBB6>lLwe{sc>7@9jD-%Y&mZD8W5&%H)Vtjv-{&GFU2fB|I}uMn60Fn6st{)N7vCGm zDiO#ay%M!Af+D+T`)vW&{OjtCAB7LkC!~4} zJsD1qi?;7Z8!IDKuIgJ_^F?{5{7oPze=ur4xLI3H2o@{6itpTJb!jV7f!JXbDeO#=$ zhWHyRn~%Q|e9>ZdB%FQMV%%ZPP0+=3wLE?)mhi4X>e zX(Wg#lDKqsP}b?L6qxR_7M055+-ELY&34<^Z|BIe%V9;8z?LL9r8+aNe!M8fJ&De? z-gD{2tHRfXq+D^{(PEBwiAcZHYK~VcFV69!7*xqIf*6{ZmQ}cd40mN~q?o|`HS+_x z?}4e*RUCs≦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%0DJGZAm_)e#kC>Y#HI?~1}6C6n~v4`v3< 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

>T|`UP6IBZrM(Ge{VE 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:R6o-hSIn>q!W|eEH{P z@GKZSIrXcfMbKQ3B66D4Mlu*fMhV|03Tn}l;c~SJ7_#X&7!@< z!a*U5SVmdLq`4t7sN$(~gGMeE zDA8!8gw?e6c9qb%`br6LWo%cghP8CVbVw?LuYA=j`(m)LN`&mchz5E`$G~8EWI7upA0!r?uLXhH zq%v4lV!JggP%ML=HUoU*av$BoV53YrMq|p94zhplYu`*LiYpo!tbJedwC*&{zDgI0ep$IOnJgbrrRv3z*>I;<*yjIn*W;D9Z+q-4-1BV{f3}z(2V<#w1 zTyyPu8FZgTn$;#9tkQ%Gb|4xA(SfQ-{FV2dDbN3c!GHYY`M=q?_SCPRBpQ9-CqKC7 zziz+vMiN38yciuMarxLuCmxqhDpim`G!`cxYHuWb&6Z38QW;!wD1vN;<~qN&?3HD`s{jR| zc@AekBZc6IQG;3YT8%#&X>ytOY>7(~rxXs~7Af3$XWG~_XUGb9B(jgqaMXKI7Y|0h zU|TbpAvS5D#zBWLcEk}B41uD`&4WR9*>DrrVWCe9GPb|&*kfJVC5ys% zw11-&E=z>fErSqd>u4X#v~3z@wlv$dKv7V643mtFV6+f?#mis$ikH9Q6|dlBB6V&C zd41}&sXc234aDw53n@=*D}$Ia@BiSDgTX#_;;OX_dNRG+wr3rD>}Q<3PLEo5$Iv2* z2$BsMhsxmp3PB)zj%xiMe)~(Rgb_kq8G_NTed*FL==+5l7WQ2^qQzkApm=eigSK@* zpb)+ggAu|5-UqpQa=}nn91L@F%?7<~%^*8y?b=od&pIck<9zYUUuSmEP}F^DoccNK zkqLtoMvFl|N>-^_MX1f728j<-dHSa)?(-cDU7Bl+%etFK{lW_gQ!tC}X_Q!8>b$@CQHo3ASkI zpbS=3q5{$1|6!zpJl45pujPOC)${hPJ%ugv_#+S8`-8jh{LanSUvt&hzx;(uF8Itj zXP)|rlTSJ!E&V>Z4mpTtmuj}u!7!NTctHq{Fj?jL4n~Pcd8=6`G#U+s)Cgw=xsxL3 zSzeY0VUSK4T$$6)7Y(exCLhx$;|?qsLVwkT2A%xk*rVc82 z;qS0R*%-w$lcQeyCq6(Uh|p$Cim{yyd4{F=35RxvycGsjRo_f*A##*(U*0x*?Y`S? zP-sB+w~$;sM+m*vfG*+vE#ojCB2Bab`zlT7h;BNi2COqp!@9lj{jpgDc%zA*R@o{U>X z!(jTfwM75)7elGUTK{VqO;z633N84z;4I(07~6hm7`o4yAAia}z~m%iksFMY|s`kaEnS8b#3j81R_+HJRy52AzLTV;^C^y9qyJox#y zBtt}^e|#pMykY474;kc*X-fF}-_X7N$o-Tj?zr`)>!=W3_IY&hj8A^_q%f#`U{L}W zPmsJ0^zm)sVSmgvNZi{Nt35g5ji?lhbSZ>kkSwGbBq==PL)^n=kjQ7rAOy}Mgr0(Z z;U$-U`5V`CI{46|Pvqp?s?TRsOJCS1lox_Z#Dc*|2NQ=DgZZ*z(FS$E$7i?j3#~>f7V6tiv zv`sWh7zW?H+dJu?eEZw}p5+g7m-O(_*Y2D| z_`ZV6hP$DHB+A9mAgm?b3)WS|6pB6uhae&}#iu^8mmc@c~H@kn)0U+vg+#~gRu zap6%0k6Ozh--kh(wu!_<;K;~W`ueeG8|7QHq)_?_Fodq<~(KeS7RA^I@*B=b5Nf+Q&r`1I4yJe#*&a-DvU z)jREf`jM`+KmYOfzy0NtKYQrDAKr5(J)>8D^Xp#Bkb|M%``eVKG)KUzKZ*=rvo(qx6rAWwS_?5gtO2M&%7E*OkymX__4!=URdPWj|% zXS2&f2Cuw^vtF=d9()9E*we2wK>rMs6@&6O7^G$oU%E9T7G3Bdzo}!org.geoscript geoscript-js jar - 1.4-SNAPSHOT + 1.4.0 - 25-SNAPSHOT + 25.0 UTF-8 UTF-8 @@ -62,7 +62,7 @@ org.mozilla rhino - 1.7.12 + 1.7.13 jline diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/memory.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/memory.js index 8b2b8d22..aa8b9782 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/memory.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/memory.js @@ -38,7 +38,7 @@ var Memory = UTIL.extend(Workspace, { * Create the underlying store for the workspace. */ _create: function(config) { - return new MemoryDataStore(); + return java.lang.Class.forName("org.geotools.data.memory.MemoryDataStore").newInstance(); } }); From 0b84834dd2405eb8672e435fdf31f266240a11a8 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Thu, 25 Mar 2021 19:33:36 -0700 Subject: [PATCH 51/56] Start working on version 1.5 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 7b5ea930..99dc84eb 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.4.0 + 1.5-SNAPSHOT - 25.0 + 26-SNAPSHOT UTF-8 UTF-8 From ac58f2bef4fec167a94d55902b1a322a6252e467 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Fri, 22 Oct 2021 11:14:43 -0700 Subject: [PATCH 52/56] Release 1.5.0 --- doc/download.rst | 2 ++ doc/quickstart.rst | 2 +- pom.xml | 4 ++-- .../geoscript/js/lib/geoscript/workspace/flatgeobuf.js | 9 +++++---- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/doc/download.rst b/doc/download.rst index 80710d67..1f0843a3 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,6 +3,8 @@ Downloads ========= +`GeoScript JS 1.5.0 `__ + `GeoScript JS 1.4.0 `__ `GeoScript JS 1.3.0 `__ diff --git a/doc/quickstart.rst b/doc/quickstart.rst index d27e520f..ff1cd6a2 100644 --- a/doc/quickstart.rst +++ b/doc/quickstart.rst @@ -29,4 +29,4 @@ After extracting the release archive, you can open the GeoScript shell and impor You can also use the uber jar that contains all dependencies and is runnable:: - java -jar geoscript-js-1.4.0-app.jar + java -jar geoscript-js-1.5.0-app.jar diff --git a/pom.xml b/pom.xml index 99dc84eb..20fd4da4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.5-SNAPSHOT + 1.5.0 - 26-SNAPSHOT + 26.0 UTF-8 UTF-8 diff --git a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/flatgeobuf.js b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/flatgeobuf.js index e85d7b0f..5220c226 100644 --- a/src/main/resources/org/geoscript/js/lib/geoscript/workspace/flatgeobuf.js +++ b/src/main/resources/org/geoscript/js/lib/geoscript/workspace/flatgeobuf.js @@ -3,7 +3,8 @@ var Factory = require("../factory").Factory; var Workspace = require("./workspace").Workspace; var UTIL = require("../util"); -var FlatgeobufDataStoreFactory = Packages.org.geotools.data.flatgeobuf.FlatgeobufDataStoreFactory; +var URLs = Packages.org.geotools.util.URLs; +var FlatGeobufDataStoreFactory = Packages.org.geotools.data.flatgeobuf.FlatGeobufDataStoreFactory; /** private: (define) * module = workspace @@ -13,13 +14,13 @@ var FlatgeobufDataStoreFactory = Packages.org.geotools.data.flatgeobuf.Flatgeobu var prepConfig = function(config) { if (config) { if (typeof config === "string") { - config = {'flatgeobuf-file': config}; + config = {'url': config}; } if (!(typeof config.file === "string")) { throw "Flatgeobuf config must include file path."; } config = { - 'flatgeobuf-file': String(config.file) + 'url': String(URLs.fileToUrl(UTIL.toFile(config.file))) }; } return config; @@ -53,7 +54,7 @@ var Flatgeobuf = UTIL.extend(Workspace, { * Create the underlying store for the workspace. */ _create: function(config) { - var factory = new FlatgeobufDataStoreFactory(); + var factory = new FlatGeobufDataStoreFactory(); return factory.createDataStore(config); }, From f05f29ed074c6c4dd1e840f47b4a03d1d6569b93 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Sat, 23 Oct 2021 11:32:23 -0700 Subject: [PATCH 53/56] Start working on 1.6 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 20fd4da4..8c81efbe 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.5.0 + 1.6-SNAPSHOT - 26.0 + 27-SNAPSHOT UTF-8 UTF-8 From 9e1d26dbffd898d68240de4943d1b2e0e14150c0 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Wed, 15 Jun 2022 11:06:03 -0700 Subject: [PATCH 54/56] Release 1.6.0 --- doc/download.rst | 2 ++ doc/quickstart.rst | 2 +- pom.xml | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/download.rst b/doc/download.rst index 1f0843a3..13ea5a4c 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,6 +3,8 @@ Downloads ========= +`GeoScript JS 1.6.0 `__ + `GeoScript JS 1.5.0 `__ `GeoScript JS 1.4.0 `__ diff --git a/doc/quickstart.rst b/doc/quickstart.rst index ff1cd6a2..780622c8 100644 --- a/doc/quickstart.rst +++ b/doc/quickstart.rst @@ -29,4 +29,4 @@ After extracting the release archive, you can open the GeoScript shell and impor You can also use the uber jar that contains all dependencies and is runnable:: - java -jar geoscript-js-1.5.0-app.jar + java -jar geoscript-js-1.6.0-app.jar diff --git a/pom.xml b/pom.xml index 8c81efbe..634c2afc 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.6-SNAPSHOT + 1.6.0 - 27-SNAPSHOT + 27.0 UTF-8 UTF-8 From ef3921fffe7ce3336bfc77c3d9a168c64825e0e8 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 27 Dec 2022 08:44:44 -0800 Subject: [PATCH 55/56] Release 1.7.0 --- doc/download.rst | 2 ++ doc/quickstart.rst | 2 +- pom.xml | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/download.rst b/doc/download.rst index 13ea5a4c..bb1d85cc 100644 --- a/doc/download.rst +++ b/doc/download.rst @@ -3,6 +3,8 @@ Downloads ========= +`GeoScript JS 1.7.0 `__ + `GeoScript JS 1.6.0 `__ `GeoScript JS 1.5.0 `__ diff --git a/doc/quickstart.rst b/doc/quickstart.rst index 780622c8..bc34c0da 100644 --- a/doc/quickstart.rst +++ b/doc/quickstart.rst @@ -29,4 +29,4 @@ After extracting the release archive, you can open the GeoScript shell and impor You can also use the uber jar that contains all dependencies and is runnable:: - java -jar geoscript-js-1.6.0-app.jar + java -jar geoscript-js-1.7.0-app.jar diff --git a/pom.xml b/pom.xml index 634c2afc..d26b8324 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.6.0 + 1.7.0 - 27.0 + 28.0 UTF-8 UTF-8 From baf658cb6880aa70e419a58e41824a2facdec294 Mon Sep 17 00:00:00 2001 From: Jared Erickson Date: Tue, 27 Dec 2022 16:15:53 -0800 Subject: [PATCH 56/56] Start working on 1.8.0 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index d26b8324..25c31916 100644 --- a/pom.xml +++ b/pom.xml @@ -4,9 +4,9 @@ org.geoscript geoscript-js jar - 1.7.0 + 1.8.0-SNAPSHOT - 28.0 + 29-SNAPSHOT UTF-8 UTF-8