From 5d79ad2f81daa8aa4ae51f98d026ee0696cd80f5 Mon Sep 17 00:00:00 2001 From: Jelte Lagendijk Date: Mon, 4 Apr 2016 17:26:48 +0200 Subject: [PATCH] First version --- .gitignore | 20 + .jshintrc | 23 + Gruntfile.js | 223 + LICENSE | 202 + README.md | 134 + assets/app_store_banner.png | Bin 0 -> 168360 bytes assets/app_store_icon.png | Bin 0 -> 15345 bytes assets/icon.png | Bin 0 -> 16561 bytes package.json | 33 + src/Leaflet/Leaflet.xml | 301 + src/Leaflet/lib/leaflet-fullscreen.js | 197 + src/Leaflet/lib/leaflet-locatecontrol.js | 504 ++ src/Leaflet/lib/leaflet-providers.js | 673 ++ src/Leaflet/lib/leaflet-src.js | 9168 ++++++++++++++++++++++ src/Leaflet/widget/Leaflet.js | 471 ++ src/Leaflet/widget/template/Leaflet.html | 3 + src/Leaflet/widget/ui/Leaflet.css | 520 ++ src/Leaflet/widget/ui/layers-2x.png | Bin 0 -> 2898 bytes src/Leaflet/widget/ui/layers.png | Bin 0 -> 1502 bytes src/Leaflet/widget/ui/marker-icon-2x.png | Bin 0 -> 4033 bytes src/Leaflet/widget/ui/marker-icon.png | Bin 0 -> 1747 bytes src/Leaflet/widget/ui/marker-shadow.png | Bin 0 -> 797 bytes src/package.xml | 11 + test/Test.mpr | Bin 0 -> 1377280 bytes test/widgets/Leaflet.mpk | Bin 0 -> 113851 bytes xsd/widget.xsd | 156 + 26 files changed, 12639 insertions(+) create mode 100644 .gitignore create mode 100644 .jshintrc create mode 100644 Gruntfile.js create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/app_store_banner.png create mode 100644 assets/app_store_icon.png create mode 100644 assets/icon.png create mode 100644 package.json create mode 100644 src/Leaflet/Leaflet.xml create mode 100644 src/Leaflet/lib/leaflet-fullscreen.js create mode 100644 src/Leaflet/lib/leaflet-locatecontrol.js create mode 100644 src/Leaflet/lib/leaflet-providers.js create mode 100644 src/Leaflet/lib/leaflet-src.js create mode 100644 src/Leaflet/widget/Leaflet.js create mode 100644 src/Leaflet/widget/template/Leaflet.html create mode 100644 src/Leaflet/widget/ui/Leaflet.css create mode 100644 src/Leaflet/widget/ui/layers-2x.png create mode 100644 src/Leaflet/widget/ui/layers.png create mode 100644 src/Leaflet/widget/ui/marker-icon-2x.png create mode 100644 src/Leaflet/widget/ui/marker-icon.png create mode 100644 src/Leaflet/widget/ui/marker-shadow.png create mode 100644 src/package.xml create mode 100644 test/Test.mpr create mode 100644 test/widgets/Leaflet.mpk create mode 100644 xsd/widget.xsd diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4f4740d --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +test/javasource/ +test/deployment/ +test/.classpath +test/.project +test/theme/ +test/userlib/ +test/.classpath +test/.project +*.launch +*.tmp +*.lock +.idea/ + +dist/ + +node_modules/ +.editorconfig +*DS_Store* +.vscode/ +*.bak diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 0000000..f73b569 --- /dev/null +++ b/.jshintrc @@ -0,0 +1,23 @@ +{ + // Enforcing + "curly" : false, + "forin" : false, + "latedef" : "nofunc", + "newcap" : true, + "quotmark" : "double", + "eqeqeq" : true, + "undef" : true, + "globals" : { + "mendix" : false, + "mx" : false, + "logger" : false + }, + + // Relaxing + "laxbreak" : true, + + // Environments + "browser" : true, + "devel" : true, + "dojo" : true +} diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..25773e0 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,223 @@ +// Generated on 2016-02-12 using generator-mendix 1.3.3 :: git+https://github.com/mendix/generator-mendix.git +/*jshint -W069*/ +/*global module*/ +"use strict"; + +// In case you seem to have trouble starting Mendix through `grunt start-mendix`, you might have to set the path to the Mendix application. +// If it works, leave MODELER_PATH at null +var MODELER_PATH = null; +var MODELER_ARGS = "/file:{path}"; + +/******************************************************************************** + * Do not edit anything below, unless you know what you are doing + ********************************************************************************/ + +var path = require("path"), + mendixApp = require("node-mendix-modeler-path"), + base64 = require("node-base64-image"), + semver = require("semver"), + xml2js = require("xml2js"), + parser = new xml2js.Parser(), + builder = new xml2js.Builder({ + renderOpts: { pretty: true, indent: " ", newline: "\n" }, + xmldec: { standalone: null, encoding: "utf-8" } + }), + shelljs = require("shelljs"), + pkg = require("./package.json"); + +var TEST_PATH = path.join(shelljs.pwd(), "/test/Test.mpr"); +var WIDGET_XML = path.join(shelljs.pwd(), "/src/", pkg.name, "/", pkg.name + ".xml"); +var PACKAGE_XML = path.join(shelljs.pwd(), "/src/package.xml"); +var TEST_WIDGETS_FOLDER = path.join(shelljs.pwd(), "./test/widgets"); +var TEST_WIDGETS_DEPLOYMENT_FOLDER = path.join(shelljs.pwd(), "./test/deployment/web/widgets"); + +/** + * If you want to use a custom folder for the test project, make sure these are added to package.json: + * "paths": { + * "testProjectFolder": "./test/", + * "testProjectFileName": "Test.mpr" + * }, + * You can test it by running: `grunt folders` + **/ + +if (pkg.paths && pkg.paths.testProjectFolder && pkg.paths.testProjectFileName) { + var folder = pkg.paths.testProjectFolder; + if (folder.indexOf(".") === 0) { + folder = path.join(shelljs.pwd(), folder); + } + TEST_PATH = path.join(folder, pkg.paths.testProjectFileName); + TEST_WIDGETS_FOLDER = path.join(folder, "/widgets"); + TEST_WIDGETS_DEPLOYMENT_FOLDER = path.join(folder, "/deployment/web/widgets"); +} + +module.exports = function (grunt) { + grunt.initConfig({ + watch: { + autoDeployUpdate: { + "files": [ "./src/**/*" ], + "tasks": [ "compress", "newer:copy" ], + options: { + debounceDelay: 250, + livereload: true + } + } + }, + compress: { + makezip: { + options: { + archive: "./dist/" + pkg.name + ".mpk", + mode: "zip" + }, + files: [{ + expand: true, + date: new Date(), + store: false, + cwd: "./src", + src: ["**/*"] + }] + } + }, + copy: { + deployment: { + files: [ + { dest: TEST_WIDGETS_DEPLOYMENT_FOLDER, cwd: "./src/", src: ["**/*"], expand: true } + ] + }, + mpks: { + files: [ + { dest: TEST_WIDGETS_FOLDER, cwd: "./dist/", src: [ pkg.name + ".mpk"], expand: true } + ] + } + }, + clean: { + build: [ + path.join(shelljs.pwd(), "dist", pkg.name, "/*") + ] + } + }); + + grunt.loadNpmTasks("grunt-contrib-compress"); + grunt.loadNpmTasks("grunt-contrib-clean"); + grunt.loadNpmTasks("grunt-contrib-watch"); + grunt.loadNpmTasks("grunt-contrib-copy"); + grunt.loadNpmTasks("grunt-newer"); + + grunt.registerTask("start-modeler", function () { + var done = this.async(); + if (MODELER_PATH !== null || (mendixApp.err === null && mendixApp.output !== null && mendixApp.output.cmd && mendixApp.output.arg)) { + grunt.util.spawn({ + cmd: MODELER_PATH || mendixApp.output.cmd, + args: [ + (MODELER_PATH !== null ? MODELER_ARGS : mendixApp.output.arg).replace("{path}", TEST_PATH) + ] + }, function () { + done(); + }); + } else { + console.error("Cannot start Modeler, see error:"); + console.log(mendixApp.err); + done(); + } + }); + + grunt.registerTask("version", function (version) { + var done = this.async(); + if (!grunt.file.exists(PACKAGE_XML)) { + grunt.log.error("Cannot find " + PACKAGE_XML); + return done(); + } + + var xml = grunt.file.read(PACKAGE_XML); + parser.parseString(xml, function (err, res) { + if (err) { + grunt.log.error(err); + return done(); + } + if (res.package.clientModule[0]["$"]["version"]) { + var currentVersion = res.package.clientModule[0]["$"]["version"]; + if (!version) { + grunt.log.writeln("\nCurrent version is " + currentVersion); + grunt.log.writeln("Set new version by running 'grunt version:x.y.z'"); + done(); + } else { + if (!semver.valid(version) || !semver.satisfies(version, ">= 1.0.0")) { + grunt.log.error("\nPlease provide a valid version that is higher than 1.0.0. Current version: " + currentVersion); + done(); + } else { + res.package.clientModule[0]["$"]["version"] = version; + pkg.version = version; + var xmlString = builder.buildObject(res); + grunt.file.write(PACKAGE_XML, xmlString); + grunt.file.write("package.json", JSON.stringify(pkg, null, 2)); + done(); + } + } + } else { + grunt.log.error("Cannot find current version number"); + } + }); + + }); + + grunt.registerTask("generate-icon", function () { + var iconPath = path.join(shelljs.pwd(), "/icon.png"), + options = {localFile: true, string: true}, + done = this.async(); + + grunt.log.writeln("Processing icon"); + + if (!grunt.file.exists(iconPath) || !grunt.file.exists(WIDGET_XML)) { + grunt.log.error("can\'t generate icon"); + return done(); + } + + base64.base64encoder(iconPath, options, function (err, image) { + if (!err) { + var xmlOld = grunt.file.read(WIDGET_XML); + parser.parseString(xmlOld, function (err, result) { + if (!err) { + if (result && result.widget && result.widget.icon) { + result.widget.icon[0] = image; + } + var xmlString = builder.buildObject(result); + grunt.file.write(WIDGET_XML, xmlString); + done(); + } + }); + } else { + grunt.log.error("can\'t generate icon"); + return done(); + } + }); + }); + + grunt.registerTask("folders", function () { + var done = this.async(); + grunt.log.writeln("\nShowing file paths that Grunt will use. You can edit the package.json accordingly\n"); + grunt.log.writeln("TEST_PATH: ", TEST_PATH); + grunt.log.writeln("WIDGET_XML: ", WIDGET_XML); + grunt.log.writeln("PACKAGE_XML: ", PACKAGE_XML); + grunt.log.writeln("TEST_WIDGETS_FOLDER: ", TEST_WIDGETS_FOLDER); + grunt.log.writeln("TEST_WIDGETS_DEPLOYMENT_FOLDER: ", TEST_WIDGETS_DEPLOYMENT_FOLDER); + return done(); + }); + + grunt.registerTask("start-mendix", [ "start-modeler" ]); + + grunt.registerTask( + "default", + "Watches for changes and automatically creates an MPK file, as well as copying the changes to your deployment folder", + [ "watch" ] + ); + + grunt.registerTask( + "clean build", + "Compiles all the assets and copies the files to the build directory.", + [ "clean", "compress", "copy" ] + ); + + grunt.registerTask( + "build", + [ "clean build" ] + ); +}; diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e06d208 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + 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. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..8f5143a --- /dev/null +++ b/README.md @@ -0,0 +1,134 @@ +#OpenLayers Maps Widget + +Add different type of maps to your application, using [Leaflet.js](http://leafletjs.com/)! This widget is almost the same as the GoogleMaps widget, without the typical interaction you have in Google Maps, but with a wide variety of maps available. + +##Typical usage scenario + +Showing an overview where all your branches/members/clients/orders/etc. are. + +##Features and limitations + +Easy to implement. Can use both a context object as well as without. + +The maptypes come from a separate Leaflet plugin: [Leaflet-providers](https://github.com/leaflet-extras/leaflet-providers). + +A preview of the various map types can be seen [here](http://leaflet-extras.github.io/leaflet-providers/preview/). + +Note that some of the map types have been disabled in this widget (you will see more examples in the previous link). This is because: +* They are too localized (limited to a certain region) +* Need extra configuration (HERE and MapBox need API keys, not implemented yet) +* Are not very functional yet (is an overlay instead of a full map. Overlays might be enabled in the future) + +We will be adding more maps in the future. This is the current list of map providers: + +``` +Providers: + OpenStreetMap + .Mapnik (this is the default map) + .BlackAndWhite + .DE + .France + .HOT + OpenTopoMap + Thunderforest + .OpenCycleMap + .Transport + .TransportDark + .SpinalMap + .Landscape + .Outdoors + .Pioneer + MapQuestOpen + .OSM + .Aerial + .HybridOverlay + Stamen + .Toner + .TonerBackground + .TonerHybrid + .TonerLines + .TonerLabels + .TonerLite + .Watercolor + Esri + .WorldStreetMap + .DeLorme + .WorldTopoMap + .WorldImagery + .WorldTerrain + .WorldShadedRelief + .WorldPhysical + .OceanBasemap + .NatGeoWorldMap + .WorldGrayCanvas +``` + +##Dependencies +Mendix 5.18 or higher. + +##Configuration + +There are 3 use-cases for which this widget can be used. + + Outside a dataview: Will just retrieve the objects specified and show them on the map. + Inside a dataview not matching the Objects property: Will show the objects specified, can use '[%CurrentObject%]' in XPath Constraint. + Inside a dataview matching the Objects property: Will show the objects specified, can NOT use '[%CurrentObject%]'. Can set up the dataview to listen to a matching datagrid. If 'Pan to context' is set to true, it will focus on the marker of the object that is selected in the datagrid. + +To finish up, just enter the correct values into the widget. For more information on the different input properties, read below. + +##Properties + +####Behaviour +* Pan to context: Set this only to true if your object containing the address matches your dataview. With this you can have your dataview listen to a datagrid of your Users objects containing the addresses and it will jump to the matching marker on the map. +* Default latitude: The default latitude the map should use when no objects are found or there is no object found (when using an XPath with CurrentObject) +* Default longitude: The default longitude the map should use when no objects are found or there is no object found (when using an XPath with CurrentObject) +* Single item zoom level: The zoom level to be used when showing a single item or the default location. Level 1 shows the entire globe, 15 is city level and 20 is house level. +* Refresh on entity changes: When set to true, the map refreshes on any changes to the mapped entity (and/or 1-deep entity). This includes on create/delete/change. Do note that it simply reloads the entire map, so this is not recommended when mapping a lot of objects. + +####Data Source +* Objects: The widget retrieves its own objects based on the entity specified here. +* XPath constraint: The XPath constraint to be used for retrieving the objects. Important: Even though the Modeler lets you, you can't use '[%CurrentObject%]' if your dataview entity matches the entity of the objects you are retrieving. Doing so will result in an error. +* Marker attribute: The attribute that contains the text to display in the info window at the location. No info window will be shown if this is left empty. Tip: The window displays HTML, you can use the Rich Text Editor widget to create your styled text and have it saved as HTML. This can then be directly used for the info window! This can be 1-deep association. +* Latitude attribute: The attribute containing the latitudes of the objects. This can be 1-deep association. +* Longitude attribute: The attribute containing the longitudes of the objects. This can be 1-deep association. +* On click microflow: Microflow to be executed when clicking on a marker. The Microflow will have the corresponding object as an input parameter + +####Appearance +* Height: The height the widget will have (in pixels) . This attribute is required. +* Width: The width of the widget, can be in pixels or percentage. +* Marker template: If you set the Marker attribute in Data Source, you can control the html that is used inside the popup that is shown when clicking a marker + +####Map Type +* Maptype: Map type, see features +* Use custom map type: If you want to use your own map type, set this to 'Yes' +* Custom Map Url: Set the URL for the custom map type* +* Custom Map Options: Set extra options for the custom map type. Make sure this is a valid JSON object. Open with ``{`` and close with ``}``. The keys and values need to be strings, so surrounded by double quotes ``"key":"value"``* + +> **More information about the Custom Map Url and the Custom Map Options can be found on the [Leaflet Reference](http://leafletjs.com/reference.html#tilelayer).** + +####Controls +* Mouse dragging: Enable/disable dragging the map using the mouse +* Touch zoom: Enable/disable zooming by touch-dragging two fingers (mobile) +* Mouse scrolling: Enable/disable scrolling by using the mouse wheel +* Zoom control: Enable/disable zoom control (+/- buttons on the map) +* Zoom control position: Position of the zoomcontrol on the map +* Attribution control: Enable/disable attribution control (credits that are shown on the bottom right of the map) +* Attribution control position: Position of the attribution on the map +* Fullscreen control: Enable/disable fullscreen button + +####Location +* Add geolocation button: This will add a button that you can use to find your location +* Geolocation control position: Position of the geolocation button on the map +* Draw an uncertainty circle: Draw a circle around the location, indicating how big the uncertainty is +* Keep zoom level: When locating, keep the current zoom level. If this is set to false, it will use the maximimum zoom level + +####Scale +* Add scale: Add a scale indicator on the map +* Scale position +* Show metric scale line (m/km) +* Show imperial scale line (mi/ft) +* Max width (in pixels, dynamically rounded) + +##Troubleshooting + +* If your map does not load on Cloud deployment, it usually means it tries to download map files from a HTTP source, instead of HTTPS. This is usually blocked. If that happens, please report this as an issue, so we can disable the map type. If you use a custom Map Type, make sure the URL starts with ``https://`` or ``//``. diff --git a/assets/app_store_banner.png b/assets/app_store_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..55e8261d9b866fe96dce84f4bda4219cdebf436e GIT binary patch literal 168360 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

-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
(IY{`%rzFLm>^FlUSUr`*b;SX zw5nQZerTWq-t<_u2>;hCp>I;B`gOz(L)H%sS{N#nmC7l&#X}H5K9H_TvsHlgf?B}R z0xiq`JFqgqPmS=?tCzO4%(PWwVP~%a#--vPkB7mvlNZH(j*K3m6Xd*2>xRr++y#YO z&#s89E|rMmu+zRIFgVk29dz##A!$~&Pio*FN_F(Q;O366**%Z zAHjXZXK3gOdS9DoVE4UDX#@2eZ<0e9fANLnRvH#jBpKmTrJu-!i|8SCb=I#LrvQkQ z9~L+=;>fz?^8ZC}daCBrNbVeWI&?L^q1U=JS0z>MbG%XTK)bwxJZnk(hUp+tT&eiR;^wu48iq9e zd5>Y$%f#ZE1f)W7f2=M;&eWv|c;qs=*jb>S<@J#iKfD?5msr5H>puM1O!T@_WqH?| z;fsTX)`OZl_V>MUo5uAps%W3)!qdm+F**2-Dp*nJ5DQumgc7#&!hxx%tWl~>h+Dom zKu4$UkIwIHyw%Kv5NaOqF-v0tInY%4I@EMwFbf)kem)BFk(R^%?;0y%U zi$YVe5($8o%o+*s2a1hYUoWUF-+nwrCh^F~)ZRWX+V|=o+D2x}MAm=4 z{oxWqVA1ruCLY@}l`RO@+9b2=oi-<%-kf?+O!G9Qg@%Z)_Ai`zrG|zPh*9Pq*}UW+ zepK+KmFlH!i;kwMe5qi)t&EcOFaLoHYQ%O83(jP9n0wmTRZwdtX_GoYASemD!SGRI z$_|MN<6yD`OXK@nLMm)av9_Kcwf7D> zA1+I_<(Ez>RuwOZdta9d-hP(74xosnY$jI6g7Mc2h;18s?TQ*$tVc)E$pDBZBla}8 zP7r)QFOb}Xq0PLM6;e{CMz7WLpM^?%8AWyu8ZA+K#)*A_o9e3 z_sFqjw;wWSpTT`?jG3$9w;9GN?PtzH{QkGVTN+017$tp#~Q!I;B^-fM>~uShd8*x#@2!QYs?v}xxw7MOW?GPt#~;8y^3r04ug-^J^H zwAh=Fi_fbA03wO<-GA1UyUNNemN!FeuV!9YM$!lu(cB2Wcfca%?Y{~mdfFIt-#P1z zHIy}a8tabi9`E-)-wwgRBd*q*Dd9X{^Bn;DCxsUB)m`+(&!eqI_|T6rVAOsoRu_zA ziuRa|1>@+I));hp$^IMYGSpy8Un1#`vHqCY+vJW&-1K zHF6lIF}36|{jqb6=k~0M@guJp6#!)$NF6gwE;9Q;d7}#q#orY1CPl>Q?d4QM?81a+ zak1=#ALA`#{rBxd>ZI}rND|F_;`IU~Mm1|KnSy6z<)KMNG(dG=$6LWU+q5p3{64^X zMGwQDkC7@W#dFpk+oF5=aCdgJDZ^2}Ni+W=MUPn_;?Uc)$>S|8 zK-Vv{2hsN8grXuG>=P_^_;VX*k6?m$ynsiy$=W@9*>!vfKgs={7 zX(=l!C$LlUk~SfAhc;OVGj4#3cuj@**(pR~pK}9I5*agebnT<4mmZ_q-#dGrAIICg zl?OtA{FHk7aA00(ZK{6k_RT|Jx65n%!hkj&ZRm}LRN|*zqE;R2aCF_4_(R?@2#!=` zsx=e*ii91cXwpw&qp|GPy;LlVsCfD6aRm4x$w$bTBdM(;PlldEOpZ@6=d5aF&sr^f zoCnnwtc&2S8W0wA8M&>?8R}w6H*6SrMWIK$T&&5rE`)Bry{X4NQ$yikCV*MQ#a4Yt z&XbyuizCcgBSv`)`tEnag$H<5NG6=?MV_N3b%vUy8+HCfxRLB1{GiX9+xIU|UtfHh z2pT`!RK#PlBg|RPD+oGYoOvwl)z?v=4adj=(#EgO{EkPug9AI-xfEWrv7b;;PcM+- z7#q5;P0e?mw-Qrj6^&yIigpJ;sL~X+$EUM7bDiQdOjE{ik>DN=^T&TVi1PwqdwmxM zVumRsF{6uD0wZu7?a52AeDtFKWr)vLG47K;U6W~ix54-dz|VSKoo99K3B|-Ko|Qe6 z1^AS@FaC}FHai^k@BfMEx`?s>F&Lt?0@ZLX_s=oHa5EUa%uo7)*2pRWt^~wU==gi0 zMdFPA^zNsxubI+D`|Htim^F4O=H*d0Y?+KjRk<~q{Vkeh8&m(RG`vd>Jk_xnH{MmL zf|Tl*z?o>Nlkm=O@!7e`WiLdVi)LUa(9}UA`XQS~EvXx^C`jgP2K`KxOa0g{GC=LI z14cjdt|7KbLA*p$$_sqg!<{0qXGzw&e}Sb%$kH#Z$%^kylU(6AQd+C`aI1HR9o+ux zl^hFC(U`~xQHeHh0p%RQ<&=8JOz3H|_NTn>3g*dsqZR!{aduz!TG?t(8-`VFU0s^R zvCciM0KUPwmoZYQCiB$39f;7H+}Z;`R14L%v;4fK>`y!i550}~M}X!4WE-99x9 zgv(}Bf_V3_ZDBL?8D`q3*OVZWr#2aTt!}FFAy7Zy`%?V7>fd&<_8D@906w~>>R^_U zjQHgL@W%m!ehov)c)51PWq>-?D?<8ut2JJJ0(dd{Lq1RkT{?;ZAR{!Yt2og5v=yNh zOJ<)h5MUq#OnmYC+R(uONG%A&w%r9+9p zE4!In(TMyJSC4hhgVD5y<%OCigr{tJZ*5*@=My+pt$+- z$;M7`?rM%mCMDChblN8W4%~zhvmULOZxdOcEXCUnt4&LqQlp&R>K@%SaxJ@iQ5sqh z9mjgZsiCpntm&$(9Ff&6XP%Ws0P1S~6EjH+pK{BFVRa{zSNWV1@K-4hUz(jm_sb}; zHH#1W3nnV>=dZ}#OodfSxVu$Cj^)QGozDJPIFg>A^%0XweD1}zg9qyoH6f*HE}wt^ z3)`<{3Q&IWyCXo}KYw=JX@XwBxyZZ-!sqa_94*2ju`!!q#z&2vZ)861F`lotJE6)zBdUkdl?vkwz6;fQ1N)$5G!?qjq>q?E@nqFfcVw}**w zdCOl7>$*w@n}RhYA9*i`&0A1_cv=MpfrI!WhF4)oKY;KO>niR!rp}?YjnvC8B%h#c z0g46T@0I}0VP+(aPd}e`K!c1d#R)T2p^-R<4}F8pN?3ZJACDvFi$0J;ZC065qKV1X zs!E~SO)ur392s{qd3cWLZ3(EcPmFQwGd zCNYV62MS|k;zyMRUOqojzH^LjJhh<8ZQ*9ikf}gu%i(`m0f_I7_=C0Bg8npF?xdgg z&(BX~;FQ^j-2GZ^AwUePdbH@><^-I&6CR}jUJ^GxF=BEXY#rIM^nS%KB5=+}Y*_Mq zIx*fEzyAsH_%y_SXav{H^w-)h&F9sX^BWk!HeW7w7(y4fIM!jQxChFYYjtxU$~=d*i|Jm!wAcEM+ZJ z)z_9G-}M9_B+9KJsf?vPJR?hk7CtuDvx#{jxyppL9nARZ!w4UyG!3~72ZBSvSFf9r zCgqXlSTM$rxkU%_TmvhjXYq-v9b$in^wrs{!y-b*Avrda?0qdV?I9ZMUQ+v}_fRLo z8VO`0@94w`i>zQ~Pk?HrHD&KkO}#K{Ce2*sr0R*NIJHC8*v%lAxIy57Z#L~#e~AEg z2FEUHJlW0OPq)6y@pbNWQ0}{zElaaw_fY<3^VB? zsY6Js7;rJ5ikZ7k9Eu41IA_yk8bqgy9++^cg>qO&0kvmL{D06mxJ@6nFXdl_xhY^y zH0YUZpKW?2{8>7_e04@X#6Xh*TN__|l8X_nux&WvWh0^b7jYKL;l|E4bJzwpk1g@v zesEo*^3Yr{Li49mn$0l5Rm=gkP$#|mqWsX73|=CBi?$EW3zSbv*2DYc@7OM1eKS?8 zLcjgtJ->K8D0eP&+B96Z^lNu8=x~=p2{8B{5BXrv(IDSu@6tHlSYv%oL#L@4-+-MtCkWBLnsa=lm zc-VcVh4z$2mxaKedf}L8R|jFZ@A%FAMfd97#Pvwg1EL|je*d2#=Os58L1eiqH>W_* z!Il(7aA;5u8w;H3L)W`MSP)7ROxEJ{ZC{}>LX0p&m1EJ-k%(qdS?7{@pFiKl)`;pR z5P^fl;>A308uj0^?Yq*nKPmooatbI*9du&2()(Ho0YdgZ)w7El;>iuK{1NwyDU}M<7;H_Qfu(MndS+=^+yWV1#flUif(0YELq$5&i9B z)HHsC@Y@QR-Zcr*dCYdEz1Q^ztMS`>{W5|z&v?=X>{tK{S?9A6sQ-L8WaOfEgE6?B zi%g?PgW0UrQW}O&dCV)UP{D6gMAaHIuEvA`s}sRzpX2_m{dP`$Px~@=DavKtPl<_c zJ!NP68PQMk#Yzu^N#V`kOvn|hCS2V^1Fl}6uP^24-eNWA{%bj_7`;JT)e6-ELbrDN zG3V>6&dAGQkR|}*a}B=o8dn>Fvz=*U)p{n~xj|R4*3yfj8X|zi7<;VAJgr3Xe6l{d zWeSUY)xu}T;B-Y~U9NO(J^BS5>IM)e<7btEU7S^7S)$!rynyS`TSI8iuu8C`5p3$0 zI{Yg?B34I}|FoM>N{Mms&$9epeDnB3U-Q_#+stRNuco|U`L|Cq9gJ`Rv8)-SF_fyA zxSgdwBRK7)9ptXsyr|n|N>y$$ByM#(jU263HTw45by1?!w6Sp0#Xd0#EAWz?MtCs! zWr0c7r<>v|j#ZPmPozzN+RqZ`?Y;0ZZ3wUPr^K%H;C*ZJbjkJF}=(TgB?eZib`iJ-2i z8?S|o6?cQW4zo8Q0nMC0tblwtv8V1xLk(M?2@JRCQS;Md%@IC(sexm{0A{y==2sx4 z?-}Aaj*-G~{?4@&;bJdIzwS`oFk^VhE^SA@2ry+oxkF`3a_wviHK9ETb8R~$5@i>F z3Tcy7#~@&O79K16g|mlwrklf$yj<4;#oD)Y85h;OZG1OucS5AB<-8I4F9}`)`Hkut zQ>w$&DA4qDlHzD1S%ld6SWQgf$0=96>L{>Lzuf^5{I`n0yOgtpgI!pZNe(_jtx1@l zu-0=)c9URXg!KVaSa<*Hlcm9Nyw`)x5&OQA)3q;DG06K@%oc{?#FbzTt2U+dL@C9ZMzYUwQYH|xcn$C?zO|*R#(VSdr>mmk`#Hu(@cG-sgL86nj7gVOlZ^_( zJYpzho6o9g^=a_8taj4NA4MH(ZM`9whC_jf!;gi(rB{m~r-K0K4(-*W(bBfB&(BmK zk^d?Vwd5(<6Vs+&$z^vLS#s1LO(#u zhO9yrGuno^Aq=j7jZ20aqz8+opVT(;oS2DET#(9aik#xHEK&fBU610dIx!>>RwUMF z(QNfAkcl1Sk0qu-10u(loFS+8!v8GYUgWHW`dkH$cV?vMjeK@ZcC4R~!Md2fFHJH8 zAp6ApSJ__C9fS=jPSszKD%8{6?ZldDJ@8|}&cH^zEeP~hzE0~Hjs8!Bl)=y!`?nnt zB;0P~{6kX+Zp*Y+JiU%FKPc$?91SE2A;UA#ampw><9;A{Yx@}sCVGvwbR69tX*+NG zyVA9WhugSh>_eY?1}7}i2Po@kY4(s6hH4W3Mk?cEO$T%-H-TJjm`8<@f@RV4fgA=4 z{`*fxuTXs3rn`4s@x%*Ds5(HW0e|`@`pnTjW%G9Jc5poj2l(4{ZmThNG5(yIv%(UQl zxYD^3q{Q_pf?HF9UefHxk2>7E_M@P4fx2g7_b-kkJ7+My?Gt!N3z4O1zs~I3TopNL4SUy|1?Y(e35m(-Yt0-5V>03 z_IEY(%shj;Q~K~l$G0G59!~gxgAs}0uZ{+0{P>f`IB!|QRByqEWKy@rNgsR5Ceq6C z_Hu9o7TPR@=M~T>cW1@XAJ$TQ_`(InE&38MdLPbpuyf59;=0F+Ak(bUJif9C*HmCn z4DZ6Jy?nu2JIRP59% z?ngiJ28E1b&iST_tr%&Q^)Ciyz%Gd?q3nBicKtla`|#5a*OC83K&`y1B#g0%vI~>Q zYP;)y7a{gO2KuHt1k)6E)EWx$Ki z^uLYaP8}=^eB!?WeMP6O1P_vpv^}?seG-|gyN!KYjM){voON!a-$~jaEa6#&oenEw z`PfG0&87jUfhYDiR^ry#s=G$wz^2LtQ}I9F7u2Uf!T-_Yz!IYV)5XIuo%(^8+t}+T zr&WHChVV_IiU{0^o?-I2sfn`!yCN5Wngm~==(B4GA^eD`vNmZc_6kO9no*wYS5+H$ z`MGd#E&Kp>=_j=Y&_8Cn!!jQ!N@gWq^)E|C7=_fUp8(>1SC4nu<5tH&@yGgdre}-rL*i~3n z##Bg|5sRBf_F3?&EPP_ksJ@(qq zXc01=0Jq4#jz2|8M%p?+F8-$k}$phEF@%EcZ-~=G&H~!dtu!7)UG?6KDJF`m2Zzk7k0X!dD zWPBvL3)6s&V;SwQG>V(yjMYp?VE|LrTZE84L)j??^hsoArtxy16-O9Ag-utQmGVwg zaUbOXPfSnVp1ss&*)wR2#T5hs9L@Fprw}H!`!%dsdJ=_%WTXJ6Mm`9rKb8$?LO*=| zQ+Zx(v{s+lST@q25}d`igvpVIEot?B!vwu%?OSI0v zwMg%IRv+0_;%>?xs-u4m6@%_PuCy--^u;N-xzW5KI(FWFEyPz@&)Lv*!YQe?Z2q^W z>15eju@I8W+Vgv)bc4!ofX^f50sui8VCg#Nf$l2sS21hV)w}PRCRHr}RdB;)fn2C1 z_GeIoBf4^3=Hp|J$m@}ZL#!&wjrs#XG(f4c8S@T=i6|1Y4%GUcyIXZI7C!rHXZ;Jn zi=I-rFX(EM9xz(>y6yx}KTrc}er385OQ0hYl23t#)OmVrsk>c<8zi!nv2m1#B zAoHt`U~K%X@TWX80M}eDIFpP%Afss3fW~B2PS}2;A26zGcup>=v{-cVSDTk5DIb6K zL4!NruCV*&2NC}Tt`@1}b1-D6WL;LU+OqIpb#0y6nIHhEIlmh6a7WEG;Xo=RSq!3^{3c1TX!{)r@mJN-MmzJBfFY>ANmT zWgWG(#a0bI^eWUUIL+J1DmxzGYtY6>s;=KTh{i&U$Bo$mamM8+`p?(Sa~z7brfOtp zr6BLY4_hA}ycLB5R>JIjPMhf(MH5I|(jcy$>=h1IZFO_Efu^KRW`*_$Ba{QW=tz&| zabul5Y=x5L4~kQZ@J>WGNbUsc-~?_*$JB=5)>#Bo0OGhDOH6(i_n-JEg3R_`lM+G@ z3HC0x6SFw!^WzrQ18_2E3H(a)e5TpP$jzJu=}71&7Fhn#=CsFh2o_GU%Ch=rb~Oss7&~~7JX4l|w;-;`880cX z`!HV!A~cU3PzE3$JoKtBW!<1#>jD%2>kIrgJTVX1XlI8GZQ8M&XJ6jhbJ+d2ieO%!xv#**Qc~y|!8tX5%~KP?%kIbjd_g%?(M@f1$E}ORD1i4_`eq7&ME%1Wx|ecl2rtE4XUckBlr&R1}6g0R1M%>80ioWT-mYS=Ab} zb!GlMpKTHnw5P*uhQ$;Jn*`dONNvzpk}qEtv`DQcXg{4)y6Za&#BBa0w|W1&R+CLN z$0FsFm3_(9C`;tT(gcC98gpLkLD`6ESFjz+Qdi&J8v`<-!ii^GeH*?9t@B)%$emZ3 z`Rh*u!WDlZL~z*_mrNt}=YKd5V;=>wPB0bcW3_?yfap~^u7Z$510FRa{$oc+%SfYg zv@)VU; ze|%plp+9lAW*f4N3~(AiSy(hcqD2at;=T4W&}zyBTUW##x$Y9_Oq=`T`_pA-MKeW6 z=`W)vKjy71|ZN#HZ`r`kUSV*&Mar8 z_@JJ73|l*)_Xe97i^IH9cKnPYbjkn)EV9Cf5&DbDXc~QYi8mYV;HAq&e)z13k0=_x zD?<;B1x|M#IDFj|nb+yK{*kw3<`atb_VP1}_UoGF?+kCypZMmovvuzy@!F-ttXSo6 zY?Er^`#CgQ(dQ*>>7R?-TSQ{NYs30uuUx>scydY;C~2fxIAe_`NaYDie0J*WSMd6$ z2C0%VkBe;*Q=ZMh^g5wVJp;TVgTlmESOak~X6W0+-q`Of8^6*ltOrnJSnws`#A*6W zN}D*IbE<=P5RH-H4rqA(p z>-?9h%v{^>C%Y@R9-@l;0gR#>bJTy)>;_EPM#fAB*YIIa~mb*KUrhQ_DyzDFnliCg0Gd7WG;lG>zj9TEW7y)@AbIb2NSn{ z(|w{%pu~$J#0i%*WBIQL=oPGT@4N?g7e-*NmWE)H0(KWZsp|V5-{Je}|1)Gf$N{+4 zfFfQLbo4zQucUda&oOZGm_hx6opT)D zhC*qw)&uzY@pDf=u|H?)-#q1G3b?Y3k@W8_Zm30mJ7LtPx(A<{g0i=<019*7YEZ^A zsKJCrZq8|R8g&(I5s;T@F!UpUG=v$j^v?^)ISaq#%%=B}@h`4VGpswzMw5zpw>iJ3 zS;KS9FC}m3C89c1`thvz zFmb)icxb`W@81cZ_ik39d%+~CP>HOL>o|l){-B*V>|h*8nCO?NwqN1H$L{aY-%bof zxJ6My>xKS&^MT(Ss`2t+E)G! zM=wy<8Au3AlbnSG>76GokNoYzNxngkn%FB4%KKn_71mNBO;;r&%~>>w(AZZHu_@(2Fgd@y{>b- zZf;y#V~yv~Ao^32b?^aDeUl;eV&YZ`QZ$DG8Z}Nj&xx>#EsogIK7i&)%y-151 z+0FSQ+(*93T3my+ctF|`y4IMICUx3K1MlMOte8}Jbg3cRE5CU-1Wo+#2n++3FX&90 zQ?3hh62+3r;Ri0tNNw00Rx4PhF}(L>s-tDi8*C42+Yhk{33cYfi^wHS z{z60+hRno9RO^awr7+;-ny#f;gRL!p0eRo*$nlb|L_`8Ft94R0&{=ZV8pGHikV`Y2 zAk2ts!ytVajoVTSE$!2c;oLwLjw5!uw%)d&50=U{QV*t{zdok=Hth+`NjIOG*stUR zI1iOKX~uoKbj+=$J~0$Q;{FtWEbQzs7_7Sr#SZ#$2Sd!3BZMXuZMo<3|I4?Dale;i zjf$$5bTbaV-dL&6K1g{S_V*FcT!13ZBlYw0xr^Qx-PRr_r5Il7E=678Wj*GY-U=w--pt2#mb3ngt;=2(>WP<|W z+)ECoOw;S|QeBCXXcR}{(^VJS^Q)R&Ap^$>>g}pWpl9Vz)z^a+`Nsb7lB}BWoFz<; z+c&gZ{yA<|^q5vT6M}ijNS?0=yJdj#pMH3LW_QISPWGXEN|rJ0J_oI$P5PmBG!DSX z@#bh{*(A~U!2biY`JvOJ$DAA51a^lCO9rd1$WA}P&q$|szZ-X>mUD}xOSu3m;mc)( zR93bU9|^w+hY0s1dVy1_9uWmH*+ZX=Vgs$^ok=urWZh`uotsu4cK=8SLsU0jC012G zu4T;#6Ulr6)hDF_g}7^do^=<$bm8NK%0;6e0^c`Wi3;AGd;yPCj|`S^dv57JVc%nD zNY~KU2qO2Fi5YG&!GO20uf+_Y0gU33jIV@xrjzgy#-ri&q3)5_586(dl`br7X@9OD z@BW1E^NNcqN9DCrfCkRnvTk#U7+moB$`|C7?^*9?kp`CS@iE`3tec!e6*w!Wa|0cx zLLf3V93W#~lr=z&@ zcC>`hw92&lI8uw`VXZ@Au9$+0{kz2N%EA0=4sTt-?9RWUI32aRIoUc@Q&QuVJDE^| z7=6m{Z0h})xuKR*g=Jq3xHw#aUn`c`9x4A2rj+=~&Mm~G1q|EDEP(#w8$3*>w$(mb zy)omRtc0-@P|vbYC*N6DdAp!oKK6AdNmdpYSE!VWpSB2{sBHzE^_}1OIMWx@qSz>4UQiCH)TH6IK%8(z!+y$ z%Pvv&(DYjndflTDmj`Bui{A9Zq?>E7%LC|H50}DBJzx^((%TQlCw$Jo%0&1EO_PJ4 z3=4FBRsLQDdHHy%lIm)DNK=;nDE-A2)<63A-PxIBUV}m+xLD(={(TNwP1SXPZEQ?W zP1o=Jw+9}ce*t`c;oda66C*c_kkszUHzTeAV~xWD*|jXs0EYayU{kC}=ya0`O27uKd7%j&&6Tx_c zwi?^`i4ay}+Ka4LS;z6vB<~D#UIeND%U0r!N+iId)>McEWF!qov@8FsbPYSnA3w59 zQgZ*;SpiISF|!<-ujTF(tz;D8aLnt89I)CBzDLfAHFd3k8eP3hk*LDlf})*&xqJLX zLl^Pa%cief)uv7%7X3_EJA4sqI7nYPoRrxh9*S*`zg>FbR|9%X)8o?kKTq}3Fw$}(^6$v zV_M7D0)M}nn(`(ZoAgCOXDP6~h-I#=vT#|iBsi$$grcW@D3YAR;K%=-*2I9dyn*&^ z1%pZQmzr()FHci0cJHs2gineus>P$dAzo;fZ#F464MVl&kP8wP`X~)UOZi7)q6O!4 z{XWjWuxKq#-VN>NtJvzC2|5 ztlGtrwR)w!v%-|2)J(3m_R36}&&|ib?@kG35`;PRnxjGxC+6*0s}+q}F1c8r3KGJ& zeMk-PZWM4>bGh;6_*iapJ0RmbpGLgmIx?ou&b;fWqk4E>@^kg))oP~6e;bk0`?W!P z7sdqR>0S?hu`L&?7%J%#KT09EZGTg*Y6&?KcL9j~%Nhd7xCo77HylsHZJjD0zk?EI zIp`MOmVSgYcpYGzfoBHZ`Azkiu!+-U|4CR~ zFFQX<%UkpR_3;eG%y0&V=saycmn(5G z%K?kI?;jt_CW)1$)7??S4t8eg#tgnYv_tA5D7}l-bhf2?V9exg2i*ijhT3*tDZTSDPgXl|J~#l)UlG-85)~ z%_SrFEtJgMO`c8)Z7Gu#gyhRn`y^L^@uZi-sF+bnM!4GY2_X={499Ukkoj;_=_LoK zqIesL^7m|26jKDx6*J~>U1txYj^}E1>*SJw(#-eU@V;Y2Gvgl@#4m0cFNuWw8NE{m zGSFj8BK(GGWF8L@AP?RnpN^-iRi^p%H&)aDATQyW+qdvlxvo#{sqCqN-C4`<##t7_ ziNS-_xVJ60%E&)=ch$CUm%bxjWUvBOBTU~0KiJjAa;|qZgRqdOg~`jNg30B%4y7$T zyz5<^i(?BW{xGI^9(&n)wu05_0++xxRKO`A-_tT;FDbKiYXdB-_E*7SS~R}h&e=cp z>Q>&Kv#F~#cWKFrF5u$m8BHXcqvxP-^Y)I)7G-rIO3jwMiTRscxDT^4GPl>1 zmN|QMYI(&+Ac<>5GpO#$sLXd2&-+a1@6acc(CHUK7<)As(Lh zS$qHelm>u>L1c7;#9}38V*!=4fOR)GY6mS-7pTc~0e2=`BJ;2l;PJfW=gy&r+pAeT zqecbgi54Pw9FeHRs)M8hqVYr~6&E_oHCT5&b%NH?)jXim<=r~M7TDdn@khz_I1zc- zMis+?m zlAmy_{0DVnZoan;@FK7KFbB7({*mv*FtLWwG47({p6Lau?b6AE__0gjg^oE{T=fC>Q7FiG$5I zk8%M{Ha3pwh0m3I&qhWpN(Tje#x3EIj?Qoi>}7zoVmjq{dnTh3e|MQqP{3ag*`Y;h zPrdP}1#va&nq-Ih=MULWrOiZiz;92OjS zuW?J7|9*fOOPl58*MIZL;N`$BwkBG>$KWq(((Q>b{NzQ9eccC5X1KZ%+f?W2e}Dx)kTauAaBVyF@PzYk@(R zDkLa^g>3uJ7(bdnV=Jopaup6Uhm?CplclCjN&MBNpFPG#YkGR)SpDrx8G^WS05s(; zMYYKprm<0d09dgG%>XzDA8TNqwfCp?k2TjTYrmumX6(t4q2s|00b5c&YLbEZORsvY zNt8^MFy0KFuf(OR-N_IsflkY-+vKlz2l$v45cojd zm@c@cYr+sDdH?CKB*0hRB>+X$>v6%7R^5KVlNJF zietN&ahAjrt+lT=cHuRnTkjlB%P)6%<#JLYT92{fudGOMC5!l@sezQ#jvZc5P9&RL zz&ENf8Hj>QPA4^4o8I+85*MwQpSe0!?L#xx&8$Y<%&Ga=%#1ct6~LL)aP~A1T1Gl~ zF0_%s%r865fTaqY)(EHL9`f-ZgXe)b+QbL((GqI6j$+oULXRU#3SYPUjT53HGnfjH zpdb0CBLZh-H@XHei$$Q`?~!A-JMe7cVrA9Y)BwXR7w`F@hJR~Rqq<~lm}{@ndKXl= z5Bvc0h$IFtbMYiwohQ2%L4Uj-eawB!LaD;z9t#d-Il;r2BC}5?$_4y#^MGx2!WJh-@xPJPWw7;Fc-_Taz$xqLN0bxd;tE7wvo!g@Q+*bB* z#&l1l9(R1Enz1tz_?Kz0Ne_4w=j-Ovoz|xgdwo6(?gy?11#MB#jTCmmE`W*>W~4Px zdnhWcEdxe?;(WbJWJ*co&D$!}hgK1TC6zKC8SbS_4@MIHdkt@4v*@Ap2w*(kV3&7h z2F^2}YGnN9RKV%qNWEZo|EX1ZIGK<0}D=b{)t^|goEB84?B2o7R^b8Pp z^obINZ+(e#n44D(M^zk+`k9P5yS>?7a|z{-=)2LKcsCRR;T(SL1U0kHKe@ZvuIIs6rz_n6a+Z#_i(lC$0WL$4Yi1X> z(nex|4PM{x^v9|Vd$trcH_sd$bx+jUwBAu?zW@i5Y203W(0XE}#27Dc`}Nhm1x1Bl ziCPismAHJ6Y7K-H=5u>4`)7V2R;d}w)JPZd$gIE30V3~aBkyyBXi{U!if^=pq-v28z>ll<92>;mDr z*QDRno#~umDjE6Rov8b~Do7Nwj91EIdYn;2=tkZ6t|y^k`1}ns+QJ-<>M?xu1@r@` z!Jx(kuueD9JAOK+=1$DnvKk{_g}nq^7wb#bwDwc^RBh#l=U7k4@As+hwj;B5OSEa% zp>8+X@qIqqnF6h{9?!Im;cgWhdGeH zI->GlH6z17&U&?s#rTY)EQO&c`FRzt`;ln)L~HkBJTMG7_j1poBR2+OO?> zZ&Ko}HdqtDc}H!|Jgd_H43I{=V|abNJ8MASbbCbt$xh?_w(CClGeF<>X_Jc+!Vpq~ zeO6fnA>nP{e9UfoB5#G(H?FdBcP31*QLCD`d22f-5+i67ulTCrW4*&-S{|>pqJiCJ z+7W0ilf1>L78~X9HNcqfJ7{#`?VPnd&WNtJ!({XqZ?S?AH81n?#mzrkM=WR@hk~M( zuRlnICk{A)?3^`@CF48&DQv&|nZid|pYlm|*Uj+q&MvsJYNv_sa#&8*>4}YCe*MkT z&wS%-Q&0-H8e$HImB@~^tig$Wr@k-kH}`SdMB>F**%1M}2*EI~X^Dh)hM6`@Ir+Jz z1R~&C46woy(i$+@vlRBp(J+@Goi>tb)|zfX%?c4dH$Q1{*P?{YO(gke#Y>H>pV!21 z@-5_bR|X0v6?cK$8Pe>UfLJ@o?BS=fq@)L7{rfVxiDCzFTRZUp32Q1645!C#Xqkzz{K_s(!ZTX@iO-RX9fkG0Xz{hX{Rx= z%qCRrTKoa*!6l;58g1q~JV&#BK@MJooa>sp>s7fxk0~?}?A}VjJ@Ma6_oEe>5Lzic zIu&@dA2#PZw@sa2F$O#IY}cX7vx&tQ8hRx0B& z6a2dqO-z&c%9SMGe-WC@{!l;)#ZFXY$rr(L?ExZ-P_f~YuIDmx=G8=07*Ih(*R z?Cys(`mxKD*tTF%i?glwV|4&e-67%Tp;uwwS=kj86r9gu?oM+5d%G*A$MREp47v;~ zu9&Z5!b)4JA@`8R4^gRC^ZaHDCte<}A`daUd6m5i-FyF49Fy;iVIO$y=E#u;FX^i! z*h)HBaaRnBlBhZ zlztHzvMT~)8Yg{DXK!>xJyt3&1ue&&EyTgLb^4-+5rSPQC~F`_`s;@?ref{E7Ar-5 zK$LbU^5VniwayI;rgcOny0>j{}03G0(tpkOiZ;*it{jGahs<46_^*csxoXqtpfMn(dL0}Htv)b6G^$uHpL)^ZUjJ;T>m?x# zEk^QWGUGa8BWGJcwoMmKtC7&rg!}q8>EB z7@$>5K4>Ak4$7YsYck*+_;bjsXq4_4dJOu!G&Sf7)**K8?s$cX#{i`sR5vU8!K-?k z(QO3k1GgA_5hR|>wePU(U3Q!B9vg|hG#ria8x<7t%d8X^Hcinr3HO6vQR6GKO-P9H zxIBjCxVI%b_~GT&%&G_GRQf6 z8D;hZkQ9PWbxnt4w9OIFA(&KCzzAkdE9llR&C@y@f~Z{FHr`FCHaMuG#Zc@okwK5L zLb9b`*yTcsp(I<%o%b$ z_*n?L;bK#hcbhv{9Rq5V49vVy$(OAQYAugm35Q>qW_5F1Z{@+j42!VWE8@w1N6<+}*mks6%y`yf zdgr(7`srC<(YLZ|jfTDFqN`zk3 zZ9e|e>~y>$JCe6GoMYgJNK#8gbJ*|Nm_LsXDpOGSownt8(hR@l+rs!QO-nAx&ZxP) zKm=(M{4f^T_-3yBp8Lef*T6SVsm|(~GGwns+gxbJ-+|Ih zgpguYU;bVRea?cC4p?>r6f2r0jBayYJNKSx=OKRp%F8YlT|CYl&=tfIf+d_oLQpVT z?h9m)*`|CrdN0DK?;bY-4A~)0xd?F=P(@?CmOhF47$-#*i{qcjp3}0!dYLeOTkH)euUJV4j zwBg!G(guoJh#}(FdgYwn#Xj(0?C-M+a}d-!&cQ)wA;)+}O2?nyOXh4le@!xv5~|*z zsmriS%T?&G^W`Ix4IdU#k4m+xzOANCoF0J=8H~6*&A|RXkWDTEz`>l^N>!~iieY|w z6ufM3EI@59iMJ57`pCpA6P^-Dv(NolFi~Qfym^{&MkEo}J%5ypbDTm{c%k(> z`^Br4=Ku_t!X_tM!v~1YqFgIC0;HrS99poA=%Fp>sMdH%YlT6f4iRI~NOMab^qcs+ zRPl7pCe2++m1rp1+;6T=tCQ{1ddtmFjNs4{DNE;|yD*+gk)-3-POM)+v7)32FiboQ zm}uWXE3WMC7KBiij#FI&YLRbDRytE7n(mT|R6Lzb?{sAy2eA=2`Xscbtah_$o`ahs zRKgt6brAi)ZL(D!T2i4@+}`5f(TrnwPOH7zd)_F`XmPYo$V^!C!6syuq=S)%Z67oZ zA1Q3x97dJIirtktFcpk=RdB0iux~G z-RP#M8Q!$smS&Lp$$1U4XIazH5&(D*E9|@*mpvEb`r?yIM4zb99~FIt!k;(bOSQ(8 zOxI8LT+gfL7_+M1>P0#J0_a1|;-DnzFw{-Oe9@yn^kdvpF-UogYilfBkLa>RCT>Y) z$o+u*Wf2P!fHHr|7M1Dzil9`iVSF}tZQ4U7=iax~u^RoZ3(qDS>PoM$);@9lV-BgX zjC-*8+RJZ_LfA_W*rwinE!~$2^KGXchl;}ioP8`5y@|guchZ6EP8?V{Cw1>HTC~R0 z!KcZSB4cWi!i?^DpYton4n0NkhpEJtB0ol%WI3>hEdcca?e`I5v4-w?AzxPf=&t|l+FW_#973<8Sw3Ae)y_u z0)Sl~AFctb)VpD+l>&vuiD}4Anz0Eq>4HDLeam*x$=qhX^T^Xp2cQMezVk??4B%A3 z2>Mlz{FY zteC4dw!4Ug=Z1Rz?4v1?g%e`>K;^%jfUmMCS2GLp6%7{wmk}L58XDQ=;)E&nNCBW( z*S~xwV&%v6CO{V8N4T4 z?7mnV;rrmbH8K4ngp(pFe8~@G@BsK8uaCbWM#AfjS3*D0nd=W*8v{7Eeapf@S`_iM z=SQDh8$p2pqhohEPB5(LxWiD@_6}U_#>?&(Q1;9>`wU(+sl+qyFYkd4Ahi&5K^aDK z5F|1BL<8DBAT$QIga}&;a>B#Z~Y4PFsXx{u6iElV3+V_gsxO1u!D%Q{V;WfT;OYk61~M zb`EqhBoTP8KST>9zLhng8Yx4(BV$=(B{*L{V#j$F*gp6EhU#~ZYz%7=cSkhwjUSaU zHo@NqIRJ`(&)Z(3iPD*w%cnYly6Xa~ytLN}3)h-UZ+OfiW&~-lF*FjEKdyJ$0fuZ& zdJ8CjX8ApK&zygMF8uei;_7>2h4sdL^Dpz0RK?H@s#YY;SQV%I|7JqirQUmgqY+Qs zV1TH-uv;%Id*c65QHa7q0Vjzp7HeBn)}N`(u<@crBPt1_%vJeVji8m>OM<|F;@4t25ztD%XYZvE%$b**HL)0;aIvTjPtooD^jlRkKXL zL1zLi@ML)bQ4_zuH}9=3$7tr`2vaK_dH4vR#KGtiw6{Wc2R`|cLwr^9SYnVc*PIA| z;ZwJWl$E!F*!JnifbNx0qp+S}YNfxxrY=5At{*KQH+y4_A_au?zJ(>3m=7`pJ38xA zq(_foK@N64z^_vM6%>zv2zRzY2Y?R4wXhnndk$HhaOD86{%DYnXG0?HO>pG^5?$6L z3u`+}-Lref&%g;tLc^Y)NH;Ldy9L=c8dj+~2Po7qpzkiv)Z2oEmbeC~FhM54IS9uL zZT5Zvzul33tmHq*2hQ3ZXG!W(UrNi!Nj1w3A8E!b zqyOo6A#>f_z3*o{5#bhB%r4`%$1*J-J1OEQSdLI7?+_vyIm)27IXJ`aIamg3JN+IQ zLu6YpWyFdpnNg|jZ;oO=m;RaQB`|Z^cU8S7{-pLkTyM+8(PE!20s$kQWYl|ISzn2{)Phz1Kru( zV#D0_;XVL0MQ<0W+IDxr$6n8z%MU}W;n!tyeFQmuAH1?I)Q%WEDxgg*bkl~KBo+uI^6k$!wU9s=kFbv#-1TFwM z!Tys$8=*p{YjT8$)Q(>(eV1(dlf_@`n8oA$hIwU6<$tp4Tiv%YXi%{ZC8!CXqIh!WvoluUW5O3jaZ{)xN&jMea=Pp|Ij`80fna)`WT;O$lhXf&j|kS zy({`zp2d~c#L`bAI9K~s11)xOHz}4g6iH=i6*|G%Vzi9?kXrS?_6jEMU`bIg>g~W7 z|2kv6E~Wc#t-* zkj9y&0%I4D9x5WoS!NPXA;m4I(K;8y?)H2n%a7mCNv%-btn&w@8S2IwOE>LpB}X z$I*9NRzO&{9T+SB)k=^J007Y0e?{FRxD*THJ@BX6OGE>Xp>%;mvbQVgl^B1ILxSW(P04USG|-w)H&ifvp9Hh8$$^n}BJHEZQ?-L;VV8;PWad<^;R zxEzT+FLIDbEV&h7#{WKzHDoA4MvjY|Ul;g%>o3PJ#uB^+&bW2`0TqiDue-OQ9FD%7 z9#!62v`L+y8s@{d%V~x|ZdaT~V}9ERGcxkw=@2;^?tx7Qt&Ab3tnKUo`uMLwMsDYH zGFrLqcE%t%i)ASxDlYOzQDr+V5ku2ZnM#W>i93EbN7F(R4?vhpLf{5r@UyFU>vw-5 z<2?Wumx0lrS(e|$At6yeah?l#^T_mR8TrinT;vUy>g+@!{!@3 znm^k2o)iKbc7$}6G+gX`qadGsTwTiTuA%S(zBc=_@K3y)t$!N2B8+49y*x#%r0;32 zO8wrk3)-{01Ha7p=8f9C(P%7h%D0R_xpJp)g+;1rr!+0<8!Y)9D~Tq?#z~z+1TW{a zX7({oo3UtKvS!>WJOLb_Y!)v}%`bH{^J3n>a-Fmqh1#y!>K~QKk`sdVC#tUk9 zhB3)LF?{NHazA0}sANj}@x7T>SB2M!7nZRP4rhU!h{u3sU%N$#)UrYvOo!0=R++eq zKVT@5041sHRaM#!pgZc1h!1@g5jnbnxl5sNJ|hK6Bj_3Mo_#~UUwaZDsnEv%gWekm z`KK@e2gLC9WRtD@R$PFS#V(I&-HgKrvU7F7#vdJTUEc^iJrdGITte!V27Dj0mt(dy~6eb_Q8*_)tU&TC7*n|7*Y!TLl1y zafCxdx8n9WI2PcYxGf&t2HJ~10J^su=Lu6Z68A^}MS=es&&}7%uMiosnhYVWFj!;F z#YatkpXN-NS(rpv*C)6DLobOrYhx}_kB+lfZjgUC4j6n)qK$_LUsRG2F*;LZ?gyPM zj6BiVR7OJdazB)EN#xlu(>yNZy}BO!IK;rf@JDkZ8n>t3`vV;6wG#AHMySdt~3bZ-?SaC4e*Z<-ZK7vl?ppSmn^>SXWB% zl3N6@9-3-qn%ULo9%au%HkcfipHFql8gJ4E!en9^8ZUVM}io5=>hF6uW)<(SDWdo$fR=i{&DtWKRP1*yeFqm_1JJ|q3qrC$nGO+#+T z{@f7zuvB!9MS%E;9oAcB*XQI(kx7d!a#~JxCd^WkQvqy8_3Btjq@DAFvmbFUZOXu4 zu%)2*J@_>?3Dl(+2)6MLM;Uk30!`nWz3t8-0}QDAiklJQX`!BU0}%kDEzu1l)Hs0u z!ydLv8!y*QAAOXiVh?{g93(imug!;N)e?FJYlu2CS%X0iqtQ|b=abGVNK|(CrZ856^{4{&iX#+YW;f% z=0UEitJwIvwon;J(n>T@L3E*`qJXwo{4ZQnjK&E6WoQ>34isA+AbDTvFx2x@mYRTEK?~SW%_{&1sXaIU|hP{BHew#BT`8H z_xJSVbn8TI@(ps9Fb5b{sya>b(}N0>(^@(G!eWf=U~N?#_qX)KVJ~&?rVJLeoutQk z(@r(G9PGtuv+B?7Ls?V)WUb{fkJPptkQ_Z0n9b#?=xmp{j|t<&@vvb` z__jLO1Xz|-HI)>$@8g3aTl?!VT;4mZmK=6|TG_~OTW2x%@4S3+X^^$=p4Esm+|IaC zZp~1JKqrV!PdJ5Y3fnD{#SPCeD!*gBk7Ec{kBO4VWsUEzj@UX4@;EOZERNP*F=97D zsu^L3Ms&3x-XEV;oi&qGGB1rKrXiBxqdU4t!aUZpW2_=D4Jd@ubD2m-UcNo%?20N! z0D9VP7<#)HKRXq-i}EX1Mi7zHm&W$w(E!ouOWVOl#EmW=%BBIEa$qGBu~={HgUc84 z-Qv(O+Pfo4Sngw&QEytIbOm1{oLFiw#yX|*#?soFwxIvQw!@qucVD@>WWTi!V4oW$}cD-$t>AS@R?h~DfQzFvjqk|4rK{$aH1LsvQlgqsS zrd@&nl@mL^QFJ{e?6vC2Mqh$)B?UM{)o2#$H{~Cy>KIkA7?2TAqe}1kHO`m&PO{} zQP0-rUIN%3d;U=ZDkdYW5-c7PRC{CjR#Hr{F%@);Azt6?^R*l5i3rP z;EnP)O{!_YsV@~ZpC32hI`z30Za=Piw5lj0ae=e1<+)#OGZjV(5lKkxpYwo$^q=YKe+me{a@N@>CF1Nwi@C`V4IBrWhL3A`w>kso1JX zob{;R8!31{CJf0&6*rR(G>rW)FxrMI`Wiu=`};WWOJXF1NI6sHSBYFwJ`bL9K5tAc zoExhSZ!!YLS!WBCRnK5X!)c!y7)i5nG=T0QWnA6y1fgZTn1F)%8i(-1Zoq5IlzX{5 z8P~EsAz)kfuEJ@s0_puC1cL|c>FsG5A(E8moc#?<$^*qdj|j1nyoUgoR1Fs{OuNch z^&XBY1V+GPSH*91i!0OM6AmxL zTOb=Z2Ncr?RV;D9cFAkZ01=j02-yIq9`^6Dpw5muirqx|_sebu21jE@I zYp__&_x<5@@{QNjW+da~dH2EkA?)SE$ViV~zX7jlo=+AfWh#N!Q;aYwG?T?Oi|gQd z<01IaJ7oNFoy`xkF%`~x;#?+4MlA7|bX=WkFq1Ty!fqts{j@Pxzq*zw8|SE47)xrW zw<^rWc9x142_{RFQ=G%fC*sd^!{(?(RG5lI-@0lChbbMwZ*DczviYZ9UcHHO$J(#F zs=KD8TtjNT@@0Znkg?hNcHm>N;ppAEj^NKgt2w-rOpD9a{gMH+BVGc@H>-@NgA9Zh z-MR(Aj9Z^T9VRy>OZH4D?sy(a+6GW{{|kiQINqqBM5)&5_}C2o#o2qz$E9LF#Y&<` z^bwRp?>N-|&9oPC)o>0TY$H)XI(j&!8t`&&wU>xuc}7Af>Qa70av1Gs1)V6q@z)OC zq)dq`KAsafT1p3@${)P7e#i{DENB*rf@?`SyPO7W{`!SOE z2-9e<&+4!=>y=lNNw0XJa}3~1iJH1Ef@+bje+@14bb+09YEQn_)oy;{%ioM8QtJ~@ z6n+gz$9#uiK#$5hhg{fY=U4#&0nXpOUyJ$zS|dB2$6saNZ}wSlgV=vlYND#^1@(T9 z6&=&yD|C%BRZ@^P#pQ7T)g-=>?5UuaR5mwefCe){pK{M!g}Tw2QLPRx=%HL+!DARs z@1I>jR8YUg_k1>|)3E1LrxR1<#ZvBF*J;WhQZs3Cd#0a~VTm@L-!&Byu3q#b@{`#z zx6HdY-}Vml#6qW?em2(x8(|RE*g)!`YQ!Usx0JzL9zRHDbAe{aBj)0I+1XMV1Io0p zd8bFn7*J#r(18Y^QUm0kZfNftpbkkOQclx{bf)45QSV0Ye%I=)`}3P;cTjqqyZ>E~ z*BNV*5cJ@v7~oatkn_1!fi7AmzUr!>LyDIh`az+{SXLrx)~Z}ElaW+GRIX$sI$oy0 zk~U{n;)G5fxR1`gH?hVSok-vw(q~E?(8P|MvfJ)f|qY{6K_~JNQPXe0_T^$0|sGEtmu}IR5n~lHl`WDaLu_s1u z*WI2Xzpcc8a{us)H*t{}W|kL=s=HN^-6d)`D33)6Xe8Uq(&~gGZF%E@A?|xPB$QTS z6tlR8k5;7hrqQ`Z6bySMI}&S2UuJGOTUnN@sXFpnWhaX@Y|mo;6isSQ^FDIu0>_=e z3|Fb~CQ@$vU0B36k?A`0z~~qFV)06{6OlXi&9-EiAQoM%t{Nl*7$T$CZr}2*!SFD6w*Ua%;DuYS9058 z5M!+c*|;xvX)nCr=U{3S_+d&@=_N6(eTXqg0506SMV9F0X=gxa{ZPL-w6-!>L8@11 ztGch1??FD*1x9iQa=OK3on3e( zo&4FyY4Nm7`vuWoY)Y>(9K3DvHh`I#44Syv=AV7+Ovr^+YcXh zCCUpSC#IXWdqj)+Aj2R^lNq@mwyHBKLZ+$xX;=1{2r^pqF+d)UO90j3$paP!Z#T`! zJ!nmv)5&0tJ)*U*Ti=jp|Mu)FG6f@E_Z?9DX1%%%po~6%JhqB4Njbo`Q#jINYEXE`X3w>HNnZ@b+X~ zC4Mnh@!#ljxA|TLePJ05FXRuY1hO*+18nNe6x#fpkeX0^3}Tbspq++IRZG5r3ct0h^qpB% zTeZ2u5ujC43&Na-NBZD*(F^ZDxfqPtDegxcgGX}Oh>AJCG3)S<5VLT z~TTCg=~Vj{!Qz74~cVW1OVdYS+LDhSs~EdB0{GbC7oej>^?c>!S;WfBL=1 zQ@;Wa*{2k!H_}AE19gknON+WX$#q)+&F2Oo;I9-QXCNSt0ve}^A!?E}pRsp?;zpp6 zFxK*WH|IPHvplyb*L#&iv8$Cqy9{!>;CmpGx0*OMx6HmhW(emznwr`O=Y9+smG5|Q zgN#eDTYT=@-|mi=2y1ehvNz+~o0>Kbg5KgbW6aB3dmH#2X21NQ4a-$@8T{SUwQdx; zT>b1f?LNfaHxUyUIQFjlR&x)TgGY{$OOnZQrnqB%LUqd3#qx+&MmXwlTptda1VfD8 z#P!w4NtW+AG|=9RHx6@jI;^H8rsr>?V)VOAB%+F#XkG<7Y`6BPKTMA|#6D+nVA=@g zNbSDonbtRc3BZ9*aL=`=l9~G$%KQq!h~>@la5Jej79u_7(|vF#zbYVw*;uCd#~ zgf@X8TC4IhCBql*=a!f_tMlDF)NUH;&mD7&fgwJmk*M;(Hop3s%RkJxE&0idro*0^vH1|jB!f>FT)7t7?%4131UsL1w$;!5b83})Fk^e( z5^w5Omr=(_$r<}NzaVxg$}ToAwG;#uADUk0Nq_pE1`P+HUg(gE&9tYIjH!Bc!@_T! zy#*inWr{512zye+X_5f()@kdaY2qFZ0)MBhnnIzN(muhKrxLft?kl5I%Hw8@ErB$k za{hQnAAd;Zb;h_mUdRHR_yhjig`0p)WL6hf#ii(Ow)52M&BYRC$uJJ|`r(^~EB`il_-M_axPw4!hBWxA)hgWQz z?4ccIpju+lJXyWFgl_g9*bNRfpL-J-ciKqZx?`Yx+9XTxGBgq-&>te#g3jiHi2vj2 zyuaE0!# ze4lfkU!H%!IUMJF-uHdKUf0z`W$dxN;{R;APL@>N?NqiPH`D?7@c#455hNW^$}tBX zk>C_z$VkkWQ*glSjZA#%BiDTZ#^m|&>(8dZEky_sV9-aUva7B{5<>iRAV=8zMpP12 zH!J=P#GCaksLt;DPR-|T)JI8Z7hnFCh2*Rl_5wN&(!79ZQ`G*r`exJ;uwBpPq{n{- z54md%=!WU^h$223$s~3spy(@L%jWbQ8JM-(8IQX1dOjU8^+NU`D@q|l_}J+7WgdI7 zvbg#?xQw|XjbRS^z3mBg9|-e#RkJK4Z`lg>3pu;O_Ag>NkUVk5oH5{SoX4+Ldnsrs-eX!=7rPQCsSO9{mGS9?uUY! zi3Qu}7WdTcUK<9Yuit*g(F<-wwpCkiu%YE~nE_j31~Xn7m=~+gM){?4v>E+YK>4N) zo)|famqo>S+0~jD3E53N+!T04nPj6Fs=pez(^CqB|7GaXVqo7sY_MCm>-~ED?$gDA zWVXOA>r!C3j_8JJbF}SuQl0PNmxcbOy>>1-r>xOF>B9M0`7&a@mLpT3d(_0KT=BNl z$Z$yQ_spTM;rg~u4@wt;>GY85%6EX0r2$wZFxd#pM42$hO6)?d{k%;SLv&sK{M~d9 zLZq0?#u&^bSS6Jpx&nz!qra6$HGWgVvVw+DWx}Ty4*vk!0AWn|@f}Lho1Kd-JOQgo zrIdSXEikLk=eN^LstR2B{au2-GtHK2lj%tVWJR8mFTnVsG5b0v{7RVzC!o`C(^={8 zfjTCk`|hzJa)r!$FHx1F2xr4kg9<;<2c$(5PE= zT{FFr9Rc0Tw6|(VYG5ZE=8xNd&KMco*SA{HZseLDogLHCd#UKR&==81vnv-`|AZ@X z#^YQ*#pfCP>+@vQxcrhI#UauK+qhm_@1kb)ZdM0}O zUd49qm&OG2Re7x!Rll!OlPt~WF^^NZ{HsB0nI7S#M^7s&$oPrzspJC*{p6`FJg@VxhIzg`hD498ZoB@X= zC+-RpSpZ+2A4Ld8=~pAh(sSQAM;cp0DCVGPsDlB3HQ8m zOJMxD4s5V#LRR%XZ?Ibh`%5M{Urm(uY>k`j&6}Jc5%mzWV1GJK`FpIpO|~MeQ46OT*}&I;7-n)D}|B~ zybbDTNkvACm%v$eykyz3$lt4!2~G0#R+AiHlX~`Xxu5HTlDV5SRt1a*O0XS*MNT39 zE<%QKC+iul69=m~B145E@+=0M^9BmDud#9Xa~W&#{&E2ys3vTY(TNgewVIcuXc)s8 zmljF-f0}{@lNm8#9iqKjTH>=YK?8?>W~el+X(=9d_dpL8q@iM%V3gQ;0!l1g>+v#| zEW^|4?*}RBk?|$sm-5=PIT7x6xo&hG&DBG|Idw_ z*^hq1`S52_LWIZv&C46UR%Ql+vbBak>EjqU?0L(-dX$CsrMI%M?GRV+AQ(N?Jk=Sw zox&{1K#E&Lv7`s1$1H;arnUUWf!%_I4%a9=KjbZ)9l?k$^YWIpE`cEGGI98s>{k*T z-m)Y_j&!-{ypk;h=1YBX{R+pwburu)DpOx5FvwSHgwjf$9^|Qu`=wq&ZJp*gTyG3D>4*<}vYjYHXRu;kVf*SOb z*mVvn#@Cmej@4r3R*|=sfP56+D2Vwo!p_%^lmTq99pS~aRRCQ_o`r-$_^5n(sqI?C zuglI17E1O2DCP(5Zcl^M!+5I7?Y_1(9dTx$Sg1JzhQ^BK&5yi+E|5(!mq4`u$d}BP ztHsHaV5}xU%w`{eX)Lr49`=2GyvWmL`zYgdsOl;1w)$+4Zjws0b9Bz28CSx`#ZNJ3 zj&AFcdiSW+2O|YD+Rs1Nk6wL92L7KNaq4C6@?m2Uv@b=rfGr&TV7-hS><1I-tJ%*P zvPmE(Nj*DNpa>(err8l8)FKRtr}_zmZPNrhz&3&Ga(7ZJspb%)hBp9@5wTdVO6vEJ zQUG9=G*n0=E5Ip0yzE0WW7uN_N83qM$^2chVn+Pb} zYx)H0$D$5MB5zP0$QJxBLWNsFBOFc`#h(}I73rOQTDB0;PP1KZawFpr-6>y#40bU) zT8JoAKYizQy&Eg-Ct1m+h0Ox05<1ENXZ3($+3%y*^Jj1XzQ2-NlP{6*0)z-r18^6_{_Qur zXt0PG`>z7KPBXeQbuFpAFdn7C(o=3ATtCOsI~48`t??sX4i^`1oNKkVO?M`-@~ug4 zkr8(g#YNO!fBb!MLlmzui^brM9PfmJ#59Av{@-9*|YE zz}wYqlkUioY+_|Tymd*PTzkD*&iG!XooYBxGock>NA@$yeiA9XC6|D|PC_Pg5pJWU zO9KoJYt=7)ss}*Lr$5}DIc8DFS_lw+JgUL=N+C_7YU0-~m#e0RvOk(#-t}0u_B@pB zzJIj6Rlj}ff`Lqony!Da8LA@8`UXqx8%*#_upe3P6*^ha5<)BS+BS`gfAjw;Ojf!$ znc9`)cRs6I6)b;|=Cd?*=dkg|?-9b&@*g^HHcK)$-*xtT|Js$!G@fYEweuqcoqKdr zR*w99?np^eQv0XPJ~|8}oam4@L;VeXS_4iDK|E@R+qTi|E_5JpN|?odl$ET=wc9 zSiWIehjeELHJge)&+ahbFZ<5C@uX5?6g#Uzy7H}c zO$f_AaCac3HVombA#%zhW;?Uiv<0Z`yRSg(!BDO^A(1j8D25E2{?!UomkWF2&i33` z)-INndGAPD_HlB(bFcIb?HQCQ8+2{tO3ykwkWD}DGU%p$kwK0vkfER1Ul?1{ zVgz0xqcoy!t%rwO%1s-)5A^;Z6yYQC5fnPtb{0QIQ8@cFNMCmHpRE}zP~ z0C80pK)k;(W~W*zZiQ6&@NW@(bfTk9enUGS$)>b_Y6ZGPS)KVF3mZSg)89f9VJOx2 zH_30_bhhUuYiO!G5Jt!T$;hj@5kfZst?LY^paYU%toRlZdL=5PzDQAH-wYCHG7ckP?xh&T29Vnb1bu%3uq~0JNn+V!!gUnyICxx`Mx^$d}x94}rVgPdhs?m(XP;CXS2UmE2{|g2C4cvper#h+7RZYV^ouJk&M!~=B^dIj*y&)1DK+r6OiqvulM-Vhx{1EMNd-IhTG6C%>3fZ z_tVld@*(#P+C66c7gfM$GRIu5GG^eDL7HJI<+4U8im%(3ss?UoN1nowrHxOJClx#w zz|a-l9)Vz|k|i6}cr)C!qrB#N$NIx6H4=9K)bYf2N-pVepjOXPRy1ab{r+5P2Jcx0 z{53mMb3j1XVjQo2XOWfntdX_R(OqE0hYxhG0BXc2mA5!Tl&t-j<4eqsn*5LUwYdU*n& zI359Ff7mXkXWdRr3B*0b&^%ZgHXmz(;;o%_El-o^;P!BK1f~J@#{CXt5XSK;oy(2M(XH< zDcx`?2I9Z~G4<6JaYzB@im>j}oe!#2biLr9F6_LrkvvGQ&8LRU77+dl`F7=<6!k~5 zNgSGPjv7aW*@brP?LawMLPmLGuQ(3*BMcQDKg`=9vDj2^U5c-9W+o!VA-?Z zXY9oB{t$~g2`r}<^9?Z!I3Y16QSi)9Qe!-LjPFS{s-cRXF@PTjL%|rZ#qT8a6Une` zy(gLT`miRhS{vxo;{>Y1HSzFVx!$&=)sN0!pVPwFNY|SSHYd45q{yy#SX4`GHA@HB zCLW0%LibNi%OLEDT>-692aV-S^blAp-{SC>#{5GU!hql&yS`dC88>0nH$ zY=`--yL^|dcW8i@bNZTn-RKB0x@IQIXmPyWGoh>rv417jFzF6EjIiKtZ$of|R7?_#c8HcXQ+7H-A$L zkRbKq`RiH!kM93E2F8b53qKeL4F68LJhc2bQXF6$?RF}ZG5lW{ZhT+(A&%?avQ)=g zbP<2R0mtv-mtt#UpPCMGM*sPdbAk9-6;I;1Y^JAWvX^AB5?W55UVlJ7LA8+0ELmrl zd-m`BkzMN|u|kz3jgPDSIVs4YTzQ9eRNx|NO*2P|grt3uP$~5gS+ZRQe?3n1Z|ol) zKq%0+s;s(7`rnAdFsjg)Tv@d>2^cX}gVEGJsjZ86(@KMAb6&1`8LFCVI@!>{6>8g* zb+x9<1^<3fj5T0-bJh8=p1KGV@544kEa7GbZBRs^6Kn^}*4|N7Yp-sr$0wyo-7&4~ z*bC6oqsXiSz0aV&?!r?Uo59M|W~JvHt|7|RiTL-rI((7+7Evt$D^Qb7N7%eI1qD!2 z5BWfQ?a6<-3ss}qIVYloR73ST;R{PZa<`CIshBbdn@;J5u zK}pvJ>-}GMas?lMZfW?Uyf=4f9D1iTK=1eZgyIBmYaP(Q1E4CY-Lh4YL;Gp6^4^DU z#~boHk?Sa#*U@YOLs`g?NbsA5eQmFO_P9 zbC85=!-exTzFpX7=h^%Ky(7ys>7!4_6<&o(&}4I!PoVVEP1Ab&$`(;06iKvDGs%p$ zag%{5TTGZ=>)B{?5ibNqQESJ+N}NaHMKHm-ViJ!tVeI0xj|ap;2tw}dWepA%SdT~D z0y%LgH2YjU7|qDwRz_FA`J!D15M>*%({dKq(sEe!OcvIgrmCTYwJI$MK{jXwba;#9 zVJYkE;+PbafJ+}Ku2 z`bK4IkXG*Ta*$K(%lX^2VDq!g%*-}udg*%LQF*%T<4n!5=7Sswq79n6?-5A4W?1*3$o`{a1ua1s-%+}-ycP+h0DNtlS9$U~78z}^2r+tM83U2)Es z<-TOw1e#zIS6A1glb`9A70SyK(%z@5d29gVtjNN*U{Uf<9C`Yam(`N~lT$!Hrnh;_ zJFu4XWdg8BY7xau_OCK}1o`sKUsi~K{y$C0^ZnCTVbI=q^keualT|1cN(PreVha@n zAgA8kgJe3MVs?5$MPc+{wZg5jF)s4WYu1OlE*=dK1K;(jQ4Es#Db)Kp;nqdyBz(R$ zm@$?_dQ|Lb!)KyJV&~GMCgwN=HkcBh>y}eSvOu<_Q&ZUO6y?aAEH@5E!?XmqixUrG z+CYavM15G(vDfR%oMO%3O4%OLUgj20)bP{Xp*4*C^0l*uEO@G_u_`dHCYMww6~T4~ z3Mod2k_oB0hCK(>9H2cQ+D{9whR%_3*`iZKdL|~irBvxJw)i{-+(rlsD*K&=2m;t){{^cx~1CfUaJud z$F~jc^)XuCf0vUZIdZowu}pw(7vHNU!n^UY)D2%Hfb}ykE39u?(gRrUd3e8ewN2b;X-k+)sToWG=Q+8&am^;#WE{7>`<2$>2RsKOL(A>O$?QltdQDnwm!VNJ3gvEZgX` z4Y>=p0^adyelS@M-AbPR{_i zU-)y+6v%`x(|t?5SzD z3RP|)IseQsXBbu`99eW0*xt9uSlH(S!8Jq(}YA5Lg=0eL5T1{Dq3bIE>joLcDafdt3&!!*{_vi2I>@~I`-wRY(%cNBX z2@toRAe`kM_sYlX3@XP6Y1R+&zufPjA!l=BDdtCiGILOytlHidSWXWL^xW&-F4bxh zHU8zQh_PcIqQ*F!R$89Pt{=+>?aP1sFDrq(YI-h2$;MLfgt}qA8Yp`e5Zx0xc}(Wu z3!H4-;}CEQST_@u?3ox9_v2Epo>>7*K_>RxqWYF(H%o34`O_Nz7{^`G1aB=Y?(qY1J0yTx z$?_1Vw=K7zS$fkF)#IhSa~!k45HjmCA86pni&b82Oy6eH0w^#R<2ZQ0dbBm|0G7(6 zY9RDh`v@f^(Jnk*=^a)d1N8E(D`)a9YX!WNdsY2>2uWG&-=7F!LbJIB>K1;XH9}+F zvcUzH*w~8tPOOaeuj~LCzFt`v{e3Oe$Y03W(htL?HwS%4lH#-Ke)cvjcEN!=87>j} z=H+lPA>dtdsMkDP6kr5e6=EK3R2Rj9&E@nX|UhQ2$jk>uY(H4oK?X6r^O*@dLG?P zXo-z!usqfzx_0vSO_`$)uFtpgZLGUGJT(TL5L$*2wa@^HzUSvnp4XR=?E0e%=UQI` zL}AO(K$Q|mig~(IUC{j8q1C@A&x-kX1O>*ZZ9Cm}uJ0N=UF>&%S-gH~@WzC#>p;1r zVg7HxC|e21cuNSIV3KB7Tqc!qFEGjQS@+9_V5l!PRdrx>zr6}*$10Mso3^aoPQz8n zI5X6g3om@qvU|@^C$|lYd}UcPAAy-w#Ci2YVz>@KXF_h3jb6q zi3e25wCjL({z-m~xsu-L%k8`E@Y^Ea&r6-mc8`17h7_^fDV>49?~s?#X^b*yJfHjf z`}IdS!kt|d<9O&(3V$5ON*;_gUmjY+Jb#CAyxFFHTtdm*X|oPO#O53(5BLlE^qS2W zjBv&W{-(8jc&qt*uP#&;(qcyuz5Vw=$1804;(rCRQ5p~aWOnx#H#7S+mrmnpyY6c< zzj*b{`9`8@yQ+7#&Uqpz6aW#KD^ky6%`_Hx8-7S>vGBvy(9`|kl;jFn@ zE9gKrS$MTg3aO(5Mkyu_CTQ}wtVY(J%TOkUqdRq#NY}TW`WyZb9+#x*TkGPOh8M)OM281gTdOKdpD7Y}r(p9|CV80s5c5a0A64 zSQlFrKp~wSji5=ykyWlI@H#+CCJFg6@qO=c`z2V&5kcejz1}83v0>J9LmWdU|yOJ*!C^y*)DKKphq&SdikMA z+anM9mi=I?=|F`Bs20uMt9JHTnn0kNBc}VN==J7J{G0queagY`w6g}dNRD1&!TdGr zHPi51c*vn=aenK=EOiWJP6Z>#03$9akg{|F4-G;3>)JL0LowZy84DM>RNUaJ@%sFQ zaiI2=jfwJ@D>$zM5#p`7mFwJAl7C4}9BrVz&VHqJ!qB=VJ2DFf;AZ|QirI}!87bBC z%LmyM-6wkKTS%oX@O>VM0k~D^@QwWd<8uRNp_CLt_kxkX3LYd@#OR=UUK#Y-)9e0J=CIfOn zGc}crls*_$CUGY0Q+wnAOT=Kx1G@&Yq;a{Gwy_-Fy=xmhcPtr7Hd1rJLwXaEAhemq zQ38(ptlxWli^8wLrms3NtQXq(+5j412Y5fY^~J=oo(jc>78&LpNtpWz(ME`h5D1|0 zf94irnq5`nRkLZsPaC=Y+5%14O?(@JQTchCgL}|dAnn_*QG~IUD1B15)fK%36<`VH zFP7KetuV+v&Kifc1{XvUl6Hf5nM1Ns#)Z)BY>Fi2@NaR;W_3VjLyu7t*SfuI>QiZ9 z>@acT>jm)7F5c+Hh5)JJ)9|v$ecHjA>jU)Qo7&6URFZ8tNMacTKjeW~_$5mDx%1j; z-BP0X@R$?%(7xKmyD$lU{Wr~-1%5>-!iWfdX2CpqtW^-}nqWqgke+~aaiJ%{8Qwkc zU_+@5OO?GZ(*-@v1X;&dQYL|Vd_MCY)9u%vmg8Udbj&BH`9OTgbg3gtQrBLkFS{v! z!}0{+$TJ2MNPj>kFTJ`cYDxWEH@*CR*?7YqR5<6CG$XNxYbt)EdOf$0w$`1*X#x~I z?lv~G@giWDSdD*Qc9rMZ(f%nH3+idJNdv^dI7!{8n_{6VY8;V1Ax2k+Ofwb7YLs3HnY_c*_Hmd-XpAFC7B4#B@4eg9?vcbX;|Kt@7pH`M^K1 z%10l{@2KghFkdOsIB;ZP0trBj^Ey23*W|?>Rc_|n2H(uGXxXSwOk|(B1+VO`rsumb z1lo=0IYcjCEh-vMO?!SpPQv2fV-I(hztHUL@`Gd4FKY@iZEB*}YJRLGgYKf4D1~Rp zd!9+}@vwgj>X&T*8N9Y2oL>&ap-wJ)ql5D6=bz3t1sGp2?XS?C83FF;tG*9uj41Wc6L?ycQi^9&H*X`9;1Ku-?xOM*T-2A{Vl4Yl|!lyXqsU zQXtMwe=J1^WNSEZ#fL9397SHIo&4po-{tGdxw6ld-J_YWzC-g=s2u9W7Rf)Cpix-) z9TGzERgbMSZDPW6ZvL8a@@Y@J)asF&*)Jm^9h4fFK)%?q`3TIV+JX);;t)t9EO+0v zl!5NOGX!SjNJTkn|KXDl$U80r?;isSXHBk9PP6{SKnlkltVZ$JLd|@oWoqTjffi7z za8%EGS6Dd-TT#Ng$xLwLT6#Eeo&2lKD*mft#?gyQ}@gfUbn>n zHblSE!_s+qbKQlq{W;nYHfmZ(m7Hq|`W~mrDI1FmRvc_`iI^ItS^*RGe$Q@%58nte zb%_c-o4e5#h7ZZLb0+nJc``B^c6(S0p5m_H&?Jo@Oh}rmjR0lDjy5MiR=^Z{ z?qHNk=mED&5Y@}6+hje9Sm!={11NvD;mrMIu>dYiE6~n@22!+b%D(ZMPw;V=Kv;YR ztxn`M4W1>ScT!B9aCwJ#F$h)0(;@x_)qsa*ZiFN<1qmNJ|c@=W1~H$W=-u^g!g* zPr7vpsY-IKQtboelz!GT{p=ABM1*i5_)szp~iFUV6Uq02*0KGT(8P2!nBm>#j9Q=eqSt(Js(PY z-o3s-j*c3CzwsE)temMnc5uUse$*roOx*e}ma3a5VVTzVSzcmwd%GmW(x4bvExY~C zVOx7{1HNAGhDdD6aJyIPG=0YGTvRdXg#0yG_rqAjbsb|qsa0B5qd_SG`wV40?GcQM z+_*;l2-0;E)_pV1?uv{w3#@!cFgZC%`wCsKW|!xHU(>(mfdd!m4*eGPQqsu{{fqnl zTa6Ct1B%P`X%fw|+yBUq<&LUQ>xiIHNauPmTAok+L(Thn3SyGZ3m@POAP&Q-kx?J+P zzof9R2vD8f6}#4rVl<+b1yJMK0bDt869=B8HV>`_trFExyM9VoJ1+H*4#MOz-7E*7 zuZQ>uE4a6dhT*Pb6_JOq#E?ppn2i#J1}?Ni=U6RFOi1$UeuoY9HvnSXN4@FC43Ld4 z(ES$awLQKq;Z4i(P5~gp$&NSLv3^yK4mV=LAaM0K8-LLbdz|q@s&wz2(CMFC?h+a{ z+Ev{Cctw*PDQ%u4HLj<=Vx10JqQ6?zJhb@s&*})R}hQn^Y zHhRRUv=u7paAKfHiu{CRaRgnujaR_Q!R+QXC5D17JMKR<{`WuO(%_6eRb8c`%6+2k z<0W`rPmF20+NPzvr!1Qm5F(18hiH%A!(9Wwd+@f8G%Ua}0CW8bEs4ZvDjPo~Gat7K zCMkf*!QdU&42|?LLpvTay!wVwr_osZ`;`*@5;y+^?#!|&M~JHtVv0q=GnO-Agke7o zeeX&8q4a=09pwDXF2wYPkG;IxOaoQnKO}H;2FxJZ?OHu;ti(8Hv>n95nyD{9xDgS? z`(f;9-WPkVyL-f*E%{-S|D=6isk;n7=74fr1xlhX*=(5Hm#Wyi$57Z=E-KdPM*Vwd z_G0E(Od+td|4TRalcm~|p2C3pdamv_;YFo*1qIg<9Ex0l{Fx?e+_E|QZ}+f!RlR0N zZK^^fNgB)lg8m*ukfdmX1wsp^g$NxGrs?W#wdrzb5t*$>GcpatsGxyyNvig{sj+9n z$)f&!Hlq_5y<_3>w-B-0bBUqXOPWBej{Gxn)aRua2M!~&jh-|~H(n)#Q99IG2y;=t z7=TRELghL*ZIWGyd8(HJ)p4!nkNkoWY#HVlk+=ZRrwVZ^b}g}zsxrC~m6czi0>ke4IW_ki%K2H*gwEsl zXVFW{PY^;P?B0hhJ?opnjCgaJhd#u&3n zY{RR7?EJ&jP6yhACqTguq2rdDmNYb1!~u&&+eYHt8Fc(UI!bS>JhjD3k@p}3WK z#nw_))j4jzUtL1+L-A%!< z(W4hd*9ulbs+oJ>%bTHB^(I*3AM)8Ghe=d#-DcFwauK!E(Zh9y@=Y)XENVblv$K&qwB60tGCtRI}jiea{B)qfy^R(0rUmx8u)CTa?>{Eu^W(=mXj zmrXO3&Uva9q+&84T=nGe^swsU@vYjMil-|vH_6MRoWy^JN7c;%jO2=2_ctza5|f_ZioEU&cuLFNn+Y^xg zmLl3nL*Gd-)c6khdMPOSVBikY`8Of?TEv$CVo?9Rxd?X9uN!2XNsh{`D)2^Dkx#{J z)xc2&qmlgu*!g3o7q`n*BQBoh4s+g|*fY9Z?BKhFx#_}oDUw|8+?A`yo+%qMV*$zO z_jCMbogk<=88i8r`?)|It23X~$>oDu$jv)%sYoDUk9Uo?rnK=&jO1cA$z#gUOq@3A z`FF@elP5p$iL0YEf|g20k5|=g23{jxLRyT!iw%TdX_({tkzux<}O0d!$h~uTWE!F)vmB>lEWhmDCQ4x^Pcb3Gx+`a{OSz zQL64qn0eo&NMwk8zX1M9acGpC&lRoYY;Hz4@;t&KXssTuiOQPX4S0VAmS1j5#^V-R zCPB`#l0%+$TV&4SO;E0FF2SXsJ~&GqJk%pWvvW8!G%( zD)P+dFw1$9ujWr&6rEG%`zuzIYEQYwcy9PXTL*6H7<4u#Q=BdYJ-nX9f8kh07B(=0#iYEQkWh*U;H{_Qz;*gJdT$%grnjrk zmiwd!w3U=PCY8ojzG()x-sTNB_`%{#C05_Ud-4`&oP0&p*fBw*s%P|2()z0gJJaWP zd8#MAoys%%otg?Km@$l>t3@GfZ1;4%q=d%f!mDFVyjKpXkn`=U1d$brKcAtsbi_ph zUb-|(JM>q0%^Wu!Pe_IH2i8!weQGH@+iq6(v942tLGL}=Jd+4b`s2gcF^<#i}jQql0#b;#{wLJLg}7m6C6O~I8f2Ds%`hxy~(`GOWIr#m!z|y*A!%; zO2tX1M;ggF+!S9<+4nW&I@9B2&1O^C&d$R1GQ!3ur;v~)1M90KE-v%WsV~lVj~=*r z*IAs>j31~^rO`!i%NSv0zR&*sws3Uv?q~la$Tt_ zSE%tsDQDMhUdfKRWS^Ee8q%e1YdiOJvl_@SbUg5Px?BnmAL{90AcEvko96bvjh(CaLy5^{EmOZkN$f-|zdWybe zd&4$Se%|+Sv`?$r`rfrW&_iY`nuyASH0`&qN0^vyv~&F=PGweTcHgA@xJQT&3u}$? zPXCe+T<8bY62sa(DixsRJ2TMprz_~mh#!6eLYF~Le~HOrcRVomCA!C*fk=IQx%(x> zHYpn+GX~UyUrSR-Ng)$CYk10OzNx{V2N_Vn(Ab!KE?CwGfTrs-3r5n?Z3L9edo*vl zx|O$doF1-ko?4CE)Uv~C{YbmboXx9Dku#cDP!_wGTT0Watwv_SU%sIeI-cNpD|8tZ+mp|I^ecr?=X}i zysX$IBYnoqpGODeeHETssHU8f{Ko>$VV$C^0OkxRZ#S%6tZz9OS}Yz<4+I6KFFKIx zMBBQz8dknq4}Qd6l6j-AcyN7aQi1(ajM{?JWDx@HA#L`^j2h{#4}@;dmG*%$CxAjb!g>SJjh1MK>c9T5IaP=d~qd6wRt)T0iM$9|i*RH0kHh}yec_1Mr!+NX* zU-{wJ5G=F$M&vbP={7>}{l%W>t?~|1>;eR5as1KQg^N69Sf5DuD@?QMyKK+X23okiC{pEpOv)m-Z`-jTyY(J5~ zSE#8fpyC50gMaSYWM@`hTPcwq#vA%)AaJW(?#nL{z<>`nlylI_M{Jx8Y~;F zA>PAgQcSc1M#!Kacw}LL9O%mP(*qH(qllhNgylpj{#HXz>pOW40K1}^!Ns7E8J~sy zpcdl&0tij7S~`;Ak`dya<5cwPO8$VyoS!i|1NtCopcd?u{RH@K?~C($N=7uOZ(=-$Q*SK%mh&06PHZ+(M7cQ4&Aw!5J5H+<$H^wfKEzr%EnmZ#ZziG zsy{pZQc;N&CWm)|EC@-YxO#2Mr4f@$=`ot5Zvie=4*Q52-KRK_pl!aOc~q;+mdSUP zny;&u%g4-=WOv%Py3@`v3IrC8|D~C~nf_{iw<;i!(j8b#n78&V_J8oBQ)Yq+h|WuU zUKMb>R@gUBuFkWfb2YUGbmhkH1EK&vGgOltf{eP&YJM-%e59T}O-}n2pC-SV=C?(T z+!sV=D}Ypr9tSC#pb(Fm^-Z6!(W_tX235@ZW37Cgzqo~<@oPf&5;uHsQYPCJiAEzO z!?#va;Q#39i?kqhlUmlyu-+>5ng*-9czjQI|Kr4s0EdF=kHGh1cF5B#)=FKWwfJ@kW5CLtTF=emhb^-Gq}JKF zA1l+4f6R99a@Gzl_`hi|(RBUE&4$f2Q^mEp<5K@;HKVu>KSa;w%`19pX6o}tU&*Zl z@nn8keSvHDP#(vC!o}|SvU;;Sf94P<<%i{Y8XX%JSqspkW<_%AjO)Gq%neEih# zM)kaM|)*{nn;$;JRRp&I9jy4g!vCw5OOpP zf<8M*oT7QaNCX&H_jQF#bvIt`3V@DkS8}b179Mc`3BREP6OC1HDp%qM?C(w9wqcZk zbW+aNuC{BX?~DuBh-|?IjeiG4%nMt*$Hwp890Uo2{!oViiTJBeihy>v#f>=4$=+`| zbs4>iHpL{$)E^Ew4y_v+oD+bP7VOSS-sf{Ql=E$R#Nk`r^Q;zDorNUT1K^-!`cwbr zCH#7u%&0Y&d-zGJ@)_Wg=&B|yd5@gNld8a>%0NArRC+AmKyVN&=a)eT$Bw6aZwF!0 z=9w)R{ozZ_dSlb`XDb{>Eu|KozmKKwJ@6%LMA=d`-HskOU=CnEyc{JvbA&#TWP+I+4k`$>0Wl5wwAD4ajNx(AlY5r$`s`A(*Ksh%_9n{mY`Q3_U4X>R^`sf z0Op)T_|b`^59E`%C;$W%kV98u3^cQJk(uw}7$@LmLHgoN*`N?1Sw`ymq8W zaV_9W@Wg@q&TUc0(jQwlSW(&z0Y>H^48fr{ud}l(#KKoCiE4Ph`bm#yZe@QOn`d!S z9z0xT{pXBvFS1STYO%>Fm86{JRw2``nV-y1h9p%c_xM7ldS%m%6Gw{DS4{zjEo}1k zis)2%;wqU+D~pp2x@-W1RxkC4nK?|2N?OR-TCpSEWV{gJEM*zW<0pRw@oa$Sy)~dY zRnirTAqNthlTa}KDDz(fFAapgxoWI!gedb-@xYAyQmsLy*lT=TjV#qel0X4|9&yTP zwW`2ID$ejWVF)NjRc-22sR!yd%Gmf$iVrYVPiw8+ z;dJ3Y5BTa{zGCfzcvmW%&6jQeWo7HDfkGAEmsPiYs(6xL)y25goh$*=Ujb;EP%t z+8hojoU$hCh*?437KT@^p(JLv+W7hn^Z`or9(T({On(Oxg8i*-lMnO^T{t-x{+(7B z(>+#tD~j0PypLg3nxr@cduQuyNqVpNjZhrdQr0{O_CGA0_dnI||Hse3v8n9LN_J%L z85POFIh#coe_rp~_xlgH-CjSq&UHPXkH`I9 zX}Tun^mCD`r~e>S`+o9=xXQh8G;c*psCRVxIkbM>YLgvccc37&lzk2W zN^KuR0_6Hr2A2Q~t^!PPOj@{{zWYU1vK4X>=QwpY5IyiiJSivowA_v$Fq3FFpEA&P zWH8$XX_aUoS}QclRdD`UUA5`CQFVm-{z!817V!OvgN7JI5PrMa`5BbtuSp^nRpiQf zsawziIc7TS`w^cp5>^A1)Iu6;xJxA_(xeXWgmyZ<|I>hzp1albAD_7986#?meM#{J zi;Mwp9V+x(mH*Kn{c*IT)=5lVyWDV=DE{z+=TVM%ro0du)>t9jl$s`5wukEmK*;vwf;x1r`+_;2NMk^}nBWxB31c*go@Jj$E@H0jv}*)NZ33IBv%8fZO5 z5-Y5D?0mWQ*L^TbG>1E+!WWBPq%0{4LeaJRAxlU1)i`|tMT@NjgXUejyLanpCiSrr zA0^KiK~L&7jVi8c9n>at(MR^J0H3F}mcHQcz`hSB6T=rcs&b%t{^-H^mGJexFiF+Y zkF4v{ELc8w#eeY7-VjDJTMXM?p!)$1N>ej@R`w6zeIly6?`s53P>#>oNVQL(2&Hz~ zym$?ZNLJ>S8Jh*aQowsjZxPu>&ZSubyn-uCUEcHIDKXlCABzlf$)17LM2V3P-?e^> zn0UF!Tk>d17lhWcc?g2AdwCK!d;;tBU?BydD%%xntU>m1sosmTs6nbi>%Qss%_@z3QIgPD&&Nd$zf_VFX_c<*kgVANAMY3+?v)YPp&)x)RO!S?k#VRI>&VbA?eS-$A;dT=+Cb7)6?1tB<8VFfuuAk#Db}=Nr0Xtk8h_d(yQ1?Dg|XFi5Zeo{q2vWY z9BjcZNqb`Kmg)>T?DG3mTYIHRpgQ((G0$dw+5%09eX99g5W^2RoMx44nC6Q!xo`9@ zdh)wjjNJ-G1wH%-YSS48$G1TUaZdeXpMCH-<>J!863jmq+O~aApnV(iZ;1^>oW4{& zxvM>V4Jd-Eur;i^ehx`#P8=u>21gUajgC^aM5?3kxbiJ3JPXYqo-lTbwCAbnaPX$t3*D`d;$`E7GXqkKBw0&wTrkEK zyOF)Zltu2A_zLw!_VwB>Yt%L1!^%i;;6NBQ-w7Hs3F&Cv=~7U+fzwc}`Rl8z67TTr zn|}4l!13WiLR*`ee#rcrh1TATH}kPIp97kmruWmxs&DAcePVYx|8jkzD_3s~VyH-a z*;KTb@j(DP)>UzOus++eu6WW|a7>2)D)B;sCjhQr43`)fsG{%sXN$9kYgq0p|K#!U z@kdz-bw)2ELvuIn!FdZWLeD?d(pW;-_XkqP$L+sB4l@m4L5F;hfYUir?Prz*%hsa$ zkA?J$?yh9(_8t93L;W%hwbrkguj8^_m?edt| z#Y97+jRvrb!JnThf_#xE63_hQzn}>0#T%?*PTvv@8=5pVR6E9wH5tT^MP~QI*O}3Z z1sF?;bh z$R4!8GCquSyrX>!53$W=_%6$O7Z>C;wS-r)c%lD9o>r?-(?mFfk!l1=#3Gck?-CAj zRwiF}WVVwRXgvD99#+KX!tt)l9n)%5%nvU0F|43oKu0Ss%B_PQfqO(E{pm&W!PuUc zqi+Zkiv*G_r8E5)U8DdqaI~bFjzEpsmn6i*bH7W3@?(KLE|LWA%iA(;L^392HEp`0 zJ^c`9U~h*gRUV+Gra!h;q|k5s9cEp12SR>;`NWg3EZ}W&iyuub)s$o2vg;w~0&UPT zX&xtv^K8eYdBrEWvz{13@w8KUky&C7{eq`PE>;Ur9*yy zUb`%Ty*}y22ME(cQ$jBxph>X%Stvb7V5s+I;iumD-@(7I&;)PIZcYKN*+kb5e&j}f z(e1mC*MgnLI1k?De?w={<)*eGyWiWpHWbf4vi{bg?75-GDQvSo)asl)6hT?>-#DbV zBZQ(;+|@Bf!#aUuTuht3O=JI4Rd&UiMvtg)-wz7S8!3aw6H_OEIQ+(BXZVvv(M>8G z*R11l7cSFDv#aaNCCfH`@L&G&tQ&2KBH+CpV8y8G4n&0HJ$jo=az3yBTY>+V|RVY&KrL`jVOAUj@QrZMQkD zc4I+qV7-w&Al9ras;uUns=v~nU=$H9K8%M~V?tS>*(Sr?ph39z%iWXk4b-J)XpyGv zL-q}4(o{pYwVHz6ekh{xPgB;+U-`>JeUf4#`8EJ2OqVIkc_&fp`m+X7zxC=s>Dnzl zaHQrZ{H1o%MTzwU#uADrPeuKA06YeKS9TJ%N2g;$0||yFKb45>3;1a!(`~qZYt2$V z0hKdhVlDI13;tzs&<_yg7_)_saAvD zl$!l?P&G&z8dRM;7lVHVrF$Jdq$0jKsS?GAWQ@#yQxNa2t{CN)J=C0GI70--PA2Ex;}9nyPZ( zB}G-)+io9WdD#JyrTuh>mfRI(6>cQGNI#uXqkZ@e;FjeDd!e#cRdL?3J;X*EV&UvG za2y$;5IQ0`32(QO(JyJ|I3A1Qr$w8V;ZhwqUsTHtwMvQ^1_O~0MqJtSDj z@KqC)fz-XDlh+#>Gu>vbiKNw`BH-ISlFLn`4B(GO$tKQ(2<*0r!GLDc8%A(4Cqw^8 zPyXmWNN^fPWtN}C=rQNm@AkpWud7)(%k^j*?M}~f`tz6K_vY>Q;#kY4T!sMB&I_@B z7e>*AO$~vM^sS?@lD}w(x^8WOi#&N~`u%Ns2KrQz5r*<#^lYZxrhZy0Yl)E3-b2P4 zns|xiQSvP&i&nvn`ON!guk(EMu${oVD|DLDG9{nzCZu$Xs9d@Z#jG)z9OmR39sE-v zJK_L;h(=P0ZDI1sC>*wZQLuc7Zw=yr1u> z@NY5rI3r-$p_K)l(evdD7-KmbusPpaQ6JKo#=KSGZA7+M52VEU?)of<(RS4_-MijT z{!#hcg6gZ5(Izm3efMrOg225fFhU4D)GI#f${!pEG10^VQ_kVi$CE;+=jM) zMsIEeOt+L7b4W?tJyDv4nCUR3xM$FZol1HCZB~8K?3lr5?)&PWU-lg?a{jaM-Rnc0 z>x7rhaV8$qtG&!N>2}R40S~fkyn%1l1M#yL=Vsp-$k-`0Hr!#%=0u|h=XT_6lvjJ9 z_>V}J$O?$VYmmcX*_;NdmL`f4Q!6BH>%N`3ZrxXsB%=?qDduMU9FQ z=6Ah8?+`822%bYozsvfFI^2Ul|8>ZEyN_p8=N08MOD|=HU4Uj1clHdt`0JoC>kSLr2qAK_?}Z}G*@k()8xe~^EZ zmMl95Ea5`_u1jujfFsN?G@WOwq$!PLrfJBfG2J`gA{Z$71+l{`IxXq|H$9Cw~C;*Mt-+E)+8th0^OjIfTX7LvO z$yiIACMMiX7~q=*Fx6<*FVmYo{2fQGRi|E5%uu64v&mPq(4e7wAIztmpa=x+qUo6^ z7GGS09uz#x+Hv=&p_@F&9#H)=W|MJrnnlZwdFn?jvMOb8@)lwBEPns_q`@C94)P(l z!Aq6Qba2_BBBl+7Lac2$W!N1g=;nVA01JlX+7y>i)#*U>HoicgDXqC>Nj!1yKXf2R zqs`h^#qd4j9g1N_nu%8+G(?7^?rcUaL?t^pLD%6&g~+0U_=sJ1R8z_Z#6g_%##Vn) zPt#ADxx{%T0m$6V^f*YrF-f9nR}*WpV*t>X|3(kjo*>KbfE2%?eg?B8`$}f!HPt1~ zvER1(KJxB>J!}f@s8Ym^*y)Bu#a;7`(|)q+r_KN`Zftlk^~O7X>9WJ8_khu z4?+anJ11YjH7QJaCQp$4_4XE}W=;wwi&FV&kLKE?{_GwJs@4plVA*&uBHHZ)61_c@CG>{?M^q;^FAYn2e3 zBvVa=0>8B#+iekg8<)&i2@*qn!J%8APAT28Ro}o02>0kfnO&S`~4i!msik(LU!B`*-(x&=jPF)|c%br)~O&X@AuKC^Z;RLlS4l+|(We=|6*7_xeAve$%&WVG zDwKa0#1GR-=kcR0E|Enh^534UA|+W&tdB`VR+SF_9DUsigs#uCO8t&ot0&5DQPBb| z?M%}y(ZaPt_TSY6(GX;FnHpAkn#Ak#v}mIfJX~m!Y}&5T4`1A7FNJv&K(6@eqKf95 zrb6AYuiv`NlD{%iARGH-Y@^b7C_oOb9UBs2uc@3e{5En7Bs;?~X;BxCZij7GR~<}6 zZHF7=h?p8|3GBZ2@+G4C$=ULjd-crq=3Jg1wf?e(KR~CMX}E>M~2^QBZS$ID`H+zHl)ZEBVCQ5BaGk^4fP@``6&ny^ z^)OMMF{&sXT~RzXne^@`Q8@`ROk^eBAsFYyLkqVB0P(on$IU|rZ4mB4(4FN;wyt*RL+dk4JF&y@Z3BX+d@l zO7zo#rW(P6qg0hpPL?{c>RW5aHGxCN@O(fCUA68-+M!J8ss557a^OC3Y%U4Z z%K@+ zke}G_pkBb$${~UVAk^aH4?t#_5H>0Sn@8_3>lqvvw3rlNRoACUAb7{9M_x4G?xi zj(n;Igjlw^35LVWmmQU_%-t4vVb1^@JCyjlBrI_Y*DkOC${grUa!6D-SfF!!+xJ0~ zpfut%K?Z9QmAeD7<*mRmUB7%XQRDFfi0_W>l8ZAIg6{!W1;!~bwZdAs*}rd1rO=ca zJYUJALwHG``mysng!MDy>X)es4reD_&SA@{8(m+tGyKYOHgjM)-i$qZS)LKUiY2rl zzWYh4S<~EU*~0@%)#C<6IwP996l0cL=?$cKekziGmQsY{VE1V=dn8viDEzP+OJAZw3 z!t%=l>;mOn|Lmftm6KVet>JqqBi0nYi|H*R@o+65+2_bgu55 ze&tbo@ulJ|569~f6)qU5ZTn)d<);}YdUEvoe}16&`Y)F|ByLs|XB~`fm;EZlyi3)TT{i2ANrFtOw%f;$w+uSOhLE`WC75o)T3%%cdfF<$_A4DFzKcdD{%P)d_ zH0*#NpXYubu&gl=$V`j$3egkY(STGHJ}dknT7FcZoi^A}=Hl7zrVHN?7VTmj653EwOY8p@dc*%|X8ezPK3LwZo||Uews#MVe?6wR~hE zPIAQ`57MIwnr3#VL&D!if*E8C-_#)7DuA73kd(eqHT47k?AMtUJvcrsPPR6Ot>l^=(9f6_c~HV z4>S2{selPL#XB^4-eF}>jh8ybMQz%*JH(4>h$?N#-Reb_NHJYNNS)l_dy6^{RQ=9+ zyR=93on{chcde4LyPp$|FM0M#{R^*4=1z*bvq&}73`jH#RR^>^aE8`5ww>y&bB>^F zk~FKVSu$^mX&?zLwK^vx{FLoV1Q|JRk>w^3UQkM~Vum**-vP_XmoZ#-+2)Ap z!@R~O30To{yQwE21Lwr)FcHdt6Gc4xo5gPdm}ala-T0@AkBUDufQ9npA!a#iH!haM zpk9vdvJbXZ#lPqvj3-@7j9W_!y$6-YLZ3r3^sK;+d7)ep5zDdmy;4K;i(wt=m?xb5 z1h9*w0u0));Z;NfWlJ#?qec+y0t{Q)m70S%j_(5zvS?lmZ+EEW_i z@k13Pg3IL(l~7b*6A8yqv&b%qm9~O~joW;sRwua}^0v$KHJcxxT00-14Gm^(O`N!J ze@=qww4sU4;Mj5Rc%NgmQ%JzwJXazSve%<9y-YHzR|~&?@(Ukh?eRQWtmMPtbSQg| zsB#fit^U_geG+kF%c8!K+!7_?P zCDPVOv1jDJ@9*8ih0KtL{1BG?(>q~!Ld3h~6ilA|!#7Y+Q9#V$cV!^U9zQ^IisUA+ zP$%?p-hy%|GeAXIf>|WmauF6WD6OBX)h}4UrAFOiqw~sM?Hrf?sS)CrqvVDZ#gx^! zyVi**7^cquOCR(@KY^60STkMw_#`=2p)r|YhMFbD!W_At51RTo-}C{p;@K z{4TTno%m1}E3>L~xYGy5OG=YZ;5nlC1`@09piT>l7k~d*(?to_(LzT5`2*sknK%4t zuS^gRi9SBuJsi`a;SAahIC&Ew70UTp(WGg!xWp0PU8@}Ot>)@*;Ztb<|K0K5UBxA) zv3E-J)@9Ng7-{4EuU2@J&>+>IT;4_e#@|!@tg{3mwE&l&fp}$fIrA{{3H_!_QH}J^ zVc)gtUfsuRSbPVx)M$3GOR^2X(BJzHpRyk+#hMAojRWjFB+RS~UU7h3NMSs=MX?YH z;KSsoT`CmU5xcV+u03}arTa{jhr(<=p0hED8|7#4;S00{YOl%u|_=DzYaX z&6x4g5T}AT2kDcT#uRG{&U)z#2S_jh&GBEo);#w{F zdK#mJ>Ee7!or>ezgas=Ex8`f|N6o5 zq`Ef_s+eBqX8vlZB>8?qayVH=4*GELJI?gUuGc~PKLX`;5`??3V#)s18Ren!s^ud8 z0t5f8>9}V_vFnJ5ARYpYO-&aByv+XwL4Y*Kk4xpVw6xLs>9@M`p9%9-;%*%_(wn2k7>4w@E|j_HmG{m^ zA42&lRjE8^^wB_$|7);1E@YUcWJ21y<2cc{;G2xg+}xWMG3}fSBa#@X@6Gg^yvGFf z7)?n6sM1xMUaiQU$;TLF$ZS-p321gZrWBcW!+dmK{8=%5aT&j(BNDOIZBu>z;(E)D z0v9`s;{^*R7`C`kU3d&6rTmFFO8MsMyUw1sdvRH?9;J8-ld$=OUtpRcU-H)1eSX1; z7(@hk^1{oFoV=8${-vvogJ0_90|=^?lR@&4QpOJWrA0|LOL4)U+LN^WOhF+uw-1bA z>WD=8Z&YNA+ex>#tl+o7q^U%>fcYf_Mx8FHo_bWWR z1O$7SR&NRS4O8^(`TuELpE+E(zFZJylNYh=w&?K?-@!qtNj=&{aYwt?SGy8IZ+Y4B zygTMeW0tCErh#k1g3}mCmrxF{i~M@iW!xNRh#5^pC@~XqZA_RPx@Ea+!McL~5KG5b z%N*CzE5G*GdMeKghBVc1#9y%Df5!7qRz>Yg(IgmGlwWd0MjZItOiyOI;eUbmZdI$%Ri zE?D)6`oYg{gLUcQRN0H2-x`J$&+mt^?)ySB3p-M-0blb2p!Ad5>1RlTiGA9QyX|8o zX4J2luSe>_K|##g9VMzsC0+K3G}7N^{?*qT9#McRO+D{y(WZXEEG2B_J!MNLwcLQR z;4qZv+>xHxy|>lMXbS*>ss^1PTx#Neso z$>}g`OC(&VT%q61G?512TP##u11abfqT_bI`(R}U$xa7fP|{*z#iPOtfubtF$Bvtz zs=v3;uot)OM%6WlI2S^g3pom8@W^F=LW-#&V!rgMAPO&(H%t^9gS$DPwDEPBN;cNL z>kXZOZ}&@*bUlOk{VLpTN2q#q6|P1hnN)8}9k6uimW&rq1}74eTO64Y2`Mg$_aBoBkqAl3NPwtv6RZ)XPA<+#zsb)r zX}()eQ+x9~;ZwLxh+EZWxZm`tmom2qaZgF=i^N%C?bbwLeFG$(y@uZ*$VnVpBlHHg zl|`V(^bwFY4uy)ma@mS*f=1LX+<0{*TedGPZD}n1`qIhG?&Bc1n?rJ%azNda#vhs^FJ=d4rzu)Du(* z`o6#CxoXrq^EjSd3piqmiSSlR2CW!Lt0jQbe*(SleTRAY)e_bJMTo(mB)fkzk2DrfK=}xHjhj6EKv1tQk z*wy4R8{p!_hjJ_kbVwGxUW-=o(n4TXx^BOgL`1cV<&%ZvUj82zyC3_VhDM;3j!cF*NtL9(o(5(2xbN9X5XQpr7-cm!m< zu1DAY&Uw)eioKU;pwtBMO)$>ZDP#bwH)s46priE5RI#Q@A$LnQ(mS?T7?NK8P;e}f z@<(g4L`kbcX>6KjcVhizR!6I-hzQ1hbU_v+0bEJuz09d`>U)}?eog~ZTnG}F0wcFL z4LbNd#U@zZ)}PzIs>&ua`^yHZnl9EnVtKMJDU+7;z!DR->Ahh?l6Jw>DT?FEo^V%c zyw4kb7_dY9T-D{I2{{R81UCoyxg3`<%WnW8hBdiH1Vcyf3d0WZ=`&ChD13QYF26JU!;r1a6gm>61jyUR)f|^&{^i+Rf>k`AQ^s}B?48#LqB1w z2N`aCbm*Oey?uiY(9hB3sImlx`OL6a`q=Vu{*(vH6Ov_R)jJIqAyEiZh!?8>e^ros zje~*ymw+JD@$AU#$LZ^{D%|TVyZmAHQCYPIE zxN>rHrxml47x>_~vASZzxvFzTs!#lp6PXHdc)qI+yq!iFsT0_Bx#9G-YH@?P&OXym zD`+r!N7EG9Q>OVjC+-uFAwWq9-tjS&Tm_ckyC-hbxLi<1fR@b`9buK zI`+a*-B4bd;=CTcgKVuyWr;6s2$R0AOU=kS6JJYI=rTL&=Is~XCZ>vLHo>KpaLmSe zT)tKufH-}K#7w-q`?7($@i_}A$n~&;JwGtb)gG_)kgA!hn23(H@Ftw=@;k?6tcozn zE`suIn*H_ViP(sQ&+#_M3%~nU4~Q}|K=sD?#YO8!?U7 zWMNoWFJO$|bNYA3dDcdx*ipD7J&FD9LXnY%HN*9Dt5p33R)cAm3$OwAbk(X<(vN(V zS*|cvi#~BW)pY1sz+tY#<5#y&-T+DD^5(pTu#DRngN?ry0g*@`a zW~;X9ZfAe+`mg_?{B)Rx*%?AB?E7nX8g#y0JzVL9dWsED|MeL4B|&3e^>=+>B!XWa zESQy;|A`dQxtuZgpcPIn0YQPJN#^M8@S22}dL1LFOESGT1LB-?lrpduk$>HDD!hht zl_5WSaOXgwIpcVCx;ISe;zh9Q!16Rq6AVrkGB#shVwX6hK_&-~ZU2?)sD4}-l6A4d z1I~uVd;JW!zJUKMCkMdGb8D$T4&DhF*+2b5!O22s{oV!=4M_f@1=<>R!>Q|oVWJI) z(-?>RYrghl9vh6$guzsLtBAv}_hdE8OUoHv0Z1cexoCMDJ3(%7RGgm#IK`9fyQ86)8=^1*=P`tWKZe80f@7T#GO$l9PIYI4Vg| zzH_Z>8bwlcCRdV*pq%m%1Kln8B${#NGvkCtJXzrfKS@x>iV*LKk63m;a9}%+;$mTnd{``IDFvA?MakZmHycz)(WT;oVL^oISCiWTT!iC zAlygP*f|;DT8pX}{uPS+^-{lXPy{#*W_)=2{Ie2OL;m_#FXtgxiie-BY`$N=7cbm& zo#yMOfYS%(=BY-SzjmysdY8!LJCA#hmeUcvz$n>|J4JnKpyG3a2Sgskq8u)o@5{gt zL;6J3v#IJeoL@rjNz!JR%H3|7!kfxBTSO^FFadBa1#3>JYPFn?@5%ziN&dA!qop$?|x2#kbV1Xv6=E}!3@To)F4dW4gzx(P`w z6h#&6@6Yc4+Vifrf4}8V4`QIA__T^HGh-KgYm_w%5-C@(e;8#5J|yYrnV7+MfYLB1 z$||~l?43d(Z316S8&URp)?Ovq+re{Ugp#35^Mt9wO*9$LeHsV(1XEl>W%;J$$1-pn z9C^cE2u`55%|4bGz>Q_t)3hf-!27B!FywTjAZRn!dXFynKHi_~=3l)jX(ZKjG)p)5 zEvJ4cIM-~-qtN1;Br5bms7Tc#|FSUq_tt?gn;C(p?meXR_%AltV>|xY|<@qwYnWGK;*dWD?@!218xk+VTn(qikNspZ%BXgl36Qc@%Yz^UzWsA z@d*=pMibsI=*Nzr_eM^ta_yVSJ2S*=W(a2~mWs)x=3ls4b#|+E^`?uKI0y-EkXeTy z2kRy(A?P-Ne=E`3mn8gm2=PNGyHcGWIN(qOyGXr+qd(nm_8ATO69Umd$z=?6IP!zOW zGQCP0aWeE;8M*>jSE31``^i>V_%ZrO!vkrS5i?yB*nbIqhs|knORQxKIrMh zjmrJX47kw4;rIIns_0Ft8{0c(`Z!sL-eEK!tE)sh-`m0!hE9RHSSS#-qMx7lKcE7K z|I-YpD`TD7kn@{+m;%0AA*q(}&2@9PA+=VdHR|vP--2)Xf*liQs>8Qt_bmCeu=l45 zy>fBlI(g@lXxHY=?$V>$32Ua97$EZf2tl2?D)TQwmAeh${o6VU*21O9Zp&OW_%6Y~ z#;Q;iaZrS22y1TOXglT2DrXR}a+mQ*7444TwWi4X4Q1XsHjo;%qt%TrcJlNk)Ncv` z>xd?UD&4ax5!doQ9W`voOxSt+GQIfCM@uN8O~lh7NUiBNRO+T?c&X8)Ga4H^A!4xb ziq*`oyV8aI>dio~;1CUtIK7hJ$4cg>TfK^4HrM$Fv0~{f(W#ZrA7MzE?KJ1D?_pK! z{3Cv-l;-|k7VF33{>b(bzu!BQG4W=N>0{B0WX|Av_RB=SOhIe1Vuf zi_eHz#bviJjvKzY7yxCTWp2^rEu~|b$Nji|H#BM-jWc0h{RDr9q|fQ=Q5w~@Po{!z zdI6Nx!pmT!bV6VuRU`KsxAK@dE0K3jr$^#`F1DVvh^Y93TiM4+Dv;4y`EyldBG#}> z1aGxj_Bsu9^zVW6+AqefscRz0AL`fENILKfHPbqw% zY1G}0$!xzZSs06OKlrt%huLZ4E{iF3Iw9M`@xMehc&^WLI4SBENY8eIKAQoUC%FeL zdv|=;E85Oj&ZBB+>5~!0Hkn@5sOXEkR6&09ieSN2hwmp{PU*Ugn94FW8o!*7tN28X zL><#^Z&1XKtx=%YfV&inV8Pk{c+kvK0&++O&+ataW6dS}|5Ca<<7LU`{iG`&SjtoE zF#1{9k}g`=c;;2NpUh6YL%cwF!zd!U%O=;J%Xi1&TIAxvD9)--B)?dcH*+W@*7%KI zAjvd^bF-5M?#0PMz?U5uF^cj5sqW_mvcDBDd|vV4`ThYB-aqq?z$0a=sxE2(6>kxLi51J1WOG!uN!eLZs%tz5a9aAA*RA&KuY&lbfd`MI{u<>G-MGO+0=Y==#V0C(V5bpIed@r&R25Nv z&c(>$VQ}(YM&>*mZRak*QfxyT#(ly&P{3y@n4eqlyEnD+?M(FO14Cu)lE z;Hyc9DT@?(gU3y%#4FdW6fh9hID9yo*8Ign@+;B)A&h?<37z}cMrGDH58fG zH@WC&)g{%Fayqy)AME@H7M%GhL=m(fel?pgJG*pF{{%chOVHzWXQeb1rc4iapOZSg zdjh0I%IE*6t|cN2%mPCo`3x=Lfyts}3B)VaF0yiKskJeoWn}IQnEr7qgy^$qm6*Pu zTsI1i;UvPXJq?kFVew493YM``P(lJ!;~PC~$r%5h`&&*o^acV;O_5VfZ=j;`crt8m zHiJU-8}iM?L=aJ(OZgk@DL@KSkh_bkf%KrBSy+E|(tdBlj|tzYrl2XmP5b3nDjdP%rTg4 zXQ$s$Hr0lF88+a1RAOHH<|-8{rjs-$|s?)8;8l}SE09GQg**HdcK%$6KEef6`^32Q>dnZ<337X zVBF+0TiGVV2=$%hufKOn{29QG;ZxI^T~>dYy}MqCxDB9whiUA`HRy?nV}MoD!zaa` zfuLOcrc-W`x7HYOd0(CWR!VV}LnjbK%*1A*TN%L&_|2%Km59$-PP7hvveFYDo#y#b zB=`g;>@*?`rgs09cB-NEul}4{_H5%ys1=-GDbGmz{?sXv7lNwdhl&VibR8g-o?VVU zH{R_V=ejg?BC&hfbQV?+N-n}5h6pmOlC_^DJRHhdSj853#c=!N85TTTEnQ2(JuUgz8Tj>vE8Y~KTgn!c#cwU3CPq40?g1Nvq2-q8AR;=GDa+1p(F!5D}*D%-*F8%*;26 z(;~1{L(6*w%>^q!o*}i+)ZZM+Nt|(z0Wr{D)Y0ieOHQ_{UQ$v8UFy&N1Byh_)43zU zYbdvs1lUk|*zr=^t7{}s?Mx!7mIRcklpPgfYV-z zLxK>BH2q=C!bacq?sgZWeHQ|oCsQE!h z3dIZmkCf0^gu|lw3Cn`TJPazhL3vGA(fR2a)XLR|OfbtEcqJ5&^L%o6|;Ri87 z^>+mgoo~x|Z1XxsTOM>1TH4wkkJ-uXcrGuO92p;ekM_MMvqxBXIwX4_*L!T^fiMOr z3l8f;&k~WlQW1{zyMDVqy*~2??E3e;IsX%xc9MzBsdEs0{spDdgEi0IllO z^xEcxLr~vlUVNJo&a`R;++29veG13Y^;e#;Fg>}V?*|LyDH6GKVO$44O8mM2$6j@{ z6|Ca_y?r|lD_!KPa#ja1j}9hI3B6|$mRzNYpC$Bg z6Si`-+hG!5gZCkO)8{~cRrmiRto7H!^u5GNjSm3Lk6vR9)RdzL)WLSsR9-Nm7faj!6Y~ zhs8Q639Fj|{IX}yc&RYN71A&Hvc{zz{=Tt&gYfD5F79Cz4Q(Jdt!GzrJw=sipa5}i zZrhUSuU%g$+7$maQ_i81dZM-z^Fq$w1dW2F-l{HX>K!rmy;r7S!!~nYAf*Ne8M?81 zW`pqX5D})`KemZw$j@BfA3CCloI?&goXyB~G??r)&X7T}lo+E9GS4!FQ?ou0;o_2pQS%#izS)XgW z72wS+dM1(BDHLUnMuB(*3nM>q6iDm5ZT_21s`LIk>0S{bHYi(8K$f_ z*q?d&h6G0!yPxue##w@cqrsON9ZI8BU>B4BMnxb{pkfN5nkppwlX3mm&O3tOpD}@C z!}IrTWA3z8CntZdR}2)g-shA12N@ma8)_GgVhxV!czD|r7OZLOSCfK{p7-S=-)0>+ zca0P`fhaszgJ zzBBU(Dp=}_r6=S0oanNx^0x2i52#n)l>M>$Mt*XXSKZX3R=j)f9oUou>Qu;^Z<{?$ zU*QOuALABc;e^HC*le5?Nw{MBF@1xOAlm$iSy?w`}_P^L974M@&rTrPaOdIe&E#~>? zH~|Jho!DBr@<}<$`_GEvBnDMSkuiZ94XvVUw&rJ}l`m!ij7BU89zLR*0L~wO&y&fN zq_B|}?>IZPFTS%BAuO5wO|>hfAiz;68YogGz7d$UkN2 zAjKdnyo898SlW;Es$ZqY52^w`(-yV}3e1F_aU=sqVrB>h7HluEcqd2LOk(bRy3opd z{w(I4ET*0s4-am}(vD0^j- z{X5^^e;)qwz`5u1dB0z;=d*73A&8k05t3Sc*Tm*v>G{JAR|kaIdLR1gRP*r?hsS9M za|h(^@!)fYazwGB>FYo*m=K=40eExY=}$NYNf9~L4;IjI^SiwLAXGg=VQ-gj#dJxh z?@NmGA)SL1?#l26OM~2tYIu?>4~Qv*S^+0UDU5zZU%oz7shM}Oq$r&);ttwxS?Np@GQA^16qrF`<<3T4d zHZj4Bh}R)g(g^<}l+~$)V8`f8n6{e3%+{Hf?#6$j@XJ5q>-qZSDiKaoI_u8nG~&zD zagCE)OSA9W;kfj79v+ePug%FfHAEj0qfXhAZW8ZEF>jOHW3LXwBTXZ!_TTeDky0O# zR&24amc{xet~53E@0NCbCEZ9V4!5?YIJ=r6&YE)h#wUa;5L;(%W;*ljj`potnl)i( z`Gt$To7s>FvRV?5_WzTOUDC8#tR#XgKT$3BEVH7I&x*#CQ26omzPkKjy`E!jEYj)d zdTnx_K2-VFGRD&LD1I{#h-iXAS7YQq~n9 z9(6^HS((le+xGk18=Oe(`c~b|Ppy7YP z=)Q)5tdV6sMZQSWkjw~aqrRGktCm z$Vds~_gWmWqWu8Y6T_1z6JoJHD%T>p1+cGHDl$F8a42fC`%;_^Ci;BPq@mXWVtJav#E(`?AunVB^CP&(sm|EhXs9UK_b&c)8)zH90NK+~pM4 zhyd=VW}Qud1E;TuoX%YFI89N6oA)i9=@uKd;>u!5Va3TLP3v0f?E7XR8lkhiMbXvY z{Mv|NMH6*RECsE3!}D^*Q&90@(O+RqzHa~Dl~b}6$4fp(Kc}m-=@Egojfe9R)wFAQ zJ@#BV4CD8R2uc&EH%rR3v}8s7IK-^vfae2QlmH>^`Q>hALLtn{lN?2Aa{XpqbqXye z;|3e*(^&GpKZf*D>D|hr$cwyo$eo0sOH@Exjeo3D4+nf2x8*pRJ*I*Mi{SUFy1|sfBk&$GYdu$&0@2dypmFy6*TUR>hSSW!{qsV>*Ypb8pvpJkkivS+Bt_}!$^oURlsJxi zPp7{EAa*_`UAKb#=ELeTvrc_9JJB4j$YdOmg}N+lIyCR`3?6Hk!G@g8^W0lZSz7m3 zVMG1bUP01OpuWP5KrOs7TMMDtFHZn%xdn~sSkY+n^QBZB9HSOpAW&Jmb^qi?b+m5> zu6G}h9%un=uT2Rp;V}1i=WnP|4E=_GmFU+V)%@NjwZk3J$jIq(#xGU%U-^x!e~H`w zcb$He(|psRVa!oqQ2(>CC#7yrkoZ&<@53%TQVE76W!Nb~u(zGzsKmIK9l8^Bk!_Z_ zQ8xuDuRJHW$VicMBXx)i*$r&N{fL|&j7=!ZmK?N7K-m~nU7rD)W!^1c#wTefBs0)4 z;vfY?A9*ia6nu}Nl)R5To4i3^67-(>%MplXF@?zjgc#N(tpMioYG@g=BaE(`?_2AR zGJ^Mdx+OtLW(>Sk2)N_iroGEL%@?hOWm4JR-C z7p1PC6O2O_!KuY+w9mQ&>;{Y00!+Mjb`mJ<6oB>#y{N5zq87aJZ*_vpEaoQNFz{T0 z@BIo$2p2dkbS!_A-3CEdFM-E4On@mxQ&m!{Il{#Z8_XCx1i}S z&bs^fI63u{p8N(@a%?hEQ2&d|H5iilAvW8c`%+bL*C9jGXiIHeI?{k{n)+XcyR<59 z{H=VH96U;X8T`$`+LnwX-k#E3RDWo1w^w3{R&R54n2eM6wQc-#1P3j_!pWy_iyrtWMefXFg%K z(^M&+9(E9xPa;?t&r4mDkjc^5NkNABx((wcx=Fl_edq2|sUhpbM(-;7<%;&>oXnoJ z3(a%;Pq&PaKeDVTe<^Kqc`~M*&*Rf|!)b&(B2ljp=`I~QYmRqeC?c&Dl-UL3QVtKO zPH(xC_ZAJk@XB>W1IHGoD&P!^E5qC#(F)$AEQP*^Dzk88d=RL)69S4P#E__RhqJ(u zz0j_zHp0(VTtynI0N!dNPyoV|RC+x5aw9h43CR@l4MYceh&s_}8aC@&-sOd3Sil9( zUWj$N~V{>W06Q;V8@ zgAI*4)0PgeIG;qi$u1~dVK$o?n==olLId-QOSe$OKMfnNCOb7N>gmU0$Z9o;oys>h zkEY&!iKkQ^QYgLi-83~2+2;+@Bg5nLQ=Z&;1Hmr#_1w6J+(O?tFZx)FCp;NmOD z%%*=%i~YDfz&=3C+fsbL?a0>0t6M65tw3e-cC6;?7to)epEmop%x`9$j=rPLoq}Td z|LckmF2GD83|iqXtt*=pJy{HqM{e*LitOTl%9HoWuJPqE}CF3 z9BGO?oqM3NI$ZEGQ^~%GOsQMk<@ZWI;f|No3Va<>BTfIzB3hNn3_zRCY($e;tv1~o zOsCB`&ui{b?K*zyb7R-=mH6Y+qwl?9c=~h{PBd2d2UTAs5Bqv{5=63`3lRpXbbLGyh2M-?D z=dJwl8@G*_nCtT?mM(s5QmT`AS^Xp#CKQIfP$c|PDRNuF&LQy(CU81q8NR@a+ag4W zR?=6=A8QR-xj3H($9wBGWfG{V+1bou4o)38lVXjG(@)E{T7bZPUVYH->=<)`#n;VL zm5LqNLpY;q=e;MR#fCJZ=yU}EM6(G~mSI&6bn@N2+6^!Olmin$%>qVGnlgZb_rmi1 z%Q_^ZLxY0)P9-^t&pv50%kUJ4?b?0s*~wCHxIgYJOQ_-Tjtak;@mU0LvI4j@D+d$n z6jW5(R>PK3YKh-l-OI9PCluXxly+WSp^z)k2`|}s#uUiO0+sP;c}`^wLyt6b+v##+ zkOk(f6YTZ@{9d`dN6rQw+nJYp8#;k%ur@)o#K;F@o9wXN5h{Bk8b&olS!E}C4jxbj zCOF;PF(+EtHOetB0zF+Ha4uzXmIDVrOx)GYVw)XFxo>ss7W#a+>3>QO1uPwKT)D7nCu&wig z;s-zyc{X94js&_nmNntL|ExO}F9&pHPd*A$R-jT{_gfBTm*}Eh-7^=f|9(^Oj8{q& z;*lo98|!7Lh{>8rwvC0WQszlJzz&U7^t0#l+DMy00_r-^KkJCa0ql&ySnP+)Z`CaS z#AK4DVBt_uv3aCxaU4d<@o~B;*%QkQzGyAzM@xP01;(z8XNjJ@8J(PAJMOkc6(JQC zWehORa{9y4tv*nC5vLm#I#xxIYnC_YHsJn#Rmst89|K*LP8i4*w=I30UB+x3Y_;1{ zR7#Ef6nB2M`}SCKbMP=o-CH@EFSzzwk|XKm1Zb@8Z!1^Qa36jclk`)-YK)*# zD`780o>=SVy2i7J5Khw{EnOd23_bewej31*N1q#xB)KAdkAC@EgjoqwU}J{dBiG)8 zgb`IJIu1b*L1W@p=W2fD(*cETkuY0f#K%&W0a~`GacINOU@)Tt`c^^6?e}U77`09v zC7=PQe*eV4sLsCnO#^jl9$kzv7`=J7@q;uW-I@+AnJS2nh#s8#uNd7a?3;(_GZrF5 zdq{zqBfZL+*(uAU8Q8N7GTsh!8WJ0bWKfPNdL)D@2#Vcv0Wm8x4uw$M&l-2C1RpRn z>GV?BWlySbJycU9@ToD9nSfqz1kt>ocEYGjH)ds#2DI0NREl*2`xAlxFEiNT=b~Kw zsBGH3I7H}SAj;7DilJs8OsFAki)=hyuVsH}9nKOTURXo-rQ?fD&m2%Co6t;&8^pjH->H*V87fPKww8lZS$i!g z^)twp_li=S`A69H!aXs!RBjP$Lz9K@5vs1CWv%y?Y#EkhlNXT~956;>Je>X_D8)G1 znJVO26;_&?l6@bnxX}Yg$YInneKH^hv_D76aBBr;x57*V2)WJX6Xo!zke(oBCjUfF z>akgjdxpHzpwGSENVX1fUaU|C6X9><7?x`#J4vwor~h0umARqi@fWr{1q+{0j7B3_ zxjq9fjxXUr*7QW3S#5%|GPtTK$$q6Ip_x>uBF00W`Jx}kK%gtyD0uQEc%rC4=3ZIv z-jIZ!WiWM+sdcKcnR(1N6*p-OL0X>Y9q4- zAPY9hDJGDKr2@FX0S-5ATu*gGk`HY?7v3dB7g4>B3I)B#xHy^Wyq~WvU-}`Ls8e(& zvv|^J;_q!|M<(J;;^zbM9P+=I#|63MzcG657BET!%OB)rf>tmO4fxz|Ej4noLw@dEE zIo7~(%!;yLF-fX3g5Bk!Orp(MVmg`II&pvY{#e9 ztoiz{*FtJp6Ftb73{DxZT>{tgkra7jst!t*bcNH6CthovB7xpOtFQ6K@%j7aTY=x@ z--yQZ!c`;M%UUi@7Np7o69mrFaT1c4_(7 zDe|H8Vfw@|?o^H6Z_1-a>iqNws7?=_ynLb|)4&wlH{&;y|M;GMmjqODL+>)h_F}YL&St4%R&HR_>{uk&IpDI_nrSDM0<+0haO|Vs7^N0Uxec}frZG@{uWyR)m zUwa-D1bynfne-KrGoz3XJw+Gi{gKCf<4ujO@Q=d#jaC}&=+)&MV84>bg3v$oq2OxN z`+3oTY8O4`N$y3{?l)9jZ;?MtN6Ds;w!h4nXz66kcvgKbmBMlp+wh!OCugp9#uD?6DrJQyV61>l%&#-b=tMGudFkTK(n}?n*78YPTaGaggJ5VZuO290g)&sA~F#l42wjwzg|$K6G0ILKQvaM674s#m`1=(N-C zU&=GJd!D}*X?)+IVcd@f{P*!wf#{Fc=loA>^V-}Pj^c*HNbAXcNx@OGu(`GJ?_q++ z|Gr;}nH_ACva%ri3bk%wly85o#`FABJNdr%uDjw*?r({nozia=C%p=SAI_Q_kT5Fd z1sJ_E48+0+#ZYv85x=>u$w-~HghYo>-hS&n(sUSRB$@_u zOkG9xshl4+(N2=IvTS2nw#<@T4ju{@U;V!V%vqjE^Yxw~E!rKEcF7~)k0&tVGi;DM6y(tm`=>*SNgOxF@(o~wzPfz!< z_x;hA`(Y5gBnb!%00EJTKL;Pc)}320Bga@q7BUF<2iA*EzYMjy)@MzWT)WTdMlnuqa zphV%GH%UEg8ew|D70bJbZL1BxHv!7ICy+<}5hMl@oGGV=((k+|i@XM}S>EAVxw)P( z_ZBiJOdf#eTd-t9uakUAF!mtM;;3Jr&2r0f83r`W-%oSymMajiHSVg+fAn#&P1hG% z=Abqtu=J$=qPNDx4Rpih7%BfP>GHNHo#!76hkA3HA`$(^k6 zYhKuZJ%mQuwhWR7w#3{g7O~<$7?d7S$fQbxjZ#BjAb9nx--OJVh^QPnbduH(FXyg3 zxILxr9&X&JEM>+@Q8BC&teMT=u+zbJXM9VpD<~g`K!kpT{_U6esuQ| zs7GXdfInHi&~NWN{e64{mCG#aZ2lvpDsIHywx+M7YpfomLE zAb}rg9t`_lda)xVy#?3@bo=jLPA>rV5OH+p)?g!{Ve?dQbqltcw?8X?nQmERk!NGS zUP0dyh`9gaLSc$|2>ck7jgaVBJoXS~HsmdXju;;i&lpdd9ga5uJ@DEhfy-FWdb3(e zq(1936%>$_#yc^2AOyuSfKeEc!rYKUtaus5#K9e$pO(LRLfdF4&;UwJF*7$IwAZb+ zWXeB(S_a0Glz~2PiQ>I1?#J(~6$HqWUqAYcbfwfVzRj*fJIg|5LdjELOwKN|+)b{e zC-a-UXxASgkBo3Cc%K<7KQVdrbET8mY}tww{FBIuXauBQ(nUW$R2OZU8TG@){-rw; zEXXog8N4ve&5sNMc;@QthNa(RvMX}Uz)2Mhg z<|oi(`Mp2}pj2W(^rZ5e#cU;h_&2+72nzTi{0qz0VrmD{?@>I-Gp{>w+ab%{qaAc# zftu+azGw~Ctn=%_(dO-WWFX zg&Ug_yv4tYBb7NKdck*z91~Z{Y5P}6DW;^%UH#Z|O>ceyfFCjkn>xTDcxji(5b&OM zASp6r-P_}%1&?m)c~juO5dlGAc+sD!tSDhW&wax%h=Z>YL*-)PT(QncqBZU(aS0$w z;#D$9-fN)%T;Ym~EzQ1`(4xg^1Bkh&1B!TK0WDh(^GPV_@v%P01ppA7@6D78U#87y z8`7lHG1aC`#i&Y~PhQsBxa?q9H6%TsK53uxqZ}u-sfsP!xDx4@2M*3*eakO=(K}}i zXInfOB+mh96+{;ZXtW$FKL=zJSpbx^G~AMK3gL>#{27o#bDfrtb#=-l&T zLNmZ<^;Nw3Gw&_iVd8>4@bUuLZml`B1_^`hxrh8h5frayX$oD*%k(Y1-3x*+rm00E zEu(+mdW>g*T#l6}*uujL8mmIV`ZKcD;Wy8%Q>(#5C$BP`ojV* zo+Z>ib)xE%C}o=IKX2Qk;Dl&_Kk3Qr2vL@T)I;)Jxs&1sh=NKqhC3l&=KkD^ITonL zpzdS@g!mjJmeJ$x2bxwuro-(f0Mz&B_bKw|!S#qIct_5xi;c zuSo5N{L1VgAu>~cijSEoh9Raaa^HoDvW-mvKiKu45p0>Uz;@^UcLM#0f$!^YH*1}L zk338~EhjmQ;J;n7(`9^Hw0BeIcrKEGpz>X~X8Ic95ntg`X={-b&)JjFnq&YiE^C|A zfr)MWw5+f!`(J=7W1-;d8}X0hh4~qBx3f14v$L3PZq&1l3o;(8K7K(0alGJ5*Tq+~ zD~}TLGYi{_tnQxTa<0wH*vWGB6*Dtwatj^zW;Jy#t{~2VgP4n zJ~9=StZ)uiaHU=~^8{LaHCvAqvn))a@x9Wh$Au%k1V>EqN_|6pJuT`7#? z?}2@y;;3=j0h)%{Ky}HFD`65K2)Nnqb6fxTC+vm{t$zGjD@+Yqyo9xGsDXit*BFn? zP!dz-E-d+E$tXYmB6MzWb1NCg^g<6))LjfeFGZHi(vcC$7Uexc36f8p3dJqZD90*@Sn=9^x z;I|-)8NFJu8t~6rr=CaNYeI!TfH4vo+ezd%XNEE+nX+c%*)^N>W1U*XHU1M!vB<%c z3wJTy;QS{8>(ww&tiG8b%4#oM10!f`Bak;Pf_c@-*(1wCWSSDo^qVmGy|vG>te%Ni zpmBK(!z--Yq!E%Yj46*7u6RJ#d%IXInGRP`aBb- zfd!&y>#t-S^5)efPpl%)L5L?6G|Iwe9K-s0KF=# zyW1k^pwE>_k1I3xdVp7en1ReIWJ#q0j9|Q>s5C~Cs9a}MVdpJe;7?sn#Vj^(q-h|X z%Dy*oPgx~Nld&kYdlwPVEMn9N)&t!j3Mu#MXV5V5ng>0u)dLG5EpjfqILW+9Y)s3i zg(6v3oipyd=?7rOGkl)eNfIAgqJ+fD~P1&H-@NHl5ymdD)z7iM1xfO0{aO(h@@ljt&R52sQbiX>o zinj=j1LaHrA4To{rg$bAp*=84o!c*`HNUc7X{Z7Z+{z0u8o(<9&SWZ(v7g}_xk+9X zkXW5GFxKDjvpA9{l)A%R(5_T|3Qqm^IT0J0C)!_Gq$4{rxG@Xo;5lGJRM&;yqqWEN^VOL~~dh(OfI=KnYmOHnBb#|56Pu3NV#-MH6NJ@F` zWBZ`jTu2kV!+S{aFRFHFkICVvxbmH2D*(ImJ3VX7KJO;Gr{N83Ozu`dj+=GUd*gec z*Pjo1M~tkiPuk1{&}#9K!`&o!kS#w#>G{qvs9}|*INd$}Cabb@irIfm6P@1=FF%K! ztftB{Q$?H(K=ggTI7XPDj=K7G8HJ|u%)Jl(qeVI$oPVSwJPdoR|HeS78mUjl$@h;3 z!_RN_WE(eg(!hc4OMk{1G7pcc)OR9O4}xwI1y!!9KzuTRF!HEMxL{d|*uMn~4F9MH z3yjxX^#6d~{(;7DJz3^xtO)n7=TeSa`VG7EiN5x#m4(py=HRSn{|vzbuVDz1N|}Sf z`2~y849$QxJe}8kD{P9j(TAY8+o)O_>>0cw1ZL$LNHML03tL{+J8E_!S*BN*tZ+%F z)ME$G6K$uF%3y5f{qHH*pQ;-}d8gUI_S>EXv;CO^0%irzYi)nM1ifP2_Vp;}9?$3f zFpy0$76}E@KkeCcGM_cYzP7#oy$e!v+9o$n6<<1*#A4( z3awqET(x9a69+Ny;%hu33oFtf%wXvScPrmt$mcpr*O?yA`#P&PglFmeG89Yd2n$Fw zq$*+y?K^2?F=iyjWy6-~HF$|l0`l6a;{Dwg*9@%E<6Jfsm9fJZVjxpLF#4|4pq?8mTENh7L15`(*sRlm4 z@-{W*0V(^B4DjJ`JwfS5-Tq>_wnEwdyXZpy0V(Aut6|mCq2S!P=R~flp%wu`idm=6 zUvTJcjXPO+I)W2NCZ1i&pOG%FjZL`CJE1Bk%CmeY0KDMJ>-`oU>(8D3Q3J*8{;9VM zoSt`Crr*KnT<$b>|0Eq6qHQV2>p@TTb;0;?J*be1&}clESxaab6}r0Dk2WgwMfbc&BP1-uSOxg79LJuQhSEJK5Jp)RbsLbgY$}}IntavRh z*p#y?E?WIm6QqX`ZH1drfsG0(K}HcsZU@cKYL~@D>4Bn>M!)T`npp?3Wglf^O3X;q zfyce(=lSb6>%imBujml_@&h_5128>-C<&myA_aNGT~%=rn(&^+ko@d-H40GZbL4W8F< zG%Gfo#X7`FJrOIS`VPLqF7RSWBGc8!b6yH}iwu=0Im-~$H+R-A{^>{WN&7X_d#nQb`jpGcmpG<4oSrcr8wa zV>#x4-ph$mi0dp{27qienYscuJqK^>eH8=`bnCP|Qpk+ubPpaMVTz$BW1LE*BAkY2 zdMXPQ@>OK*^y0e13=*uoyVa0m*}+!7D_=hy+Dh5k=q0GIc{X6=P_FlvX z!Oi!5@hs$M{!ZlE5`E=}i?1)r&%ov4m~pP%b{*l=!|=HqQ(g?R4B$IvR$vP`8z$dk zKIQM#>ob{wqioMhCaKPgEo;7<7Qh1x`4Sef>UA;DMUe{L5A^~Jf@4h%RvGU>Vf%^T zb|u^5w~KdmOs6g(o*pv8vjP z+Pnt1+ikzFLY-o6SxEP*?qy+*6ulM|;qr$qZpRNDH7CHiS_|V&d^%fV=N-puH3`cP zx8w3oZ!oGG&F)Qi|G{ZtgYN1?OE>nnjSVPnO#ucrOK<_OLFFVf=q0oK@#iSQQlK^t z#LP(TcU?Ia8cBp_fQi?!6m{JF&K*d4;|5<}Pm|AHbGN6Mi5+znkLO^cDvB0FQ4n)W zWkKVkJ!Stl?I$Se!n*~u2<229BP7>BIHgT%j#O0UR#{eBQ@C3mFtBB8?>7?gsvc(@ zdpdIkU!bIpKl%$o?JQTsIXR~0-Nb$mr{Z=|8TpV%S_P<~9!SUPFPo${BPV{FqOgw2 zjDuoP>Nb-ObhSai;j>2kO9;xm;mxb9&VZHtUgm$h?KY_jtD2AX{?>*zO;A=sqs*@B zu+9Er3}A0jE?5M;SYW^UiJ_xMJime^jsPgSUyzcP0SgqtnQVL#`jA_soRVPo)(RK{ za&c7a7ES4m(Zp(_2|T4iatLvcIH%4Bfn#KW|GzP^b3`U|DD(eUXxmJnKwo` zi8wm%ObUt0614*?oWWd3pKJo1iJr9lacgc7(0+rih9{0YxjcWB?QSt_Qr`B>*ise+ zdK4YH{GF;pA3U%TP_%S=lY^Oqa~B=Hi68a0`jAOiaU#BsrtjF`WEPjuo%8&=zu(_zwI8`!!l7l{@fzCsG{Q!rMsb{iY}JVal*2REv+5G z1{&SHa+;^ik^qmkyuMfd(C03B`$uts7U#7Wg*yt*3`LvR&l!DueV(|Q9T5L<+tXBk z`g|=GnX?ebajYFxJ9V5t7NhzNl0W3EtuJU218Q*af4BRNdGV?=#Ghb2c zs9;rEg~(8==hs6Z*4}^Xmj=RiwWZafI~7K+V(dxBG^4JvbeP4;o-;*?jIKw8N!}9@ z@y7m2Ewr)xei<2LGnF0&gGx{V3``But2H4%aH8yX7meL5HTFmhvr{@vRua z8MeW&fJPle9RNwQ&f=jmW~9*O%&=lM?6F?I;_~#fnRY2$QM!??*V?kzX7$*Ih{X?2 zO2wv_nN`@&BYve`Gy#*f{AW*JnwC@DQdCMm~)}Sn6d-{7zrG z5=M$506FkTh6e9s(X%GR@Uf9SqA*316uS%RVUnr)Kyd(jPAG=|dYF23P>T&kqyfE# zFCHg(=bgNcBSp-4Z2x58O)V5zvVOXZiHo0qmQO~Gd}OS2b&9OQVfn3U&m8P9kGi?g z`{~p!Dax`eVu+#)6U?b?A{Sk+{R$Q-Jjb4H6k!T|!P2qItZ+Y#?-UASHR^u_jnoM@ z$H{dakR8Z)Mhurf1g1O~&avw_7J4T#&(H57cGg>ORz`fe>ANP>|JhxlVGO8jRGc3> zR!IBMsb%424k_=v1pY?tl^_Ata69Ru>13_0I(H4)kZxu>rAQ|_VpH2U0vm2Psx+7* zB|~_kVqZb5mZfVxL`Fne-6?tlXLuso#iBD8P_C#AqDiY-&6u5V#=NFNDRZEiX0J}H zFD)GkT&8<~j1(+R5Yf!bx6?Z7uAnJsrUpa`aian#6&@PGKg@IG*K=g&cVlk~+(=qH zay@LzcuIy6C~aJW(&Q*(L0FX@%PDa`hyvb?;`U$xVUSmZKlwf z3E$w;Y8gylHjjQ1mLO2BcC4L3p+ z_2TyRr2B0A3@TgW1z~$1Erh?ii7(#=NR5$3i3(?UGm3KBnV|Jahs%5=e%THD1CKuS zZ~hA-)bBpKb8yb8O*x1VhyNRs!?(pmMbT@##pWdk9y`bAnBd)anGR%bDG_~(1G*TT zH_elQk1a1i#p*yrpCUj)MxElN7T%1*zDT4Z9TSNuS~b3rT3F0{*HWf%E4gA9W4cc_ z`smy`WKqaQEZC=V8(8X9_MaR%%$yx}AG268ZbX^)S023aZ~W>dPw}tipu|%cB$Ne6TI>8APHyLCFlM$;QdrN)$Vq&@jQ>iI*Lia(6 zCq^w7TPfFsT7@V(F-eIb3w)G{Itdb}a-7eZif***u-5pMrb!JzK#~|^sU)P0p`vd0 z?lQIm^)#Pj-r0Y26ZrLh!vl1Eg4I>v4W0}qmkG?-Wvt>0OMZre%By-ST=dlzpt|;z9t4Ad9!>hKUfcht?fihMAh1JPxPOAx9@q zMMaPuFpvfDrf!5q7)&Q_q!$d2Q{VGs*Ek{UPXIs`m<3~xIq*bfmaDPdV&^Pi$CJ4$ zu*POn?O_B_)QVA%ZIF+?>D7$BipqY4_7oJ3vwQcS#8hU;pXG>%D=YjX*Jc4`1!cD! zbLbULAX;!|KYN1sb1N;yB*MgPze)Tv$iA4$OO(SR*N_6P`pu*ilanYTBGs>MW>QZX z#wX(`IGL8OgLu>9GYTWx1-D*LafmP9tgGhq|#AQantFlrS}MoGK{?JZk=Ox zVVQAj@@6>lqVAycisbA)q|Cx8*|^bL@(K08EgBvsbMGO)mD8I@8$#w)Be)$`j!hjU zOmeR2FTYXrC$eXDi=0`H7`2RAxo61(#pk5lq=8cf&4os8$4P|#gH;I$Q9KY_#|q$G z9;{wUP|8ixYJtli@u|7cJ}~fGm6ha`8MaT@#9xIz^VXG&ZVL{+vE>LG_LE3#zV_*Q zul+^S>ej|EWt-z@Ym+>gb{Sy({%`<5$7hXUC`S`zhP*g97F!b27O6rBI}h-fZB`UW zhJsD1%DO?yVU8VrwS{_LvwpUb#?)194_@4D5eVi$|EcU7Q^=CtbwboV6*x^(hMBYmXD` z31ldqU=wL38=}B>O?~mXA!7V-pTeyl^;_e`Rl;8(N@gkLYnP(iHCsWZyExO9dP;QD z<@uJ#^j`pzTgpWv@T*EnB=d2W;!z$avu?=DJ>_(F_KhgIHwGSD?l3gA5Wggu-8C7C zq#k)Z!iK86@wc+ChT~~LQ8PrD`kyGC!VvtHbx@r5A=2k;C$rp z8lbfQ+c!tOPMUf697g6k(Ih7?FCJ`h5_6w$?@j9|Mf?)S;2#vGq8FYP4kFT=Qdx`5 zUL3hT3DOpApA7CDHt=&xrY3|Wv^l5bhc0lyl( z?W*!k%FxMv-VbCd&@P~LQacYb6|4PuZm&odSoeh%P1TWXS1Qo1eXgO$wyib#sDA{| zz$pLp(*{anCT81!%K48qioYrQ;^$g~;elp3OWA{#ZJjQkPK-5oLellB> z+K@BofOZcgz3~x&Akwc1R+NKiCm#`HA%Ao2Apdr_7J^B~QAh3mtkiBFGh6S?jg+ul z@)mieQ!P4&{z496?(WNPlZI7R!%(K6c*b2+H-Fll&Qw#|p9Fda^O07q+}XeRS>S=l zVIAc-k0W;|n@(78)4gqSYJc$GW;owK)JCKs$#L5)XD)EYgryh%DfBp)6so+MV<|NU zJ2EhWvFYDu?RW*H?vm^B)#Di&TX4K$SBOz|S9i<+7q75guOfwI)~n`moF_+j)mY4~ z9reKP} z=$ob4cODPYo3Qq_Y7ayC{nA>b&1eivS5L@m8~gNsZ+)U!tMvJoa;tCAQp%odx&g=d zO=Lr-WZ{QSr`8JCBwY>f@-b-reE$B$S31OF#RFqNZd_>ignto_11KGl?34xn#Z^4; zd!^5^4(bS}uTgeh-eRN|FNWUOZ=J`hHsf9B6qsv4a6~ccM zZ9+>?X+24q3GLtmt@?cW;Vwq)HtMViV$PVs-GV0vSTLTYGHng4KC z2Ms=Ku>$zqmopVj^hp;h>MSwU!LT1+4J;Ptpo~Ve_&A>&zz!grfHgz1p(MD_o7cg` zp+%Dj;s+195mVYQhx2O+z?Ahj1Z9V(eGNg2i7KoYOVH7la}IVejdvb~5VXRM-b{vo zSf6tr_9#v8%z=1s0bDsx5yDto(%cUGk=< z&0!q`FlzW+5iv0X&`dooRd#=?uj?>oZf;ycet` zuO_ukg^o9%aa2WNR>nS2mlA1INok+qH3UtHKiIppK}{vE0@+_njGORl(oJL8Zguf4 zCT`d@w{gziAet7NfK|cXe`sYZ*I@!>AZO;Frlu|@NvBbD^y{`i!Yxm7g5q=yO{Qn0 z%#iXuf%6lanD4*1ZN&RBp2_A`#Y2w>sZIYV5TIh!nBu;Ck9(ffm6}rkZNq6}@tf z8s47B&q=4>!a!Ecp!)kg~MdY=dz?qrcm|? zynGF6%~?|JYnC+PG)=cHM~CNd8nr z#T~#qQR{900KcmX)?Pu^{m z>e)rhrN6znq@;1BIxsu-oX~67;y|+e^a+zY5_xglgN!s8hM~F&SlJj{!0h8)1>9Z! zIV%}^=U1u!1cvlIv9`C}9y$$q%~F8Jjq&nmK?Npt@BL!JogT0L%+-F-&*G*=xo&w{ zDj*{|!7{3yHK}+sZB+Ydw$$cg_r2~W&EUf&vonYcBr2fuJJ^L8%#f1l{5h0xa7P3( z8cJ_c+y+c@0&)65KvhPH0zY#)b95W<1btZC3OyOh)Z+%^9c(gci{BNDpDT~AiSDXX z@$Ow5@i?vnYb{q37l_xlz4IT5VZ+Td2|^5ihZwDq7RO5|QMktpz=e`l`udzT;mwKg zOVdiw6M_@~jIR$>!_z~cIUU!C5JTao7U)5BK;jMJO9h9M*P~vxX>NC?@X+5COLNAZ zi)R9Sy@d)+6nG&y0q=I%!@?G2cnIUwQW@=i0M4@?onmH{xLgz3w5(gAeOSehojC;g zoNaAoxOA{tK;l?wm&%8_V zAh%=A;;h3JOPDgpvU^c{`%H|(99 zm6amSiR|qtnPuH^_SritdmWNKlq8!tLb$^rvYpBn5h61g*)l`;y}!Tz;okRtzh1BB z^YKs_G;z$Y%;j?=jl#yKswhP_gj)@h^e))05w`U9jl7mV4=4A}47<#VtZY5JIdx9-lK zH6!5qt5M0ak8c;KO%IMQaywsO?)Ml?V;51Px5l+z0(q#Ghls*-qHXXekdP69Ao zm!I1{S5N)-lexpN9e5Gmv^)P{?mg$6Y2$KsJ`~(;TBp8J^IY;^_Oc?9Te14@OidRc z2=}83RdItXfl#r9?w%-Xw_qQW%{xxVGvc)`-?s08H~FwI4Me_pyE)l)Gae+<@eiOn=tKc^Z>xCpm$OBV z4osP_*r}@0UhnZZ5^-uA8l-is9dmRDp2#Z&u_x9y{#Z1qki)#UY5PZ*VjxbLnMYDG z7%wY`+7<_aDQGW1M38C(J61{B91H#rLk)^AF{DG_GyUJ=biD{$#?Ca7V5#@dy(!-~ zS&dzwud^((53rfs#t7k``u9T-Z?3)YrX+FR3&A;8l;sP_(h1?;#CN}g(h#4Lxe3I{ zx<&FWC*!K%fNBrGS&?lUQ8oq-@rM$Ul;!2qqL21$e`h?Yzxz!<& zJD!T{kTMLiUWb*F+{iaX?TY&$$&w1I+0VsQW+bq*!--PQCtsG=HyoiDdz;k#Tv*N% zx|nr7)mTtJi-&kDH8|@!H#&gs_LnP=e-NbTwmc#&Tuil(t)ZrX2lr=>$`~3Xyc`EE zmpLR=5DN#3hRuAkGIF28&99AUidQBvMs(!w7>DtSxe5|X)63R#F8VR`Ek6jkSLqY!$pLEmLt`}Sd7?eDU*2kT zb1f`n#buF@9e%6DPE}~(h5Q_bCVp6D-=O6pU|9A0Sl;~KZu!)AD$Anm{>%)w;{>Xs z&o>^lQQUhD9?PR*Npj4K*z3EFoRdeH{ZG`F>Z-P%jfM+hVb%H)Z89f&nU^=%C>Me= zX70qEmfZU^+U(1WhH>uz7!Q=cr!bM|Y9$A6kruKML*2il;7I-dcyt zT8X_mC<4!pzrTJvMv}@d%BsA^N$9f&bt^>2BCzv7+DO|J5x=DGJxJIA{+Q5e3|z+7 ze3(eoR{U|!{8*o#;}rOJt4rzHNKvX55L^@x*vq_-CM|Z?1R7G-YHEEduyODpPMVcP z)JQJO|HuUsAM=~J`%fc*0g%xaELPH+_|x3l*$6vUVO@Im(*l24ap1g%*FE$!js~I`ODlt8!(vAgVd#dkNvbZgwS}b` z&MNNlHUTmdS=M4{cnqog2&O>XjFKeel<7SoXH7c5#3B_E;7K;^d7YKiy2uP#eH(Ke z1AuOj!=NWrh^#Y-XbjKG^DvxH2--=M?Q?&HwTr-$jY0T-W`NS13WgvY5arxTw@_1K z{62%S&ykSOOy@u0A|+n7UdbxfIIm`wmP_J!i$QcfxSr;le8x z=6rLsRO`)-3-3Y^9}EZwJUA4fd5ZZXN9<7|ilw7NZa=azJIvk!=SL(csDnnTeOmee zQ?x7@5VRxp8`P`ySU15-W&Q;#XYfdorjU-B=m!seD|4ad))VTh0T@>dG5?{bN_6g1 zb8ez0pvilDw8}z^Zqg8wT5~IFHL~?%@NpiiKWV)^lzCG2m89rz9er+Du(7E#4P~DD zPF9n)S@1X(Be}poJ4ni9$83f;Nk5+_G+Ux`Au~mKoNGp&px>zE z%Y^&A3|cHByEcI3bKxP_0$YnS)_B=j4zEDNBTGdzNB&$KU)q`CL4=IkHmN{}JYiJh zeDwW1pWOKPeB^FiM&CZr^6I4Ocrqr9Md&bI!xlHT(Mjv4nYuU$r$wI4BG?lK2{r+!FMGc7OqJ9zR3GTHXOgnOB97tH+T z<$>X)({ABh(-}u7wkENBcTKmT23YS+o&#&Ts;EB*NY%=)UCP{twUaCM|L*ehM*sUG zy?y*__1W2^moUdLeI#2)$Xq{e_kYvLk3&alN;&|j#7}?y_yxBdnL!3t7P04oE&fl1 zXsK@_d$XwdMzwkCB1|rNy21NraK@lgavV$&dKxV`{v$`0@Ve^pprVXSRRLtu>< z#IZyU+P=mQ78V#op^dxn<$S*ISTikT1<~LB?cuKg#E(oiOkM{lV+;d)(wjx16)yL- z(Nva;GeXQH5Iq@6bvuGe5X2197avC3=juTLP1>48Y4Ir6EUu@wfN)P zp0OAc;Tr1<&2o(piIA?)5K6|#@~=me>M6D^^RRNjip&ZIFyx%&Yh4Cn}iF5x;T^XF&rVlzSsu&f+{g+f3hg#N?#xHmruOX1n*E<-` zjxIY;W@uHM)?FdFv8hL26QkM!ii07kbIJ}2bOQp|B)un4tBD*-eHc?P*prqbF!FRf$Dm$UW;jee1FEve9zrM(oKfVR5#ZlLu zL&I%>bob5wVarAX+g*=}&yT_#l+Is)E6=v4^Hqd-d)t3L@X@o)VDjba1#aPW45u^@ z@NTl&saxH{KPUSImk}Tg!!D-^G=*Z^Xx}eN>0&?sxE23&G>DyX)ntvTV%rxH3h7)Yl^p}MR(Uj zo4Dh1Ka95jE4a)i&XYRx|M)+XeK&L_hzo3tq{6Npn}O*6njKtf+dT(QJ1PRPG@pW2 z)!|PF(>u!(AMeuV9zld|aD8Q94AsC>|tif!>_;IdyKPO#%Y z;9t<>A#2Zy>KWyB*?LwiVX7K3&ZSeMwxg&9a5P;6+&z6v);4MpxA1J=HGiolBCzbZ zga9W#^2-<=k`^33(BaRL)I8YW~!{G46Bh7UZ-;kP48oZ5>>8;mL z^GI(sc23zy2^*Bhatwfi4gyE^1rA~7*sofl2vpa#oZbOT-`P|m_tL~1e#Ye2snN&2 z(Y|mj8&bN?|8VMDd+i>7EhCvO#Tn_p^{?1_+}bnA3?bvIMaBM2Olg{d#r;PHlN?y| zpag-wBa#xY&n_?eB!VS`r~kz=bC!Lm*;)hLrwj-IVfXB$mSYc*k~IG9jhc3({8JU; z3a+Q!-xLs*n7)qpea>U4$#E7N!%@hr#FjkJ!VhSPSt~sYKq;c*2@O1C5E^FpH8-jqYNqf)6`obx}1}cG^M6Zh&>E_onbWImNf=@ZdoBe;?tmd(Hy-%AFps>8rhzIbYLw84Uphy0yEz zJNAu(!9^cqPM_|5&r$T=@m!d#mVZl)R=wPqsQ%98*kqOIVQ5y+;Fb^a7JPA zVjVR`YjqATnODW(OIgB_{lJNEr=*bR(CjuMNH2bC8jun{kOxu!8q{P~Y^w{xj!Y~9y#i+XeEvpwL@ z1}yf*z00bNu5$h6tYCv6(3z&bp*U^FPfd(v5>u@=O+~=CL8ev6*DtXjyvdMP=`r{A zW9Bzss!zgVtEfOVot^&(wb7vusiSePMj~(`I0(6D+_FQer655j@76w8gnSiCyO9+r zIZRv(8)u+c(i1{vtXL?9igC?z5MxbHehi&r_~bp3f|-#ph_Cx8VJLmL7VJ*0=#Tpn zD<+G}{BU#BuC%qk@J=};8*p_?zv5tGS@^{zxna)4Yaxsq4?U{~J8=za#*BxybrSR+S-6>k*uOw= zMeRk=F`Op(y?g9&%t+er*UT-irb#WEYfye{ypuwm1p-dJMKh4kpRxUT*se!N9OF>> zN%6m2&a$rsbZb@p9T0`&WK5R^fhLR4g$jJV)jC>HRx_hHA04Ip=o(=Xo4-;=O5}!f zowDKJ$lAaVlB7hxSO&(`=J@m@C^)|Fn@|6<#pZF4st4I9$LlTmMnSd^t}Dnk)SPXC z4*>4qgcdN5A2=Fgf~Ds@^9{jbQx4a_h?I0JI&6`z57(o8^9@_|dBLz(IJ$8GNG@Wp=n~+y;e;K~*-aKYUKMdrUk$C)8StQ`ch5 z(d^kddmbCSeaXDc^0cJ&&N8WGbT-5-7+2|mlvexntA#TnJ%$*DB?N|`<&-39d6QTB z6X&PNvBaD=lma+vGAETRN?>N(Y^dn=pBDm0KY!Y9c%}(2T?bBIJM`ogZ=dj7Mlu!E z>8Im`yV}trysa0yd-c_kvY|7-EijA9;2JBF!CE1y6@J6_yx>qk9R35qx6cy@MHIyolb{9vGyn!i;a?j^S`xUbtUddfrw zytn67<=%b&d33Y()5m|mINRa(O0%)Cc|af;9gf)D`+^PcVj7Uv^`nJj=%R+*1t;5# z0S&M|fLvbsdY4(2<`7^{km#`XmuR$>EnsPRs^N?i1?hi^z6TH3RoWrAz|e8#40(@)>Xc2?g21@n_ZJIIswAE zTeR^Ys78?~2o84{f~9=wvc;V;YKq==3{{nr?7?w{HG*ot|H)oMrxXmsfH6=_o1?e5 zRfF;)B53|?S5Ph4`vjN_`KUnDl@?Cd;XD|)mPGX;>NgR^XeK1Tl)!-5*+5?a4 z)t?tt^>~H?=Kh5?sD1tD6Zd(5W0=5odZN zv2n&J;Lq*!YjOZ9smKnvT<$vtzV=zd`gyf$LohP| z1p!^b>dbEhE!1q^ItINj$wude^6DP2>;w|x8<#bSaa(edgb{q zygQp|o>fp+O=dKByTw_E#hB%ZEo^1zy|kc-F>_%wh`v>>Q|6Jja9k`z4dB zWH&OYz6vS4TThzi=kzqzlC_1@uTRkpcqO!amr!U=SQ>`blH6xME!5zOpMZTHzxid# z9Vlpa!OH^Ejbx*wJCjfj zZYwRCyIa|N((M5kEjKcL04n_B9=aVovC{*@-w_+vyuw?~;+sX(n4=Pa)r3c6_|JF_ zORVB<`S1AUTJ%8GnEZ?c%3`VPPh=4Wf~9LThbyvyBLrc<_u`jQ)_Y79}*HeOoo>3kEpt&>uXXA1{ zy1lUuybXuvclnQ3Pb^~Z%NYSX-yjVzv2V_5uV(R#>X}1|MX|}R=A`X9n={`IXGg|E zgBf)&a$B}ir|F%+9hCI}Bk~0(g752oLt*UI4SL3WN@({gm@GCqEe=l~^uQJ|y;e;E&>HnZ0 z9c+Gex<0lr|A~o+L5j?`HdpYGa|+Deq;ayXon(zV5Pb>5#9ikbx@!#{p_z5>oI@>5 z;Nar2AQ5uWpiqITR>#P^#SuC)MjXm}BOQ+t3(seJKYaf6+$n#~)6Q=QO>Ey27%=ZA zl;>w&JOxiDdL@uK+5BsM3|k4Reir?q9g$x%Zai^!8EX^uM;5JU{=-ZT$*a$@ad9Sn z$bTH;sd2q45<>pm18X!Xz^A5G+!?soV2BjM3Vo&IG1GwB)M+k;`t-N{3pUXETpMn1 z8)bKTR+Sh>=3ih9QeQ}k{p!=_9hfb+af;=-7r0zkjnf>2(yZ}`?CZgxfnK5oX%<5C zMQN6KS6A)(0wnz6U&%Yv`99E0pdlPeQ{K%-C#0-~U z&6#5$hXE(;M|51yuWR^|htEDStIr^?|2uX^UMx_nV=!%`xzi=&AHEcv?BIQ(&Y4qWTgH0k-FpIw0ax-y{geA#PZJ_Ho9AD@ zalKJ23BfMY8b&yz(>*fp!1W;C<_NM-&Z84SpA+xk+0B~F>_jp`eLuY;U zS@QbJ@W`(k)Rbqn%$dM(%jnILfSDgQT=8?FH0fV}`I{ItJxL@;fO5h@#$|z*8ie+{UQ`HeN4?j>ku16^tzV417a;)j03XK zgB!!%&$IU`TKex}oa+gXxjvgb%sA42*7|W!e&x*Zve`wdF>P9_K=Nyb)>l{C2ZwXD zFFAEa3drP;C@ykQ;liStU-IO=7!2gifhw1o%oNRs<-*aKtJ~90A4e{56fj~B1JSBt zCL~IoG$zpD^N_9ruP1|dWp#X&U#x0>#~!Ok9+4Ozes1bJRofh7W1{~b-=uK-S6_>n zV%CubnIWq^MZZ$XYnya1kh@9MU%F7tq|s;VktRW?@~2=_CsQYZ6D4x@fv?t)7Mk$Z zemqiO_~%dS){6iBA@Hz%VP?{ALXqAREf#tjs?VwQ1g?}W*`lLA-vuQpKRfV7d*SnO z1rz&l-kh|D|CmIr44MquP4GLxvgneulLwQLMbJ52{K*@vF;H}~l=5r!5_49etCSQ~57D z{F2Mv?Q3L)<#F9x1zykq97~20RY$Dm7Z4Gcx9iv`hRy(n>PaU=_fS1L3J@0+gF88~ z<*`mvrQ7oqsJ{-#DLPeX9a)1?YQdEP&4zvrupLGt5`EBIsui z%30p+qhe%H{$r~5{>Zc?e)5Ymtwlp?nNjMrckEHb--z%l@Q_V#raT?7%_nCSfQtg7HJO4KrK5kHuuMp z#hmXs7qoobE3}Rw2j%gz5I%gEMJ6Yh^X1e;$IsHw^=ZmkBw^cx@oWj7UI%om))6as zc*?npKxvRavM{nH7gZX!^^y9K7Yi}@d46|&&#vB)F(QtvM(?q+QDO2{H@@qvW@heY z7FEhF`r6^#YS@YMQN%Jdnktd}pOg{oxCt`nZLyk|(sa{V-^&;thuMq^l%>gJ)tV4t z^oZf@pM`9L;%jFLMnD(}dIz1-0EdFy2BKVg>d>2WT6`$W)iK9eeMlMHlh15~ZSOWE zyBX5|Sw#0$x@!XL_-=S$X~ERffTnMoU3blD#>BFWcxWHm1lR;#m~oN!uwUEbGNQ+A z(+lr;PGs~qh2zkG%3|h2_y@U}f(pI8h!8FI$c4hEc!vE(+vSH-`$5rv{3zyHc}G`C z=@v8==0})%n7NJp{FQ28Ak#O}4SJ9-AESx93coEbVG>8HqkCQFo1&|4Aml#P->i#< z+GI9N1V1XkH{0e?(VO0CAhAB}f-{%O7 zDymW4)$S-EU!U5csQ4($e8}kq;S1gMQZx&tymv(Xo_pP!8TtG?OYlSV3k`7r_ODh= z(G@1Wij(RY#RE9!2zetHvd-l2l9np2Jv~bR8&jR(L0+uWfeq~wDn!J;y zu|5dFyfAd}_5C_V(}H;a4yb4`vSDh(iF4aQn;|zX>MNub|9p;q_~HEZV{)xedf-Zl zgzC+;b<4JI0_ZkIlAtU^d>U-&B$8<(i*iF>U8?C&U zZq;SVMnN7M66;rT8SV={ATp0?MAoB9T4IiNu1AE#O=#cq+{l%oBu z-@heUK1v-?Z#wM$XPLCIpup$0JBTl}k8ZXFzqa(1s~7Un(MJkAz3 zBUW3Uc-nLkVAuZKm5DI#v=w&|2t?O^)E^%l+`Rn5e`$R6Xm}&d^x>U!a~_gJI#!Hj z0DjO#h7Wo4YnY3HHh{UlI))=H9r;MA9mrLnujgIJxjv1lP%O##B8V%IqbD8J26e(R zzkg|m_)j9GKE$ERi6W8h{>C7Si3xFnWe>I++qIA!J6q3C|0OFuZHEwxfgsg#`x8Ej zaU{7U7R=;N<}zg%2iR-u!?sX`$?R5?=XY99^_l=iCvCD{XF4BaBoO!6LWU86%dTiAT_3kBV;u((1Rltblf1k*=&&NKku*RbOoqyrSg1#qnB46n$0 zwGTvS5$QU+*$19!H#yBtwJ#s&VxR;@>q5v4Ja1z|L$G@|5`-+aL0dKP{{FqRzZJx)_!x#iI2MJv{JlMr;93xQly=+`08*IBmZ<)iLq~>S{AQ7G z@-1JUNee2ALr6X())InIy!WSYJD_MqLq9s&tau^IG5Jn>dcydmM~(6&UMtE59>H*b^108vE|0?F{~1?KVdrISmCN|3Wg!VaAkr( z#N&DzTwhPv%WTdTEu$kZX0G(xtRcmJfLrwO`(!V7D#eDETt;L$*^GJmWZKWBZVgyX z_Vrm_a?+4uokS2dXWU0ozJ;rcRsAtCq69bk(avU^zA+jpJ9Gu4>HA?TpwWSGoB^LG z>{+Px?WOe%fI=t)do>gg;^tW!`VANVtgdRW>-Vh+7E8*m!o>P{^+r{SSbb5ah29G2 zqc0P>AMXC?3gS5~q~;fCyS20~`pizQNeU;#VsW72%To|ta^~F7`BPbsz->ZX?|sqg zo?upkel0pobNrAIC)9X1nzmx(xAaPRAa@)PR1dD4F^fai8Q!-=K28Aplr*2 zanmaHGY-zzi8Ue#42R|;b)smP-n)w!hNX}awgRyBjV8f|iSYRPffel_c0I&q)DgoY zYZ%U);Y`79;;Km9rTT#cbC9;OS=6OswX7!x*XPAc@d)96yqsNi)bIN%$hJP|JW~?; z7-}JQ#_;PNmB|N}xALS{SN3b%tn0>{Wu}B{bmxxAJHqboxO}iXp2dwhp>O+u8I7m< zEh@Kp{F#QR;+>Z&wQmEjF3VU;wg7FY`CGYi=M!F0!0~r%DPAJN*#E1BA#-AdBBjtz zuIDUfl^Qm6=r5(8)W&I&L9<4t4~_#Q|9laRBiBnHvT*_^A(N)RJY_%^8sq8dStr^c zzVNL-UF?g?kDMGAm6M_1+cfLcQoWXuHlfSuL5AhG{{nf@Z-_XRcYFpXrJ+jZ>OO`P zm~W9kf@cHGNl#L*$W6`D`j3<{#b2}I=|N6WKKYrQx0z%uTE&$s;30F0)1)rz>Fplf zm5l`&-dRpuYBJ!nJrUl$x$C$thB8nrwpW8{)P^|3KSy{}JQk77nBw>* z45}FseTU<93DjR5XjuF-cisfncG5z@?%Mq^!Y6Ijkh~v*^z`61anu%k4wU3nS1m|8gw9VJ~{mrYm5fuGb-?zR_EQB<-)>7D*EJRiwtepjyf^XCSKxI4mHLI?`pq*;yOHI$hCu&RSZ$S?N`?`X@QjL z+n&P(EvHSd|UlSNszEbxT__lsI+YNuH)Bd;1bW{5LQ}es1pJENS_YIZS?&U%r z4ym0POaluXZ;Q-sf9~nu(mRUtQj-o`Hrwq64dwh1l$sltKb0Y55f5H(`7H6eY)7_b zSHN#GpB5ZA9(#>Jr3<7FJ9k{E}}5ke%Vy{ib}_k zj-+X?b@#t`*sE4C;uDmp%$Z-ax_IVC19t6FKlThblU`uSX4RMAxtiDFzAxB>rG@5Q zltPELxgJBUdX+RIjo6%QlCS2PUdq&N1_lL{KwIsmnpg7z9)VE9p+f-(T;9=f^yM-8 z!v|V-(v(`bjbxxz2b!{X##c+47j0@xu8=@pn)Qo>l@XlryK|z z1EQlkI$~Q*;QP#q>f4reN@dlY3JJb`_*D7;2@mA0j|1tELiii;%-A@do6OfkdH@H#K`_?lll(5lJ8^YYALgE zM0|h0bWK{4kQ;3Jsxe<^h!C1}b$jbSmq5Lj0}EF+7ElW?x~h0FGb(J?>d_EFCF)|a z3++)7x?fe-Ub7Iw0m%ANI*X}aK+HTqY3<@LC`L83>WYA;NOeV5pl<{jBxx|LV`oV9 zQbDd?VIe&xD?Mp5`_J_YKU3c`Couc8Rl~z7pj>ChQ2EdG@Lj{*5}|AMuL4OT(1E>b zJxF^JD1+K!lU@g8Bp~pH>fXS|k(MtW)TBg$C}diJ<0uK@^*4XS`oG7)F#Mgsn;=gc zm#w$x+`GTxvr( zf(Y$}mN>0mKphHbi!0YHMxPXUxW*7{q@K^jv*WW%*uYL*9;GHHLYxD-nlqq&@@_m3I3~kJSKrhUR*g>O9zeDjk=YQ`qG0&t&c31Y2i$AjFU5CP%9Lq-Vby zQ%>UmuA-P{c+63{-GE+S=!`GvT6rS!SKJH9pt&dB(KJvB zz#o=_m@up-gJCMGAjDCpY$&cP9RKWSAYk}C19oa(DoewBAgW*Nm+tkOT1L_!PeIp5 zMRbLT_oL}C73}hXF&cPW#A%i5M97l#zb?&QJ)L_Z;syO53}6h_seL^ z@wSQ~%SP45<*DO0x#17&OMHWz?M8Y(asPI!tB3>LMm(YDs%!hWRJpg1F$br=el9Sc z4!?3Ccm85pG3EY^53`JcK|k5|2R z@64uu3+kdTq2`jq;QOhjiFYYK7=-%0jfn?%mZkSKv>c}x<*f@4)**K%*u@PVwfea~ zlJ%&nGXz-M8-^c8-fhH7tqe*J8(b_(TnI9-*SOhV=6ZEJ5PIBZ_D2r7f8YZ8Y$BvB zm5;KioWcaL7_rRVg;E+(`{ zADW+1tAk#gn@$6%DavJ%P|1URehbShK9oHCIrNrlAu?-jW06*^Oosu#{$d zjSR;U$&j(TckmV8HQmA=y<__aaRApT7@ks3+l;7!F*W(<&4J^(!gm8>2BqukeaLIy zaYc!pg;bWOi2CtAJ<;8@G(gqQpv!-qV@o zn%Ds6q_PsX1EF(+d0ls5{deTVgja_kb^#h>A6r?EPtMkUgEM^NUtDl>k0lU5lQya7}ex%3C<0vjTED8^-cwR7UN?W9<#kf*%=APxY>E z`N4Dx?y$#UHGfi)7Okb)`Armb<4YJ2F}$b$iQ?!)?)`2)kCwD4U zCiu;=K^J4LkqdnozHiktVpOjODB^!QeI1Ys&pX@8?8sBuayO)h`jIR8maxx1f&t=WMYWj|i>SGj?w4YCTrKUR z0sR**SI|X&Gwn(lo`YFS$^GNzlYb#kV028h=H=J&afbSe7a5s z!~W}QkZ27;%wrl?&sjv=X#63NP7E+Rmt@X2Ur;nXGynHE9|zlz5*c%?_y;By_l`>8 zUL!dK^o^1t^P`78#Ofu5@@&NJ57X|e0k@|~{OjY*g#GVPI8BDi&rquve)>kIYxm6ilxBYt0DgzmcdH^$ z{ufdWi*)}%Flr%uG;cS>&^&CPA=ZWY&|-+R7_xqb9eDXfQjt>q`vLQORh9#D`j^+< zI8y)MdcSx7kL3N8y7{N`B5ztg&cQC2Cihs3S+W92SBp4J7XbLx-`gNRkX$Ww#cBQ? ze&V>gA7!q%z}o7dzVvW}qSNTM{il8S?KDF~-DXAMvc>Kx(&Z{o-(^Q%Xm;((OV`qk znTF6;4`NL3Lf`zH+%z0#>1(LXBLfnvN$!5BYSLAvz=mAb0jc_KIkVYt%0~M4ezvHG zORd@dUkKmDA56R(4pGeWklE!cpg_4h^Z$B16MQEvi&N$SlLs5)y6bH++*C#->j22+ zewcrFf1>#f%R^g6QnJ#z$h8PbmN#&e2l`~BKPit3$p*j&vHWpcZ{AMk{tJGlA%0HV zn`6Mw8gVWky)SRp^#FPoKK&->hkJ_*NBM6`T=sfEt$ZwEZ>jO+%qJIHpg>z)suhEl zkziU~)vCI7q?U1IDcOb{oj%V56Ff0|(*Al&nAD|&tJYRsH>L{93LX&ua5Fam?cVUR zczqIe@OrQAc58p3pOh{qQrXDZF5BueorR$W;DS`ZI2zX9xN!V^vt{}KM5L^TK1a!Z1^W3 z%vC$HJe`5%%DP&HXf@T_#HY5M&UlYmsk$pg4HYq0jEC6i_{a%3s?J@cSZQQvnG)&V z5wg4t#8`U-v-r2zeF`d1$)xmM@6()ec0HH^tN><$A(URM0#`p*JRX)0p)}CU1~7}e zR3O1y2vqDnF1fT>XtMjyj;4BJU&8@JCXkRD8ipb?Zow~TvF?03Tu&f{I71)}|2~|0 z@S6%Tk*t%U+otu4Pm6!q?sTQ7F@8&WQbP!O|HR!c9W}X);M+$0?mH_N}_6YXcFM~%0M=8N&t$q)RO(U zTI;e0!C7dAzn>HXlJlrng@3ysA3X@Jjk4(~1&I?~Cg*W?279>O8md){tTg5a%_$XP zM5bI6tD+^yHxvYM@wL-B zWr$tr($sq;ocMyk`8z?%3#G-?7r%B}_lRQ@4XdjZgNw=^WjE9ywZ$1l9e;Vj3gEZ> zh$qBb;R44=TQON8#E^-4zTNc_C9*Ayo}22O!s);w2Wj{ z?U_pxF>IeTrK4TD8{`$u^IDW8Y0DV9){1*rdnc#JQ>5;u18nS1qiw!AmUF{iy;wJ< zi%p06Gi$`v_tO{T*^H(-=K-4sptt4l((c?R7QYJN(;@mEq?I%%pF*g>;<&{{fN{M{ z$DqW^5AHJa5@O1kYex34^2+y@4?4~(!S4EHMv)JH0?WG8HOGCD3!Y0@01KG~|@E@k4G!>6Z z<=X&;1UC(zFB#ld)5AAy5;Zy$1uU4jC$qBQ-D?T|$I)4aHTkx2cmV@OD&3*vKuS^? zK~hGiFk*moOEUySLApDnJ0w(MfJjP7H&W8w_3r=f+rB=>@jSas+qrFhCqdAB~(!H07NF z51LD%p`s-YJZDXbF0(oNQNwE>Ibiywr6#JU3r3?SS8DV;#xvNn4j0tgTl)BROoFrF z^+SKq2gkmic)5Yy*J7tEFI088gGG|xH8`U8sfTHX!BZddqc>noDw69s*#xGA{n~NC zbut$MC}cNq>?9UC&;{eHJpGom?2p8|l6eQo><`YLZ|xkvy8^HoM8E$88}geQZg{ULbwj0mOLBzDSwp3!kqcr6G<%;XSrqZFXHTz_{%JXk;Ct z8p9c;^F*|a&qZilvdxb1u59^?Kr~vXm*k%NJECcZUq9ZvV-X#@9i-hGrwNrMp=mFMjl6rLz;j zOB6kVwB{9ws+b{2NlkY>Ca8D$U79CW*;n4>$AHgQB^d_RH#=sQ55z$41u^lwI`D_l z%OL1Y4+s|{GzKPf8_)wL+J&v$YUg+V%5S~%@XpG@ktwU*6MrGnxbE%Ha|QT19fQ{0 z{LZ@4Vk;Q{+a+Gj%gYnzLr6^b{j!HFu4>bfyjJ*@^i|>*rUfD6#M>t9?O)az6^`0S znQ^4y{Lz~rOZ}XW4_;3|OFLj&NBTBaO-POhf6B~Fzc=Hpsh&>2qWx4=!yc0QrDF$r zRkzw#7p!3H&J+pscHoy^c(keBw|Iep#l>*G_9r5TM%Af3yN*5hX@&S%b@`0r;$ush z?+COIUj-(8>DRBF9WQ}VJqas)b7wjmuc8;_udf^P3N%xr{Kvaw>Th@C0Q1VF zH(qnu!w;QPzb)zVe%srJG{t57W)&}rnossO^4A%^B#g7If=>+~!M}CecfKcj_}X6^ zhwhPFlG&L2P77__->n~RylWtOBQQ7DcJtZ*54&1|0Q}wcw~p}b{H9cjiCZ75*Ra&X z)iArW&wz2fNZV0Vk%at;5Gf3@&xKmo#WZ7ff__|=Sy9{Nu$(0k+PaHcT;}I`;z;+Q~feb2n^dk?L5@_J+Ny{Y`}C2d9SDVrWd8 z+u+qr!*)b#n!w;S(uKuL?XFaU8#LUIg=Qq_9e3Jq@n>qKndxBse=tP_;3Ldit&I1+6pvYg)ulBWJ46W_n#cM4|WkD3*2l2BRz2qn2)9F2^km2R0KxE6x$C z*Bs8{nFJcLG^XmYi6yqOJvXVLGX3NFjk5@D=1RXCVu@=7e1$UXzq61;kd4Ub;!!h! zYj%G~iCZkaImf=tZ!hRS?&k(jB;i}mF_DDY>rIF+f>nC`9`ga0W3#%iWhid$i>6u; z6Aj9=-y|d*A^rZ-&BFv=jtE>94OTpe$ES&wy9LT9^XHAGTBS;wnibdCfPN@OOYCGl zCbB6dMo!uR5uhq(Uc~!lNs~AQIM=hrClw2IIPR*MoNga*jESs8nw#D>oYhvRb9i@2 zT!*!7rX9|K8gB2vGNT?#Sky`C-JY5YF(>OkG;%;iEq59{EjQVpb_T|^7gpxSMFuTj z3?(^!eWMvxXgqDUE~W?6*TVu+D7sj#a-z7XD@rS#Fr;;fl01ur}q*d3`)EQeU3jF#FfL87AlL zke_Z7I+#>dB>^Hyw%U3lMqjpLb{GlR$vW`2fsb6e2V2_1pp8_$ zi|zIS3s+emM{Lak-ZRZGl2nCk!X5=p_(3-!(Sbpi8!VhB+&R?aFV)o46dw3(r|Jjy zh`+cQAd$zoQH|#1ZUiMD;a+05rpqqb{FU!$q^V9q!pZDZo0o`wumjO&e!iuQ3)2qNSI?Fy2SidXt@s{FFTOsxT9jU;9_B;F5AR_xQ>I7ROYb{6I>v%L z5KVK6uM*mC&^SgYz3!+%uJdmX_ct0ULIsDe#MKdGZ{{^nx-Gn%yul}n5EHwU#94>e z0VAOb?i+FyVwk3zvjgQqUCA?a#DxBHV!T1nX5E)E$UMFi(J~}r+=!%HB(bJ9^NwAGvzJ!>b&N-WD#XYA-CV3-fFUx*5yye z9rw=Rh-sAfmcXy+a`To!0BY}oezRGIc`2Gix9_|Z`BKkGhQef@L~sId2BvXhBd#FC zf819kF<=FhP6e3buL=37)7;X#YW0~MBz(OL7PbeoHKXViy-~Sa9yU}@+Ie5bQVlA; zDl1S@c-hWyAjTVk2e2r>O@OK<%XZKQ@FqJgI_&T+w3O~&;KLP6$wxwEJgw(dmTGq>gz5Pl8T>8Q}yW@d&=GSbS^8bM$Hh&7scF&xbc zM~KPNrcj4&d^2rj9%%jo+)S>vBVO6>Ux-&JWw4DOPq|Yr(m=W>TMI}wYgU1lw$`M zFJ`9<-S6w%p$MQkN=~YxrNp-oP#uo!ABhi}C_7K zHX7mh)FR#Xlm8gW&6nQ=Z&JwgzI%=0ya|tetvz0f0BF5~hI;6{8(;8i29mtC$IEeA%GB(-)2vqKnw>-|Vtk6$_$Y2AEz z(=-J>b9f3!Z!sw7>0=Q?>`4y*_xq-^o|fVC?|&m; z^SQ{JHNhOQHoGMnm$(!`*OucKpE}FQQ@hY&L~+)LKKzp7s&}pB9xm#-&k;%0-*pep z2F&iq$^!Gm)2gNp0xy0P$=AH2Z27C8M;X#&Be`P;6#k_Gt9wsno3Pcu4$QTNZQVJ8 z4gLUYvv1}%XWd8tQ7b+Y(?zX!v<0g6C+a+>|1%sJm3^I3W|Ldc&15C@sly07(yxO7$Z37H5IC7gyZ-6)z zv>n^QI-W5lC#t%V%hz|-N;JimUYn!z#r_F!tf45?8@tnY%c8yTiE;LGzt^Eo=Qk)3 zx~3C-5Q3o%c0ShF4d!GAzdCZeHyyBO`ZD%&4?~8;(yC(_pX*7S&wkjC49!dWd(rtc zE8ltK`?h~)0pEMyFl{;kU=I$-$sP>nQsdSkK4Cq8u(9Cm=q~~IqOO5OY6HwnH@Odq z&cFEKiqy>mG2txu1{7WF1A6`Dsy|x@2gFFl-XlP1}fymh?iV9Bk*|-*U~= zbo#%I+j=*$JSWqvoy7&Su6OAcztGLan*QJp?Kg_=?A2%0k$JJhhq9s3XWQMIL)1WB zu$e4ki3yk^@%Vn_&cl>YiY59esEjhPAQrtr%E>1f5vYzvmiyd{y2=Xi_D%x7ZiDWZ z+ZhY^DtiALBp&rT^M!W(<=NL6F;}A9FG1RRj}lLCOn~1|#4=(+18V&f+8`qagkg!_ zwInVVL;10o73$|EkGVQH9dn~Zt0U_g2HJ@j8f@d}eVHmcSI>x=LR|kqk7K4&zp77u z9g-{acA!6hir^kX&eA%oewhI&Fi7=uw*6!)SBMhS71Jucu$wn-&nitU zTusvRVUmxLHBO*RXRprE5t9AS82G|WNybZm1BtemTPVJ_X{YOQD7bJYEHgX{Zz8^~ z2{;G3U_#AaR`ggKxVFk~6oiwmAN{l9DvLYYauu09=Vr&v+5@UjpTX_%NH{;+j)pK@dW{=GI(yP4I@TSOwL8FHKTf{lRZ+ljZJ#U3PyO7e{<{ zS2F5ChKD8~|Ke-j#NLXAuYe63__0Xj&t!~-5+nb0xJ*42dQX~GD2 zUaQnq#a~k!R2t!G&io_xA!elhR~kW1XuFoAFuT!-&+8E~q{p?PzP|{r+%Emrd+=7* z$NhS%c&9XK*?q-E{dkCm?;{? z_oYe7N6U+gi!X1QNjbTp+-O)21&1P@*QBA1VG-E{J)n@2x59lo3-4@m*7P_&<+%ir zPxN$3WSc%+4kg#nFRpw$m;bY9uU3eIY&VC>F+XN2pTDFzw!$*|goyjvn1Ih6Us$}? z+q<4Gx3uB+(7!WDeZY|GrmK!GuYNmq9Nzrnm5BWt}@QHcc9Kw!y#3Szy8DN!t1d$_T^fm7V^)o^zTLIRPuJwIRq_Mz`rP}8B*+ED`v6^IoATjm8ioT64k@L^2UNd z(8fOrE5V;~y+^^e0g{qJGp_+phms)8@ePk`Exo#KsZ4MN#s>pad9^1L_Q5hG(l{8N z&hda%F)0UlF;~ulp@+QJ!tXi)?o;law3$@O2><4TQY8JSrAIwXtkN_nFioFJb@!{* zKRRVUyyJr7LG5h^Oo0MOh~wzU`9BSHb1gclOH4&*GxE2lx(FC<3+#Q{_m@$_lx zVrUBh!yL{G5ghZ9V*Dnhng-;hwOEVO$@hv4R_8zVzfHm$Q?J>Y=J_>}u->k@V_dHz ze_N$?Bx{sMlu^B96YBt22+cy8o85v6m`vA4U(70Amrtg`!_Ogrqr)nA%|EdgGtX-P zec$tZ&ECgu%(R!~VUzhQ7(Fc#;x*t+vx_%C&cTZ=n&%i&PP!T=E93PhPgLA5(O6gFD{plV0Z*kkY1d?;2 zH3=JTCy4#s#;$5RlW)H@Jj^J@kM|>%hg@0#S7_Z`pBApi*!k@*P(}@j7Ar|c4w+sB zaVQHa>#nqp@#O4*TPE%9!D7IXnGuE`!B`szR>2TPTZOWN(4>6O5s#aR6kS=4-})b-9pj7f ztF*^44aA_M>QT;R*jg*mcQ*`T2Q4S@q_0I6Au6}!55`N^dfNOYT2#rhld?x$fxRv( zGZ7Qi(*Y&9-RB41Jue94x}m(2NVwPO=qq+-?=D)k22YGDNe}79Un6;Y*wuw1q-8!i zJ?_b~pgNc!_I=~hf!(;EyY*lO=dXEox9q4SNNwTM00}^GX@F1DtneI=LAOMEZx}exh1yyA4Tq6*E|*R&07QcUdfSVK49c)mNz^A0=&!TcGH!SWfu7;yRSSW z_(;z7S`>R*z17iCh7MMZ1vbS4z;!)If7ZDLMJ9%LKV=ki0*=pe>*ws#2)fq3XIO!|*@Eu1<@k9k=;6{Fro$&|F46ycoIk50!7^bGSB`QKO{oaSP`B(F~}m@TChL z@;MVJMPgB*s7uVbn=vBM^x%x+`ma*pr!!EY;f)_AJY@WJq)=1W!RQQqO1W}ODl7di zPF7qSMNktefdS+i_F99U0+X8A0Q5(&U*i&ZR5Q+Ncu2JGR*gtwObAUp-a@x-$ zcv7BMzS&(Z{O0opm_L{{_(e33TdR=*%nq?DYb)MU$4g#>jq}SemG(+}jTFqQps{ia z?&snlGO(m(ifS{Ly3r;|t0MpSlV6N7gm>%cpM2P;AR_6z8cBrvdYb|5zp}dGYnz|) zTFF;6K{G@cnH&r9U0#beu4K+zhoC`z#yZYe)d8PsySFC1z(4-hP!0PNP?8TqBJupY&&jL zG-L=klt6_AQnWxx?C&H(k7dHoDqK`KGqtk zk%ap_jb+uPA9>|t#2}u`nZJ!R!!t?k=h4T;n^y{BhtZEjx-VbLPwI)UUoAK3!^^mg zVUp5~HbHe(+jQiMrU#3)^C6YK7dnVUOE>N}<#j=Q5EXeT_*bD{FHjbaMD?=MRJ=1X;R9GgMV0X%e9vg;4)m{mREnyDX7}s z^u=1!go^t^9a;L_4;$CxojE4~zF)q(8f6#{%!o=7xR&%-lJzvJD9E7p;niui@*GzP zQis_j=RBb*cwOe1wttk)uDFoGQTLH!tKYtz)h~Wkd)YC6w@M z@;@5oiR_rUm+8)wGcN0NpW-OsRnh|$$+02xFtOw*;&}gE`wy4g;4$;dp%+~X3KL!a zvQID^1S;00?LyuF<-BxR7xhU#m64tu$-6BLVsd<+ERQi|-4HV8Pfx&+Q~W)2+VzYZ z6EBAT)4^>MwX^J-K4aErv}0^af%1*ja#JEzGMQK`uvA02{q z8ncu1spkvf48Gug=WpxDYi~9DjNGseS1doEC$Pf5id3elRR^b zA#!TB{cWc`=)J=f1ON;4)`1LS7Yd{YHMxL9WCiMc%`#e<>T4@lfR}bOsK;fgjXh2G(bOw$lCS|4-=9)@hSV8w~U;h_H}acJf4i zlBJn>tVagpKzLph|6^ zWqg$F#}?atrrQ1U{J)-1)(NGt(tK?XXS5*XsAVI!sa(Yzp#`<`in%oFo` zGV|HU&=yb;L7u`1wQq1>3S$()z-?QhEENi$a~ZqeSl;EMOC+c4wrS+q#vN zt#q+mrqGhJKly695NU-tarjGYc9Qph@k5zelpwvz@7Xr7;@uycxql$o%>21V@YYR$ z3X;UUdseyBI{7ej;X5?@hdMqp*0XAJ*1r14aM<@;{N`%!;jUdndO=4AN?njUXyJz< zgNJ%LbP0?bo|RG&cqtT+F|r5vQX4agr?s ztT;Y|@_D|xXgx1GlrimNE8*h-fS8obZ3wRUVJZAx>Mn7M+RL&2VdR;OSD@clMxgn zV+3vX-ex`%DL4k8G;4=!SoCRs-NLt~jH2GMctK0O~7bQ}F zaywdb)qQpDhnqR>9N@$IU|$n;NxWIntlov(A)!}~q&|Z16-Y5~)JkD5>Y98$-Vkpn zU&O_wKCl#^I*xA;R@bkiEw8#4PC{lH%F&+_0hjX`cFktp(4VsQ1gV@k_0`ch(Y!I= z?4FBU1^+COJ}Z13Dke~EPk)yKq>aVQ1@e6u^1bQ_rEFAJ3&g(bZF^Nw-7thHHH48$ zC29ku1A`-Og_Agm57MGL_QEIwXHgT{*~jCjf%oE9n2(RW+3r;XJ?ju2dnTOkR`ULG zb?;7@J`J&Jz;-%v34B;U(;R^pbo%>i*Oe}h?4#TDCd-gB+Y zo(8cE{5|0|toup!0pwgAcvjv6fDVA_(Ee2^y7wF0t^S2Nfi1!`juJu~-c;idbO zH(rKr9oUpu)isI?VMoNzLuCUoiNfb*Jc-|-?3o1UG5-_5P7NpV6A7#uqDHq(dd~@c ziujE>O!OH*2hak5a>>p7({LDY8Swb>Y*|hTMA0Zy>phTBx=n8N=XWj8=NvyZ?6_qf zM_{yw0?>2M3);_d0!nsS9rF);GKSapM#Va#%ZumcOev;07a1UeT%$+LqvBQX?mK-T z)^M%TukWm_FUZ0k%*l9bAkCm;tcUcD*C#1|eG5{LS3Z`cCMIbF!U?Q;UzY5Qx5jY= z=lc-Xd6)nw9DhlnWTS(*ez#PMzaTg-acRE=IPqQl);fQAfLBB!$GFcf_zok=`Ix^K zY%rd1UWEykS(ZsbRdvpl7yp>0zS8aX{Oi-*3PiZJVtO5Lv5Sg&hi}U%0Ez?6FG{+F zol-Vg?nS{c9m^lb?of%`?{a%jF*o}v00n5p`oMPrxwm{(hqAIy)0*)ma7${U4_|=E zwo+V~!j{P+It9GR!ynbPOO#oSJ5l5Pk(Cbd2HT5q^R?IcfAf!k_)_2uGs|*gyukEn zo9TGp?6EC4@jwj5Pb3HAdTCIfPLzTRM-)3)W;?5AO}yycLo-YsVb7GQMJC zw*SR&InLaIy5k;_`Pz}OMxV4L!`Xwo29UZXs&HgL5z5^mVEUGET(8BNIfS~`#*~Yn zczitPUkpc0Gtqg9-RR^xl-GHj$fM9jjTnM&ed*&hYyd2FOcaC9feQfY&?fEPtgwZ` zfzp`I3x+u3a>1;;+~evFID8<1+Nj&wX`&b|0X$HZt?_Mz+KlS24iDoO`;)qmT5sO7 z$!$Va0xfDLf2IK^G10mTK%N@hDl73d*)b!}MtTRq9aOD~7iRc%zZb%EF?T3v2)F3T1=C!Xx!HUFZ@G7!r|- zZ(|Hgi1JWRo;(R7Db8^E&Oaa2lKwSQmNP`D)dn$yz*k5j#vaqz2-cMtRyP+b>M@Eg zj>a({Sf={Ppaku#`*b+C%W#_==5w58wXDe2pH}^{jH+c&uAeB3L>PY%_;q_K#VpWA zb(sCyaMh(t+-{QM^{<$x5~`Qn8FgiS@F|s3pOFV1sUN>zmpsF(1-pUkTP`rj-|d&c z?0hV8DvRSlhmuUd-O|JT#h-`P7mf@7MnC=TZkWo|?&G4*#N-TmR=N@=gMta#uf@6v z=6pW<>i^Szm4O+Dh?$4c4|?(HWC!L)ZLU21cCdd~Pi;)Ak!^a&fr~;MJ%^1zT!f^u z9FEPq>gP3pk98dorhmct$JkV?s4y+)zn=oj(VdM3uQY8b=W+q@--N?_lKBCvqW*D{ z<-w>pZexZ4QC zR>B%DY8Xd8dG6gsaudY)zN@&6d&7Ph3M#RX=Ir_#E7{R(N(td~=Hx7ssL*U?nR<;E zQ5`k#UO(}oO^dC4h0cRh!c}w5A1p5Jr6G0rN|N1^YP+1kz;lzN#?QpIfcVRrKPDV^ z8)J`!*z&hC<6Q9AUj)C9fQFX&dF_ASQr$N8<){dE732%yWIgpN)|4;1-)Hb z@YUNueAof#C70G44AuS}X&5of#NgYQCm3?I9UfO-yw519#)<$Go3^fZ?Iey8+p-E} zP&dR(wCT$z??(mKN+g(9I?gDLM7xiLbIhy03E%!gBLAk?|GQe;`EnIvs7g5YT{21+ z*K;`K#PHZq3O~@o2iIZ#!!fiR?*-$aL>)>B@U*nV8^W2uShRiI2BORRkk3J&nTFFq z*w5i#iqbdbu`#rDFHDi#^m6>VDLM7*vilp#kUL?!oc)fm#0GDw(`~45)upOJy}q&g ztLfRzV0TU(um7d-TPB&y$q9WkN5~Iv+}d4?OFfZL6uwLsc)4;86DD0WI19R}N~(0B zN#xR|k`pBb=%uBz;z+dAjt?d0=i;6f>7?l7k%Qc+d|F^zaF}WNERC63BJw~(W zjA&#CI}-FT(-lv?d>Hd8$-QK})_6EgUW;<}x4aZ$khdxNPh~|fq9p4BBsqab3!roZ zvxB$_@_Q(Mfw>dOaA?Lq-SC81Z(m~~08Jwh-heID9%O!IskY#vqM&EG+D9A7kDiM@ zo7f7AzoIgXe5H=)IH)$7u3hZKcfV^XjiCK@sJzSaklT&_w>l@$p@JbVj%SI?7UALxy^ zPpbAut{4Sgb}<@JJw3E9V?#3xJ9A#$3MuhS5~y(vSTt96;t~TZ*n?ePpni?(&k5ib z@U>9UDFw3{AYAf;B1^w~*Q?@Z>J(4TV1bO(`{(gIQHu@W0GS_?TKIwW#dHvSUYKPt z&D!7Q{*6t+%`^c!RpH*%$QL!xL*{k7nQOq)?@}A;aq*^`LkQtaAeD|R%`$$Ol3}-u zF6ZoT%;{LeT5VAmfUx^w1Ua9L=6eZv&y-G(u1i@x_?O{yfp36dFG=yuN{T>tiiNV_ zZC!`C&UEq}iyFoXxL+~kE35}wjFgOo7uciwQVa!qo{MFc+E(GiOXQnG&_H=Ll={Hyvj_=}lTucJ3$K3yKr=L(vx|NJ zU`)Z58V;?iCYZ-?y+%SEK4Rh!OpUTalZTeG%2h zCGY3FHgvSc%C_qNLt}`R06yT!W&9=FKKY6t$G6{>Iy`hNC4j0xKi0?cD)%wXJ`rF# zoVedcWzKpp%csDn`qyr{AR0QaWnALGZizHvr++17q7`{WK)cZPtM2YCZ7Z=#^}Uz2 zbY8rc0b{Px3{+DOn965O`EpF$lwXt4KyaxOYiclCh)4z02Y1BF1Rm^$N17ZJs(lhq z!Du|MEFTH4^*O}54R_sDF)fq+!;bU zMkllIZ6|^%p+|018LJFd>EU1^!~`wc;_;xQ_(rN_XNvEYvbj~oAw?Lmz@Y`-9*}~o z*no$b?}Kv`jsYgwXOBM@UuW9$?YJLiZwek!n!DRuy07dgY@QEzR|H`;rd)isxTzc# zOWA=EKurw#JU_&c{dE4JwV&#;L#{b6sWJ}5+tZ2az=^6AOtm@-SXMsU15*4<%=^MS z(V)_L+TolUMSc0`)vfupLy+u1PhyUVJ#q7-Wyw}O@_`p_?VGDZiclCR)cQL!wf*yf zcOSbaDv$Tx;J^KfdY?*`vRX%|(JqD#-Xi&e7Dzsx31I3>0m3=HqC%fG01%iK-CYv> zix2waJAZQSJ>VusYT6&4V~=T$|Y~zjKn4GS}{C5xXN9HX?pSz?!m*j?v zpkE8?*p058fRF%0w8(lN`YAgrs7?h9HY0hMZHqyusHya0n}t=*ohX>rC$w- z)Li({V`8|ZiOdoRE92pOfCE-&2|E)Y6}u#&tAy$nEax3G6EKkAesKM1&(bdMch)N8 z`VzsZ7IOlqM42*VCXvtLSo&eM^txlS93RtFJHjlt&3vXK;5h0tRxrU=38` z6cY8v6(8xU%YJP)?re&aHx}={zfT8{V#F9*U^G{jD%)Ne>|WcoHwWqb6YSuP-hZ-J z}CjQ^V95Gq8041ZB9K&UldeJcQ+#^LKJ zug0Z)KK-wb38p!&pzylkw7Gc6<$FE)O3oBbyH{o;831u3}!a|9cU;q~MnY zJ(DZ|523&unI}M9$HQQ0C7JoqIs-8V$bMx%jIdFLVMdKCh1LMCRxR+mlsNd=W*bTJ zR+5x}2_+m9-Rt+sCV_f|m^ez?S{aDFyxV;D>?Fq0tf2{qj!u5Xo9q43``_Q$e;i{G z%P{y@`gp(eW*CV$FWUPZ1mpQCsZiD&d@A_MZ@W`ahD05qY{zY1eA<>C532;v<$cdz zSgTy0`y`Glph-DlXr5>7B9+N`;BSyi=De$_R4Q9NS}`KR7ep*&D@G70k6VtG6#TU5 zEmL+MS7_MG5K&!A2((qsLR#-V86bQO3|q5jU3~}E@%bgo*$6Oc=|Kg2b*>GDRpDKJ zwVs?Pw5!f~R**yxKK{vlrJ3Dy<2vgTQ6(YQ(AK87`!)rYOL{53j za1fKL{k=P#Y-*dht)<{KHR+vZEhHy}el++5>}{65lZKXD=RC}$&wI^PVq+&kvMJwq zjEbTr`hBo!_++JB{h{b2oWBihOvz+zQRDh;?TF^r?YwhMqc2Oi0)xCI@~79RI3j~}e7$ld zHs~Y{Jc!6DLru1OP<5RK2BgwYIsBME>}WxcZXR40!+KRC6@akMqiA%=O3AI&+6oP6fq4W&=A?A%@~%qR<2dfgkNPXzG5rBf(m282l|g0If2j6Z%^Q|u6D zG*%c2$jt!=MZR$#bfB-1u@++rY5Bl`f<{O)+|==y>bERPI=>cps8aA+oZDEUXBxh1 zT5!k>a|c-2Asx73sHlz=J3YB==)Yxgf_w#PJnTyE!ayxDALL_z>V<%?GUfc*Nr&6D z8l7-2KT1!_2KcYwWBeGwYEX6#!)IXB;OUa=%d{L-^@6`$B)^{wAURBe9u^=&qA`dx z97!1%CQv-8cx*=s81NtYRhIV1J+@oir;y)yuURZaPD_ImONglWbXX=#?D*TVV4;g_ z>0omX_v+$xTdrDUa>LQeptR~vaABzWhhbaOS5QDCha|Z1!BPS$U~Q%$$yk6YjnC(NS1iwD1DA&wACzA!Tn|BJ%WUIWUO8b zVDI7H%a^&k%Cj+f)$YaZzmsHFb zZi_A7C^lHI6Ckk-0E&c`G^)eA`PEt6Z=+&;x!udE%%UYFRu$Y}Z@E<}41n@0V_s$Y z;og{A7}1qGAKVH-l@s2gTdQmuUL{ZFW6DZzjF=t<9HRsr}OV@pqlSLe(YWKJp_xiZmH{OWGDP54pYmEq-o?F*x z)QSAWgYh8MWxE~Q^N8b!J5jw}?^L4g(h&c|f{i!}0%Bf3qS{>bZ}}n=y93UtTtK(i z;&fIphTQ%J{0{q!I^@m}mYm_M98v8HMj~IWk#jupW{pik3eYxuPeI0kKlh57#fG2w zHY5-$jQduv#X}=8o$~d5Zre1xSK)G)c0m=~Bue8|4&m{%8FOJjisJ#+5ODZQWq3er z&_ps^|GPeB2oHblt4p&PGnc$>eJ&+H0-#ulmQjah+cyA`!#`-f8f~|lH$_=}>*u4T zdS@eLA|?ZpfHyzPXLLB~j)aY=bQ5PHEh=T*4yld4asU903D7c^-`~b?_)xwPK=Ir# z78Ew!Cvx4Xm&#CrpXZe|gTaYB83OJea(%cbtCC?gqTsSCA6+bmuQ`ptmmHa@b7`H{ z>z#nGM4nhsqCmIKECe768LHT9t)iB(n5#&$$1Y)sfpyR|;#i-0@Cw&}20>+s)SmbT z*bU%kN%1qi)tQ)2Uk*>)Z3CP_h89O$o4Wd3Ze1o^wq&a56ELPu=9 zd&l9m;;MX+o0Xk-t14RS96}bb4`3UTXsr!-DdVDJ z8i#s6jeur~>sU-OsOXT!`w(`(3`dJ`(*W2@2qF*3mWK-LJcE2 zzra%uBmFC%AJZKl^;{H%lnM1MFaM&DlWL@B8wb;^-mFfMvaL?MAegj}ezc+Kbt(If z8XbQmw$0zjOKZg^^C)v!KY$b8yD;eOk81yQnCz$JdhmbA{b8KXGk({uJl?NFb^RHt zdUC?mY!mbmdl^#P8scilt@;`~wShJe#i z=BHU87j1~4&J5D<@zq1e&%oa$^#F6N!cv|@1$P0!Kqn<}aCS(&NxiS`q3Pq)Lvte( zIG8>cYsF6n0MQ1p4G4=0SdF0c1&)zLQ+Kjkav$>q<{p6xM|hC@R;DXF0^{dwdk*ZE z=&L!sMGHHwupfq^%Gc}J;?~rYv+9Q30;N@*GSaQ47{3;tm7ffK4OZ_Ld!(dehcM_F zwsV=pZB0ok4Rjke+coIjgpN!8xTc5w=3qV}WZ))GYo1_-!Z*zwHDGr=zX z*0}@|MUS8TZBy}7@Xo_g;ht-*Oec(Ukqu@T!gBx_XtGzqgpHaKci)=jNw%8*kgXXd z;P7s*T#*zZMV+9|%Znvr zNht>^z^Xi6X-?1?lOmJVaFH&vm6{>0<~AS@g+H!~%}T+i%%?il2~*)_0!-nB0!(>! zP2h)-7N*Rm037H@S4-O19hRZ(s+!>+NAujw1eX_JN2;yOMU{&Bb4FSY4li8o=h9W# zNLdBNfWn^`|NOqAKXDR|#)k_Ilt(*urhm?(<)aa$!|udaTY!;px-o`Ok1?+n(2=cQ z>BkltRTYjL^Egn8+?K*kp2tZVWoh;H+m)oZbJqkBz6{FrtS6qbl37c)Ae^}}mCA6z zZmK;zvi13|F`ZcCc3V-Wnsl{1a85n_ybo&(s=?TYj|a#6lM8YOwq>*QFL;Gfg8&MO)jotc;?45&x(B|bU^WF3{GwU z^R}ST6I;bO){E=|DN8AtUb9<$`3jLI{3_>RG~^@UQm4!(^D=Q^J({hb%-(8}CzV%l z3H1+d=&#Ju5bVPl$MG8~lD4xuqC4?3(x_|!<{ZcfQHW*57eIot-m@$M> zfczTo2{Q2Nm29_{_b|qzS6zdY@}p)jW4xK}85~L7D`WngbSj~Wzu9ra^}(+sqq*o) ziGC67=`xs&92c@51$ht%%>D$}LGa~P3ymHWpIoC-IBEhPE^^{34FBxq-_uCjA7J2& z8w|drnJE6>oyymK`uZu7Ib7;opS*_v?~3g}h%K@12g$(0l}irYqhPFbA0)+2I|hnF z)+wLF4LO3f&FrQ#FmB_u0%U-1%m@{VAMjI7r6^%BVjF*t#^$EdT;|04xtnfMEZ3BjRE8 z?U=Gf?G6z2D7xg+1AXeMpsRW~nSsW6JdwA3C0M|KLtnWhHyl#piFyU`8$%lY>wCYf z8bS*||i|>EX30R~W^cEtGpoS=L zS9>muYukYvadfCf`#WMj&&@R2STS+bS-@8#1&ALTiPTx-0bu}&?#|;(b{z~zAA96y zz@z8!vwh_fSfg@%z~o^X4yL}A=qTCti{#^#SnFrf=|DC7E%%l9@9YAxBL5Q4ajLX$ ze7mXU@CdY;o#gIC+qRhw1RyC;ckWOFg`&MSX)OW)!qY?$cS!gTMPrbG^>gX;uqiy2 zf33OE)EAr9)0ndlg6{z5m}VCru@c;Uuk{8m(8ZKd5vh`pjfA}68^+K(0K}oeu5=UX zXrT|<4&cMG3lol$&f_Unpw+gKMDAf3H4sOJ*acwAio!0DOTtzHJjb=*Po;dib&$;{ zgN1^WPRR%AmjSUg*FMkZFfMj91MS8=(gI!KN+J16@1V}<;ti> zbAD_ze`9tXs4uIDOuKKa6#Cc@un7Sh$S}=G-Q{2zJZ_%lAIq8dKiReFzPp$aKtJB` zQ4nGkd>75{Jmk1_x7DzRGNFsS<|2b{=GL?(>d}Q9%E~?b5!M5p%4(k zMUG2TBTcl zY$>!K!tv~zm;XI#CLs$TDvb$8scZIM0ejdpUEa(3UBQp8G3kaE{{?aICXa{(p% zNAQ3|!u{fBh?lrabu)nO9G1b`nfPZVbu8Jw+oizhEQ~F<58w0<8W8!zJN~<*+O7k{ zY07tNO)}y+px*c0*qIv}2bE(z_>DZCjpRdmq>G#!ez3@odDNo7R1`7|4aeui&#ik3 z%6ZPDe~F-D;ow_af&2Skz1T|447aQakaS_~POE#`uViwlSc7Z(t5$e_e(^BdmFK-8 z$N% zMO;k9pEU4cXu0rbrSY8YR7a!x+%BKoIc{|l}TDUEZnHy7q^*YUaL_um;A)4 zh!pU{=iCz;)qVBtHS&_wAYZ+XZ}c4DYj$ozLZBsDt&iZ$$Zb3V420CZnSA%^J<9-X zJHBZiw;*4#Der|W

DcEWbQ7SRWB!OUXH=)4u$IyaQ(D%tZ3+$z0Fs!wWUHkuT;!#`E?(uS`L4e;SA(z6e|o0 zMVw=swr)y3B$tki9sm16Op7ZQhuyp03I(WD)8Qj9LQ4Ey1CI36&G}HQ$57l%kPa{l zr6~~uFv!%-3*>0QWw$bh-t5rre%Z4kBF;?D=|V)qmUv{jkg(?;MK*s~4Zy3joYy06 zRB@sDhXpFNg~yY}z2DAFoU}#c$cO%b zJrx@onb{77e%i!!iTMt$KU`a-{t%ILh?L0bM`N~*JcBEmTzM8;J5xz)0c2MuCjLj= zkanzJWbebTTJEO~8NB-*=+wOp?lCc?uK~@;RESX#<-xy6!Q=D~a=G-%A`;#&dBWb~ zds0j5UA?{it^$m2Y-mXHRd@W*NqDL72Jog#T6O5jM^rpgW(~YAOPBA$pkqBS^=J}{UGncPs`DEZmA#x^_ElHJHKtJk%cHS zn7T^Ha+C)Dtq}o|BJmR6`U!hiPs*FW3yZC;qpYJGFXN(%;IolcUT1xoANNHd)!@gDclMxz zUUGtiAp>M`lg_+@62ew&o0vuOY)pk7@M^16NkuD9TOtNgucmVneO4z!VH+6Pn;YX#xxn_C3q=& zV=#RMFh6$&zL*(}sEC;9pd-o?z&+q(srbi($0^?*z(-L|~3|4bmizq}!MCj2eUG!*+4p06s)ZP}K2Cd)HCAiYD zPsBjbsp5F~E#x_L><=r~){;xW@$_@50si*Vf9DdlXY9@cZ~E3XRrD)FKsFn)$QX&F zmI-N&n<-5S$9sPQ$4wXOyM6KHzfO9UR43N?&+`+{nesO$WG9(g?WcQ3|H7MI+laOw z5Be)C)NbxR1oYfOPl*NUDQ3fV|BUeIz87inea_UoZdLYWZ6uHOjcmq(Za0acb-~!5 z)@WV{s+XYXd+8&$Wz5dDzQKpz+`{ag{w}S_fnHy>+TW*sCHnjCIFWHxMa8!5K0Fv_ zR$oW0rV5piq#KY2^VgYv^vE+Z8r%amSOAk9tuycO`2GZVJN4Cfnii({)CDw z;6cEmW0*nQ$QY(FR8k)%zc>URJ&>JZ@B^=~qF3J16Y0gx;=7H9Uvw1mnMvic3{CWp znSS^Z3yccYd4f?Jy|gN|4R1wsI@JwcCa5a{HKKVzaW6V9)>iPK_9|YOdgy>JeP1!$ zGr_<=k|5sM!P(h){*Eh+ubpc|>B{}<4}8^G#OjlY1HmjP)?{rD=dOPrA`cT*(|Kz@ z&2RFynqd%uTKMBPr|Pc(A~?4-*Q-2=Ce1Hu|MGEZE%A!EQ?~ojG(#Dh6}f8k>|>lS zlUwe^HNx45oIVd|POkx^&y`70K^)c7fll&S_UP92qnJ{3@jwn*?O#{FRq z9}}0~7X2N7A=9`D#=h2@mF%n}w<4tv^5OxQ?boQAw|YM(dc{qbE?DQon}RqMh^CZT zZ#+w5N($z^H|vwg7A#HIR`JhxEb35Tj!^ z{X@iZt&8qRrIka8-2^+EDo&rSew1~0Cs1IK4$7`}0hN6EeAviuRm_IuKx z0|EOQx?A0E?MrWQuPlL#dW)fQ!T^OsT;Eq5-YbtMZKlF}Y?*Lgi`_;zDm${F!&N6*o668}5zJSi^;z$<4y zp|ZbkfS)R z+vM=du>4-#S@it{|5=ZI%Y{RFWB7m0@WF;R=<5p7vv2Du>w9=jaJWUupk$@KGhv6*D2b_2JMt?NPj1y!uf7<22zKAjVb9*Okewv9|w4PQsqZRDA?X^Vco>f z`C0I~I2<_-!EhPLXnw=<%6SRlU_>g_a~SiBBqGLMJcCtircV-=F7(VDIJ@6)G=jRlaTQxSbOQ!l*U~M+j^5JfvE`r)$Ua zY7yb?e}^wv8tEXvz8HkMN9!8_bOFjKfL|>*ndYyVs*^737R%8PjpDtE1p*|-6dO58 z)V8;`(Qw)?soZ_7+VB!UzEmX?^M!1W?g?+}YMQo9rW4aCT!O+GK;}hEh*GJ6 zD=L)2%+*GOgmI-3SY-NZ_xD(+k>dcz84C`2*2;vn-5(s_qAv)wqB=?OeAhi2StxK8 zHhNOor#DCbm4j8%DUFkUX~3E97>p_Qi>AoxH12r1uLG_F^B6J~4p(nu37o#6M}ewo z6?T^@Q<{_AVdw6CFBk3c>p;%*VNw}T--UGYvh1WqNyndCp`zhf`hoqq>^wJ{d=f16 zv%^R;c2s>>erYejjJ$p&6yE|fvdc+D4!-we!V%O2!6C@PqyfONN8Pg8jChaAlqf*rY$t9@chMqWsn$_%F-x@r)NDt+S#a9g(8%Hx{zM&Y_i z(EgxT4T-Iu;(^hNX(-yk{mMTb1n=9JUwr}8A#14B#*7s5;N}Hu1gLrs@;Zz|CwfIS z+u8E8lpW7gPk-QGQ%A0aJxmCdxkFQIpkMJJmro36AR?Q?!cACvr-GFi^13~N|1c! zIgQ#!YGDadp{RT{3qGUpE<>Wn*Y?Ui0Rf!^ROEZlxh2r!M!gTSY)&c=)8bJ7hqNW} z(V0J^`V^3RM-i@TOe29$F2h&40sQtEvdDGsVzJQOX0wRHE77dRC=8r!1cqu^c^ZJHM@~5-I(H9=|gF; zrzd|Jw|kZm0GJxd&tL%rY2TQl2!K#+jX;KRng&I+>^~H&;xtY58yI_C#Tadz$F_ln zhiwG1Zq0oSv!4ZOrfMXkH$(8t_R2vYPW$O=`0~n9MOHzDV%evVtYD|!SF@#6`CtBI z&8&$?hl^0vJ*0x&^IDQRT@(7M94V=iuku9?%MX{MRD?QTbJA}CMa-ux5J0oOA?pqc8>y0HX^&UR@6q~p z*Ez$q>4Jg91UUN~^4`Jgd_t&xL1xR_%**uxU!`q*E>8kkrF)>sWgva;vcd9!+yWg> zT^~Bl%*h0L{*$cwbh?<~1X=mw2CSl9$Ou!SE8NVJos(zk^%cQ}j6RF>{c!f5W|)Uv zwC#EKIt0+4Ka#6Yl<;iii!|)pI|zobiUwnEj(;;XqfdT*2{Su95f%wpj{6#Ep$mbf zOV)0;eQ+C3km~=}=MQ@RH9!%y^|?26BNT6H?!FjIaeB2UjH_s92-tHlRuFS#voA9@6(;emvyDod#kjA7~_TSH+U+1)0tyQn%tIOZLqZu-o2UWt++>*+ZXia z+fn>#__3y@g=Jdp6}ROXUS<6YrJyZPvD&n9d;Haf33uON8NU+O3N?k}XSU)Pi22lq z=Z$#jfc`g-b>{Q4eGJ9zG(IYmA~yh)0Nt2p*s;qY-8cY*LNFpMhK@{w`?vKM*1(>n zmCjx36f6J5Lu#UpTC%zxi6t;*aEzJT+)ND>FDekO05g;+MqK`5cB9BAd40So+(lhp zlfhqAJs#Yv6e-1gT^RD$CWBzmi5-f+yripsmofPd1QUEK!%^TLY5ye*ke-T=h@}cu z?LZC-*i_UatL--{SZ)5>B?=u?y4U^qw?Bd7hK1j4-^%K;Y(II0n^uQm{jW;dYr}QHsK6&G8B+P&tsAY z_b0HdX{ywQZ%{(OqD8R)3*kK$Qnh9|8zSHGrCwI=Cp;$n;}T32i4la{d%Ox&hv8XX z78qf)?S)5E5{^FK-tX=Ypo*{o!zj>>+|6^Cc?!pR$lyaHTJw6?X09W~cmI9OPj&h} zWQrt^%zA%MX@@6{`(IVE%tnfHWFNNCI8)4a=#no7bi73=}ffzUM6g>&G( zD$GN-pf->@P=#*x*w0f8qmgH#48v2aYGK^@cjRLP`VteOWQ|1+%3dioT9imT zc#{)$S>DolHefG5W_{T5r~M5t2aJ=xHkugUjI7&c%2}|?{Jf<|v?~$9@$(yuBl!4{ zakO5-W?4Kg^Y)hF)T!B>^Qh8xr^Pme>EC`&u>HwgI6$}LB=~eY6V;0HofNZ1$kKTY z#fAZ4OjW5}!nN0&O&U=YM1Hh}nSfd`odxAklj(x`JUWoQAMJCWD+R!0 z;%oF?0+`xg2!Z}?B%4wz6S2#VOm%{j(@hN8oCfs&zeTswtK7kTfv3%~s90Mu-zo2W za)x2z#MFideW_7riO$!m4Q`V!$d*5bMIU(gb#yeh+-iu*iL}R5-p8E40m#5oZ^did zk0N-kWUT1t6&mB;19R-W@>}PNHlA!@Geec4A^2%|(~hCvf5hfz7bD?HRvaF4A*Ws6 z{vS{yu<>hpWMX>(?7*Z^`0rc!9I+<=>csxEc%{lgU`)Bj&?f>@AKgPzk>Z4PM(HX5 z$dY=35Rp`K+s9UsB|5m;lRXtCB2D`H&!~%q$t+n0LK@n-_3E^6I)nD=-nNc&l=-h3 zXLkCyRJdy^C44=c?m);)p%*XvOw=L49|d5;EUc9efQZ93A<11T*VLD}ZY6A~uB6hlPGQC(g+!Ck^An$?`kY!l~&yn#+iIhWF3>giY1 zPtcx%O-6o8rg%m6?-}Zog_<2zZ*VfeOWge~E7ZYgGCr$0AiP1c(r{@VrE1I!`3&Wr{X(}k)#CDqPK`7xsUG4P;!Un>+mHF@WKo_S? z!Cm#LgcRms6}#PgMDDK|8I1zQU%SozdW4##i9zbx@zI$n20Hn%yHJHbG%FK)EOyFG z8~vxvNK^Yi{&R#$4`p=nW30e{!OvLNO__>Dy}1VpVNHv>)v=aFM|LY6lEjfjq?$2$ z|9uw+n3UD8nD$5vT4lUAQlY$Qt-X!|qU_}X?=O~jhD=P{zjYXCm;Y0+QSFhiIT-qr z@s*uX5)_zjH};f~YkldESNR5gwzu>LzF%&oc9%(vG2_}fETZ@DMwEg<2c`ae> zQ~8~yn5(zTI|`j9L%5_|3pQ)BQa!AJU`SkTzr6(jzzcZRJ2AJu1s8`=MM|Y?%NTB`IY5uhQ5%OlS`pB2=VZlvg`c+m02BJ zY+mqi+B3qyC|Y}GK$r=TNwON&MP`E<++XaLVN>aNxq-hZUf!NbVl+Yt>qvIeU8(Mb z^|sIkECMjvGH~jjX`kzZUd!O`Te%w(|BX!1FA9fzn%ezNYtVGMf?v)=gCt(vO^<|0 z3kLd;pnevmP#(KtDUBGbg45DeB2pD?+5uj0BH4VBBY}vav9G0r0334B=%{o?yev7X z3xF3Ti!0#25YcmJ6fftu1B#C0XAri;7E%sEtL6ZIy6Z%HsdyB{7J%XlUkgI3kbKZ- zNkoh;B#nJac6jP5j5{}^c4Za(eboD=5{h&RL%dcaDTYdT7Bwy4g!2m|zyz+0EBN)t zojBR&jRxt&q@7vP&QdSi(aQp6JKLGpf3>l^oElfYouOvx^Ol?WJ2BQIwtX(G?T-ZB z$;6u2XKIIiI(by{+BX2!`<`D?KZ)Wf^eUK<{+r-1g@UmR_t7DU<)xAx0n)LOa7G*J zG)*31s&2l~|GEmuJp?L*hiGZUKuG%VR_2CTbYMS;jrm_fI}*vZLPatbN8FtJFSb*z zBJI_;iwa1_ZL0N5>TGQQ0BYHQHa4Cu*9u+L-zxX)TcO9&UJiMG>5Wu_A!1}Bc=EjA zL>thS(ok0*Y$@GDVN6ikE=ipfowlhHhOF?cqM>aqe1W6DQUsCkMERn~LNm4!#{=h# zaiuEhICgL=*ZIb{rG@8m)N@5yk?Y}&MdW;bcb~)a9xxW9(k3Dc_x~bxq zC)g2c!RXwd*a#DfmNt9A1m$p{x+&2UEcQR?HIgZawN{EoY{FXp-frZQAW1hRlV%J( zVmgtQvkIV`$dq(e!n9=+eaB~SNA&+wVMm>R0^1tgch<06ZbdbQc_Y;h?RGcA)-3Pp z-{v~LyviyH|L079$nS7c{EC6O=>AHQ#FRf`bbc|nyyOYqAM|=nxuUMk^RG@YSPiX_ z)?#zUyVc)s( zqkLX5)kPt$8jLQH8MITnN8k58V2PzRgz0YKtm8c;VR~^?)uLXe_SJ2sknyMwhDV{n zg@NKp){d`=E|EDS;M1rk9$-1nH5Vf$kVjW>c{ys+8#01h1ykFv)vRN|s zvD60#%qs^Y-{rx-=#>~0M7lZdx7T9WAe?&hQaECJlW)wW&WD@DW=nLpa0RzBo&U!6 z`%P|-FY&B*j}dybfj%M1@cjB0LrAc7*u`pzkG*0Yqu3aU!rh7OU32qI`U7>^j-;>$ z9?@seU-6Suo;2X;N1f>6`G9VU;?0$CMy}ui=+ND~uE<60N({>jy@j*=0hgdUVFxbz z|NHH=D14y<-pdc!-wVasW5Cqn=S@NSa9f}hKt{sklLH0Sln)De5l9*TIevGertH|8 zj7Vk5ncN>DFakoS@*IG90NU*l%wruG(X_6#Cpo9?AlP8Vp(pE~ApP7koO^#M)H((?1*-%a1--cbL|6_`lb-tCs#yCj)j;X@$C<1Y z>{GhNvwqrF4P_o-5}w1=6Y1(X_M&I6C$O7aaw$EC}aY2I_jO81ou9?%Qh zp>=^9*0bZLSh$L+u(Bu!Ps7GuLj3glOx`=E9#sh0l4m47W1zk)4-oa1S^So8L088|!y4bC3Zk_alz*^k7ZU4xwP4-mrWY*pk# zn?djl=twyFXJ<91rxImBUP4$1wdiX@l^~op zAIm>)pRw8$RekU#4GRs3QF?U=*^?>ShF+$H{AgC9z+&LfQ>z?JclqifX&UL3f} zVtV%3fN;yQOx0h-Ud^17Sxxp2g%NN?Tb|PC^1rGQa$lNX?hn16Zg#uU>8zTR4qg0| z8fSaQgt-u1&YGE><^Nz5#wXCo7gX}`P0$+(cE)Yf##||-ETgK}?bj4^ws!$mW>Q2+ zWt4n!^LUng|H-7SX9A?#r_Wu>mJs#lubQ%oejgg}AiC|te%2%-kJ>y=g{g;@D;RGX z4EMBo2v8)7KTKL?B>&U*Ltvb6_4;TeiKx>UWFHa98b16%miU9j^F?4)ytQaW@$m4l zHvT*>GQXH?L2LJEfIJBAgn2q^elhg0G_mTo^&q;dl7HK8{?e=wk1!=p2iTLut4m>p z{+}LI|3*k7KKJdbXJDXA+qy3~r<=wD^iQcto{`{%JU%>jCu2W!jv;TM{5H?*C$*)5 zi{)(hu~K6AoA7_?99d$maz(hT=LJ!IZMAI;35C>h+5B_Q-M`y_TM5$vCIW>3B!CY4 z=|V38`%4u?59)ZCucYOlO_#$pN4dXTFy0z!__fIPm|-E@V6^3sK8g`S45|S%uiQl? z#Gt!>6^W!=YIY6`>JAbuJv+})rLFlbT!WFRB%;s$@;18VBVx+O z|1=d#+|$9XMp$NYytV%QFFkUUtoc`ZikBi)eQT2V*e}^3$E+Y(Q&x}SAOcUh$@v%i z5IDG%Cc}tcdz0D(nf;#FDK&Ba0gqIBEtHDdv}pHTZw7#VeOQfQ7ADC>E$kToa)9ZL zU?8tpPup&eLTk|w^H6(TQH!0d9|^#1!9%s{N4q3WyOXgd>!GNW^R zN(CvZ6+siLmiL!+5YfVd>kjBsi}z_f{zbpxjCGPoy&WjF)voEd6k>51$$9ihpaFn{ zSgMN`|B@=NE-GUV{--+2faz&zIZI<(WTITVW@#x#&Ya zk}FYZ%-iZm7psU)_1Z|Sdt7?FIF)lVA$!eh7h0;i*08;G`uElHlY9*(F~2PFiwED>xFe#zDxzsurY>QGp=Y`ahb@njld49Y^RI?c|To zHEo9jAa)!5PJ+r&qt1*nWvJ_ipphhy9l^gcj+A>f5)@SRUz8s|#&u)fE}2r+RfHBS zG}c_Kb3)4hte9U_D~Q_3y9yobbKMJZqB3eTu?5vsy7ZwC9_Y>u+D%WD6B73OA z!ExZRqXc2k9|oaKtZ`b|!CtFm>$Hz)affz=16G3AjI+*Be|9T#E$dykAAUzdX)J(B zNspr`8Qak4U;(k!B-sp>kxG5SnpE^?Qnvmz8)hjv$fXJq8IiG0MoE#mQUu zN~hvmS01zCwPGqu46`IC@2BNeeKHJt!kF=e>F2Zf4JK@1QQ=C?@<*G*!_AG4lRm+DC6SxZ_Ma*oQ(5{fae&(i%RY_?l(b@j13g&{rG zDiZr4`)Xy+!RkH!Kr8mepmwoA+TSm_uHPb)PQ7L1C)w}y-Ucs96}mxy`OwEE0-6&K z8A!PGASHOGjj z+9xTV_5lxsm1zgkHaTnls6B2F?Fl|rNPg*8t&{%1%^>V*RuiJ)a=qldNsLTib-f8< zsX81G-991msbJxv&wk{YnQmLbPgN*nEZ6#c)g{_O+$(TH*LKEdC+#ql^Crw(x}fEL zG&Xo_`#T^tg7yl~zCZhAr)75Nj<}YAsu~V2NVr@gR(6RwjQ;!qpJnV1UO3AAzvBKY z+T^V@*&_XzDGvq!F$KC8|Em3G{D0`l&)=)G&*QtHLDHLD{kT%t!%bWshGg?DBjpb7YMIdlxP@GiSt)h|cmg!bUcQ>v z$Ub{XX!e%p4<3XIyJqaBf|d=RyMwa&(-D^OQnzR!TAx&e0?VaeMGC&0d7RGlmw6vmk-@wARl=op#fnt zBZkZdsDwd8LZU}W?Y&tkekis{&>p?y09gymfsR#8!GXA=J{GLQpVtu0f~dnMh2MKi zaskO~Xh!;_;VWL!iZTFo5oDRQ?ZwRL5uj#87+h3PQ}$DaDqp)I$343s|Nar@n^Osc z>JW~F-sz*VQcgq{AhYFZ?Yul*#qTED`^F!)G*ykaKxie+8U}6PKFti5^M~~*b(}pF)SjVMhLd~*yUrYq>)X3 z>Rjc#ize2BAZq}S&PhLgml{EhT$}tje4mG!krxHT!DaF>*wlyTwt|W9ecc4M=H?}$ zeTV^%+Nr>-W^Au2d%kuXIb$JQ4O=Bx^x8lFMY@I*6_@qYr|yN{^hWMwSbv)mY zkbn?ay?m?I5jG1%8hW&`yRS`}NZW83%A*%PGV;VsKD80xujLiRih=n^1(&cX0 zz3&uRxH`GD!C!fy-c29J?9J~6)TmbLe>nHYUOW%a+z2ky2se@MA52sWhO9Wm5AjQrKf#sRqidh>L$HAgY|PY#@T(MzM{d)sRR{B~>Ab5JkevQ}vYE!T)T)du<(e zPx$K-(D^-9f|>6L526s{4-dU$RHD#stIM8BRpQZ{Z(b)FGt-SRUNn=~0O|l7&*s{T z=a-1ZzKxkd*jV}#``VqM0JU6%hcCl=U17z_%qo%FVccPX&*a>vI+UKsh&Xosbq0hd zN|9Zw0C03`Oki#k@6=&EtdN7=(=fe2?A(U$e? zRNQ0Dx*DZBCX76Tw1btCZFlL9GSYSYKu6kvQKXf}Mu1f4q z=F=w^ZoQR@^V@zUWT5h9mGzac7)JmCap&JQpFD&A&CP1EAG0e zsCgPiDo}5a>B(oNOHn%~Ob8;rqOdSj2qZAWKjr5Zw!!Bt>GdK+NCMlj@jc!DI@*ks zC+cfWkkP^olpG?PKfG5od)9&D&=ae#4Zjs?g1#^~C-6w3OC0?IRh`#f+m$PH3@y z7+_eUGC($16!=O~N9lSWsc)KsKV}=_DLBr+AwgK3OS#p&6sy~%z>r&)O$JK83%cR51i`KROm$9C8zxGK^ z3^HQ5AjRkNECx#~)^;-LmEQ(ilUfyg3A#S0+P8_>Nm9H;QfNGrT~VdzmsCm6K^eDm z2mk_kvI94b^X%^!m{r}!jGC?-q5dBtea9nRiT@x?7lznpoS}kTgWkv#$8N`q{D1h!Y|b+V^+$Qnliay zOY+xSn_zm2473wzhasG#oPuy{j6JOGBY7|sZAhvk?lMR;AN9BUq{!W#ZRbf@_H}K@ zJ=~~x(f!|w_g~UF-9r)3&F!loB*dnqD68)2lS66`YxwMOJJ> zSwnPG==PJSHwv4qViM6r#+84#Nh1UOuJ#(s&zL+~KhEOY$MK?3LUg7 z*1K*G!a9{~Zf%Q!)0zA|M|PXh^s73R-I!4K{EDRky895PN+}g$l-POteO<2TGCQ~| z9l$IX3y<0Fn_9C7`k>IYrc>WU9XbYOk_q>LW*AAq*hy z#hGxxSGeeVV&|B~wD+9c^M@PtdkYKz1_~ciAlhQFU*G|PVlm`>vWGW==&FTot!z~oQ}RSHNYDwe^6Diw&cuIP zF*wXAs^TEmGA#zQ8ECXt(qKD5^`m_BJKJ~N7*){oS$+vGBmX8CIHae$6)F7-N0$W_md)qHXL@$$&`4 zl@+iWZl$QBJ)4cjQe9Tsc7|CSBff313}mA5^zQ+W}&3Lgod!0!lE(t_RUDdTus zSLk$S=sBu}W(A`7F%4`~im2J;>5riqnu2)h2zk??m}GhNmr>P5U}i*3ejI^UJwFNI)CpL7LF+=kW4z7TBRlcCW& zyyS3TXFVDK1%O%gfu5G&TAynAEZKnWFA+6t`>P7IW+y5qpa;;u!=a4W|()e z+5&!$6VwWHhkNEHa#H0Qr%J@Femk{ShBf$YUJuwHrQAJ59odVJ|JLCMj3rKZMxsVI znSw6;QKEBj@ad|@ka((;gvz_7VVv;N`%Zen8k6lyBKat$uX|hUWBpMH!Cgv9i3VKn zOh;Nb+mjSO6Vept8fDbZbe%D5)*fkDmlpa{Ypor1`(V=5!0n&XXJ`aUhT=CR<=7`F z+KkQMfaIIFQ?tMqi6^nt>Zit9_XlOz_Y*>k#=xk8A_9AD zG;bhpo-k(`Bp*`7YXHlM`lT9tmtEc`C!^Gc>0<4~e2jBhL+rawR1fgP7)-aYv9V#D zn3Dl8Mrskc@Kkt2QOamAEdSRqQ z{pQiz=gZyLmb-)A&hM#|Ulsum#-LSrLXO;7=-;;wbIyt+ex5Z3vO-;&7XLrkHsJLW zLbyqhMzE+>-GJ*dVq#*p%_jzq+tw9F#uOAJ5!Dt>J2xrs+rHa$;%iY;(zQY3m9VS4 zR4;trDfZ&w|Mkd3+fr}qcM4yLG<+xG&kOPK!3z?mob6W!()#hik_PIMV0g#W8y;Chz%O2bYXjs4B`fcmor)!}5-eDp??3H)0(__ydbIRUu8jJvLD zVrS+B^_KNs(EA-xkWXfsE*2|CEJbYO1LY==96F-@ik^@vX#pbPnl*f2zx1`_oh_UsLJ`e)t7N%8CgYY`LVgpvP$=LCPhTx{3T-_bZI2-{RQ zTb#So=HuQ;oFyEDd;Hd3$DAmWI0lfLicLNnvz`X0 zmBaTjZiiQRYC^9e3EL6_2G>47L$h61ClRrnJTKaALv+hTxFZ4}Z;o0B&UmL5n%# zKrnoW8l}x9%xTaW|9a%FM6!}`t66zAjK#J_?zgi#h6E{)X1pfVED3;772@v!d0as31@xMHQ40XaUOuHN1II zJ;5sUg96*2Utemkave1+Dhi^~w8;a7PkUH<-is z`!>83y#?LSDBga1Qu_!zY3`hpcKuiR_G7g?p5RE~LkhjS$h-R-%10@`EoRw!96=R= zo4`-)_8QM%{5)F>ZWD~0YuC{exnA9*>EiDk4#=xNQFij@?AhL~+LDj<0EErVy;;P! zPY3e^%4&TYPX}mEJ9T-3^LEm13@Uk807we`P*MhefJWBW}b#a>{ZKWo~neg3Dn=U0c67JlW;ma1`UW)r&Fcu){19$s*)SP-lN zYby@~9|Pb6fcR8R0EkHrBn>bRV*yqTztQXe?%kXxm}n(aa29IMln;ypXKe0m;pb2Y zmXP8t{}ra&u$#Vb(&ww=o6-s>_;zZzyzJ-A%{}Jt;+!epsF{K#8SPa>H0Zcu2Y*N8 zE{$J*rFXVVC*QYX5rRHY$vZa9eOfRtjvGnRWizjJ4+fOO3-?v9drUZ;BnKvvkNc`l z*YBJ&s0xm4teVEXYB~}m>9aDw4h{=^^LvvgsQm@99JO|l_QLte?uEE|D=L0Qh;r+= zK&>94yF*jkcqz{zk~!eJ+wwWUJgy+sa>h2_u*1xXyC7x`v`gl<#0;kh$|&&%3gsun zfBO>10Tn{iw-p|i4MLwtgqD)**S%J#W4tDS64n8@qkp9VCA%nxqg*wk+_9GUVAF$I z%cED`BS4U~yo6WJ)n4_k1YL&OO&Q3KfO6wYk<2TKHt;)gJ&(ce7}*X4eNZy5tyrda zFtSTxiC{;9H5HRXR0c_0hoYk2ldAN6|LVFuZ+*Uvrh5amW^enRi-^uL#}5ZX zHDM6X6PgFvAk3xX3@ve|>KD^n8b?@7X%faA-lT4!l@`>N;L^0b0 z2q+Y>t?92yJ{Mt<(RjAf&m3rap3j@lxFwa36&l2tF8+CGEj{9MT?atA4<4jyQ*&yR zsB*~l1*;01m;c7DPSf<|KOe0U%Q0Vq}+cQu3Ji@B6g<2^e^XtYx_>p zpvV1$sR;b3{#EviHt!D+0n^cY=_a(7_BZ$ds`&nd3;e$-Z3RDpBW$KDz-=>Dvuv61 z+Ai*CptCo?T(I3>&fxTwV&<^o*&H={TtFJp@a1^;v*w|WSfyq@K%)xhf{&zK7JE{| zVSLy>(~{%AW{RzFb8QcBU(Y)Vfzts*$7o31{!;?!|9Ugu$ZZM?29?8JI+k5GDql%v z6Z5bIZ`ZHc#>~(fqXi2IU(u<>ZCoDoa&VZSs)BcY^W63fG4;8mtMpv01p9&3^$!Lr zg0{-If9Whc2yp5G(?cK;|7}Q_-tn8HsSp?&DAYd^O(OQvnBD@Ur|DEvcW;hOOgy`} z#G6}OJ3O}X6nB9mVhYz5nSpPlSYFHwB=HbmHpcByPE(n6CYX%SDl_D|#p=!Feb<0< zim;>5IP4xBI9Y?~A08?N)y(gAu8~}PM@I(wZsf1lqTxqCZG_B6vyy&Tp(aDpszH87 zkcR0C6abLtPf3-4nIf(G1V>xw@k(1KJAHvCQ*Vw4s*%G%165nKy6oD-;!am$__Wcj zC6cnOum%8=MDrKH6h-$1kF+--LR=GqbMPpRD=1-Mu;R-Zc;fhik%zSx?3tW0r9r?e5;vr^k5t>pOjDzcWA-Tas;2XT^bV-yV(GTgi;CottI^oWMw z7lSXygYwr3ZANkLCEnLBuy_tqm8EMpH_#1tx*2kXyt-Xl?&}@~O99Qu|0Ar$n6jhB zgXxhszRl?>8JDohz0lXLT@P!s>brt2Gk-3bBH}MA&LMNg=}*v%z%W1%6q7RH-8O#1 zgcM&aWkr^EYQ0@)yz3cYep9eT{p$cf1btPA<|y7On(Icg8^BJ50aa;aKf0h>v{B=~ zLTfai?H+zh zsh8gh49i%)@G=O+q~(I(M0MS5d3tsV@&^IJU#Yy$9a&ws+Huet#w&NhSNSstIGI=R zFa6q(cb(~gET@-xv%kZi2CR>eUg;H`we6dmd*_u`x5>&MZJE`;=8W^{mNBe&3lm)Z zsD0*=%(CVAODyogu*dAXP_er%g20}}0G?`Yz$*t(4GA})&N4%l`FvZGi9kc3M=jooMDvn%_86sQN{9DA$dIRjPsI(iU{A$D})PkOPECAypQf?=HP|24v*ke!my?M@FU1OgXq2`uWN>RO;q# zyq;m|vu`X}dmig|wVhZ7^F~M|ew|k0#8y>LxyLIQO-QNGrj~jCPQVGr9YXDe?KSBg z;9xoz03qllGK4vbhWaJ!Db|*mk6;SAburXJ7-|haBR+AaCP}aE?>UIPx5)?`G(iZe z86Ei3Ac@Mo`^;4a;qt&{?pdwx`hwFI@~L7bu~*$KKBZ&5-*DCL7^t*;Iy!ZAV8WRJq27{ zze?4zX9x|UHuS((!g-D2@&oSL<2b9rozh4B+@$pz!ZrOIVFGJ8+5Ky5RqXp5J$LC?$#;8~kYZf*<(;US z^cyVu-wI9;r4R&c1m3h*FRo%RltdM4mo+|P3E^)*HppH#nfq@(W;7|LUoq~8G{{>PVAvW{df>)Tm!B?J=9>4iF*CL@3ZnOI7r@3JT1<-%OTokm)Hw6r%O6$?|BQ)@6H)u{gShvA zU|hL(Y4}~GMW9mLd#VF|J~ofnq48tt(zhrr@m*4s4#eSxpOo&#>(H-z+7@wV^8K3L z)(LL1iA;AjnD}%c@X666ne;PYXR`Co(;$KYb`aHZE8cl5P8p#_mD-KhcO#4yB*O!- zF&xcj*?_Aa-oWQ!zjCL@F<8k3CKa2ya%!8#w$-k%M9Ceg->s;JT&0Rt(-A&re8Ks= zf%;y!{y}v_t;+Vnu02k**Z#Z{Z9MLgI;cBtn+yu5|GGhrRv`KMKAhUXW9e7g7F zq;KT6gCYSFs=V(Oz8JbMbbs0oDD3)jx!4UMT@=mW62YwiN{}CV^A4ZDG99WLqRnmb7mJ*; z@1_4+_v8|@$x!WidbV_9#5GCPmh1SpPH+GjmFP|XDMAdSFwyNf4yr!VqsJvEph_xA zJuf)YqZoi9&tm)^KuLr=y^w!3-rKpV-cB=A=L@CaJ=&(Sme*HOS9#S(X_PBlTwCq?$VdX{G#BCO)=KUZ`QNtZYX_6AkdA zA`>u$kny3;n8N1N!{_<|hNWD`^)u;TLYD!R+W%F|so;P-57n^%O3|%n(maI6n(wSK zZNazzba2UDHV!$`JRJ~%=ysfGEQK2Tj8kA@9Pl1%x7XJ4sbY0WxWc%=mA3^uVQ-@{ zBY7Y`zx@<0rp_{TmN68kaH<^tUfV}i%y03k%h&syR$Y=`Dt z#ViD*!(IWxKcCr3MHnEav386tu7HN>{gcNh63bK)ygmvQETr6w=$i^C zJ$@U={CRvQx|>M+nsT<)@iL^|XxlGfaaFD{|CZVw-h1{n|IciPe>ZztFfHr15AuPm z?*fXcqRpPGJEMA5bLp`xRQgtZd=xxU69q2L2?Fd!d^+4$CxeLm&LfaTMfTn%2HyiI5U%}${Y@2 znPc23G`SYo!;5QZMR5F=E_>W}u#2pY^v1j-7Dvi&@3wGN|FbDL@{I&yaiZoXw_6CF zoy6;+QQ2;?X^1*cBk*YB?r7RPgXmc^#=rIAre+AsU=TbW1XbqP{uXO&zd0I6PJScC zF?cLmWK3_$qu(}_9f~#BJ(LZAVc*+rGhfd&xO7g(m-{Htw9bbgC#Y?4kvCnWfeAOO zCU*ru32e`DR5m?A>>VfT40`#PI)_9*{UWiL{<~Q9ov>)9KY|J%yrG5U?`50c&HLheCzg6}Ic+dvun z94eO3hDrlx{sb0jjuf>9C}#*cfO`=}_zc@~p=6}6Ucu0!C<}LpJ*F~&kCnN@$v_3j zqAu>^dUPt7&+?=)pfS!_T`aYN5HK(}rNO$&lnS-dTzTZdm|PnVjIzb{ibne*L09E| zM+Zl}S{Ii1c`LMGM=Mq%g~8dx@;)q#-y7Zr;eWvv><(%kq=gDYt3Z;Dp>AsMr~p5R zZ@JM_-16(`?|!MgY1dC?Gd({?T8Tw`3Hl{zW}r<-dBui1et_Clr?KefJ@_t|?N8Jz zBZy|8VS!OYU=xZpjv-cyoRQ8lLRVj9%j&Z<+2Y2hrypLiF4pvNc<%`Onsw&nm-(1& z)IQoS5*E+APaB^8BYg#0YsvQk7%)<6`Y(>Tu*mQ2&rgNHqN8$VTAE&$t@vU_$1z!v zxsCiV(9Mrk$%a)-WP=UOfgoiG2(RpCJ#K2c-5 zwp$FsU8 zN#)TWDBqzpWlFG<2fcKV3R&#kza_MP6 zPJVL=*G5tJtd0=mA2rmjPQ3hj9b_^vVthzpXplxBP@KG zOzM4&Bx4IVQU0aw()&iM*8t>E3IFQkD4`bouq`hTz-<)|!{pvq-y-*xtri7F=A(TF zB&vQ~k(jmlr9Q=#n%}mg=TOf|h7?GIlZ^1$k0$@GxF~+hV zH9rZJu9L=xvyOROd}4V1E5<$EBN$=NhAl>UvgcdUsy8Y@4FIeaUpEUg9O*cD!XJ^- z|2!NPS&ju1rD0JEBh%MdneuXuvp*|PY6ij7iek+~W0fo0grPwbzn)><_}5QGhVZ5W zC=qx{V7|5!D_#|;!}sd>_va%uSN>RA(VI7tr{F%0qBdcl^RMd4*!1xuo6Ak4@KYQA z8wMLo4;9IJ`}9-QQP=-m9s*I z5&J2J7Yr!;*Ef!+S%=xvYR%_|3Sfu;D4-N3n%P@{J;#T4m3mcf!%V8!62;N;q4q)t z&6Qq6#tBM!*1y8`#IuXGcEygms`x4P;y;rZ`Xs$M=p^sng&p%4A~Trx=ARBpRuV9Qo#-(&<{?FB#HHb6KWaF4h4}_`#FvuY-87Br5r)2&uT_ zKVvKtW3|wBAw*v7EVE|sV$aDHC!-?!yRj>p@tTKz}xRB&s*t0CEL# z(}C$A4$6)SPXcCzKD`xpl9#kIkmabV*7U;IN3@=0b6WVV9UA9K!uNlcDa|TvmTW&7 z2Ov^8J`bh1?hfpvWBeA0ok}gTyMIgm6UB8r zq6W2ejyr~oJNnL#z3x!g$(AHvgn2&SFFR?jITSTyo~6Ls zigvvP-7kKfb_u9>f`m97$H3f`@3-@KC$-daO7%O+2TU0lIh}<~M0C?jB&`sy@oQu# zZV468CU_no`z5FFXgE`NMugblXFA641sGGfW`f2_220&LjvA5PPt$d(KDhPzDaPVb z2u-t`<{ADOo2oWE+rJ;b@dQ5$Y^W5jFlZ8@^LCtz3?0r7?|LbqxIdKE86W9_;cPRd zicQLik!3Iw(Rxlt$iUqw6>0+^u*nMWs&$;^r->EVQ0zLuwrpn`x3{*G*9Oxqdi*Mu z9P(E4tzX%7Nm$P`tP#+e)63|IqGrrErDd^#(RA}tZpUik`dZrJA<1txg{l>v*{Zv{ zyFA^8Ycq|%8bC-k0id||o6(|xSx|i20v0mrZPMaqRqK6d9%>^6g%*Ez>(190ySnbF zffrYk>`#A8P$@}-gEs^Gvo3cMJrl%!IE9d_Zr@1#ao_x1P#6K!Ems@ql#~|c+a%4r z9DIAQ$f3?;htb+eNB!Qxf?BNIzCXkQ*td#p*k0ZDxhG)(#qr6~*T?HDBLREA`WP5I zwOjXsW`#QM{nUl!&x)jWOCUeqNF2TlwJLTzS1@78V=BBD-}a9FKogv-$8NDpAQF#F zoRp4Rx{sAj}-a^AL|Z*4mBcazh18OF)< zaL5OUyQ?;vVN>i}OJHN-d9rYUu!7Emui7@@Z*pH~vKMqqz?9kQ+=l%Q6|!os+~`1> znrW{!el$W_j$G*)fq}qSxG}Klj~8Wba_AF|%BjjR)wH_SU&i$mrkmK8A|W+>!_J(c zQP*=oe267+SPLYs$ImLvQhbYYQl9Jqvadm3@^=Rb+0L$>`Dk2+w>zQ%P_yx<-bCH` zYQ)dS7+5oy;UIGSnBpn92!4mD#gmDBxbtrR_{+I>sRj_a!JM%XNWzb611nVSK;yaf zx^a4s5Q+|5-4gOL)P&?`Fhj9}*wv%(9fz++<#Fxczd%+iDKju`_1e%Z@HO`nsG2=v z3a9S+oPWn)D3-m>I2y`zX~^;NO+Ux6E6uP(-NAk?zK0J(u44xm`%jMmpJ7Bn^}UJi*QvI+ZzaToV_P2)FYA%!YARCpzJOffn## zERW+$0*Kgb+SLVtH5b?tNL=j%OKsEdD$kDL0oZ9tS7A$`{6?EK(~WQ5CG=OIl30C97rffqKq7{g0tzjD5^qJcwv@ zyb|w6(lx|aE{!oK_`>{<9>c;yxer97NRsZ_isZBY^*tO2tWz%9JnJfjiHSV))(MjC zfG=Mv;P-2*HfS@c3!TC~M%#nI_KlY_$n1_%q)eEHEUmb)IEbeglU55a7=TZbs z(to9cCLhSp!yB_pi6tHGbJhcayas(R@>ID^jT*x#9*22k3dTewDb6e5<>FB?+6DcI z5h~rK@UF%OaTNpZ{B9S@B6m z@qYgJ?Z+#jaAU%9P)u$AfO+t0$m$O_Bj|oXV70c#BklU~9$be8!cOiGnNf00%AY;8 zWG&dGIK(y4QqK7$oA6KKU@L3#pP$pUKdTI?^1qGZ4l{h?a-SJ^zwh%VOX?%_8l@_t z-Sg^XGw|#6ZqxPW^LKY6_deIN3(nC$@&McTC+)SGz4dgA1v}0fZ&z=s*eTDxUDqV4 z_VMdSL-s-tG9XBrrY8P`ZG!TxH!R0Bk&wuHkz~kc2(qJhk?kW?5Xzg4zCHf@KpQ?z z_Dso^kqnGtfC5A3bf^@fE8&?3B=hJ;45dwu>p~T>dX@*40l&JVLjJwqrSdMtrzHp^F#Yw2it28*Ge|JvAFvuJ=Rvvl>VO2Qza!Qz3c@b z*i5CH@!-Hpe;7lLkCXp6nT@Wu*2;)@T!;OOHd2Ont4N8YFgBn+6FCwyfQ46;a?@C| z7$z={wk^WKg#ZsgCpcBAhm<*5HqTP31vo2ky1lcy_TrR9R)4b`c2E&5HHq15CHVNa zyFYwNo&rt*=x|$@0$MeVYG@gs@P#rfMe}f=0Dfn5Eq8mE#-PXatBHwEA%CsNq>dce}#Hs4yb zD#U3g#)j`atXt}m*4-yXhc;_)PW08ON~K^z>K#~OxebLJiq6i?rVhyJC=vQ-51++os)3&*DG{zm zpkcW*wAx;k8Ccm~zz}@C5EK;3aIp%3+qDMHrLqSTus2@q7J! z*1C}^>f=v*^L#sVD5EUUd!}qT;?=2+bJ9?aZR>f*byD&hsp)Po$(%6qo&QZ$PRj!u z*4;?br;!hK)q`BxwRH}@a}Ho61BB*|XTK(29!oJUdKzigr8`#FD- z9}ovy6FT5jr$5p(c?H1#;`Lb*e%K*o$-!PBw~?P-u-*-jtT&gmI@5}RDPxJtBR|>D z30nxNteG&NXhLt<$9z^WIY<3(FgGL@WHJa&k`T#tsise-@)?oB>OXrrf_3zNoDoqP zYQXx757c*Kg6pzj(G^s=Y4jO!p$_d&EmdByOdWdybVs7)uz~|}#}^kVjZX#!9XOp3 zSF8a^SBG!%I?=upR%RImZ-`WI$ZKOq{5QB1;4)zAvm8FzOI9CO7SAlGX5mkwXxi*> zOj28DKBpODfD1whelC;yr+sEv9vGejE`kto9flgZ{a*vAdp-4D08gE&WK5&GKFm&Fo!!`wJNps%o zd410;rp+6Y+{tf0_1A{H8dg(QWN0k$V+DKYF?<|JpGo$CYFx#N?OrqQew1PF1_v<6 ztKnK|B2A^1SuiR&!Tt-?0fTSS_TmE$4O5h3MxF;Pv|5A*bC1^vIDu1;>Q1-G;dr^t zbq?Faw7#~5;nm41p$+%Rk@n%c1jDm5j9S6eAeoRm>UL)3%fx40nY zA?j`9a@zZ1_@)mZ$VCV(>b!at$zzewzx}uK)~VKYNsb8C?NUUIF%L@92KQi_(;TO~!Tk4*e)0u)n4)WS$=ViPK!$RF}uzCK7y z7-{j!4D06bcM@aezh06=kGSGnnu;nUczSy`7aS{ic6)`9*3y~Pv6~VUF@G-CZPA-G z?%CFvj3>C)Rug}>7faZd$~2rQ*|!}pInjNk_-^0XcRZ^uVcYG6ebD9N-3mq)FcH%i z4AujhDtKD~w&89QdiVC%?EIQ8&>xao6z?UZPD|7kl;onGzGkx>Q!G#B(@fE$7;+P7 z%98C_*u_RQ+SQ`AtJm#b%qM6Ye+1&)l?0WN)ZJmcaJUXE^ga*Z@aEbW_!f&#WDm=Y z27V1MJ1s9IWP9=R)Ias~gQ`=Ac$hPR@#<|w+owL#3+ky{R!wAb905AER))aX&L9-Y zm8y%;)F1h0RpqM}Bn*3h-{s*89kzdDtrbp8;8nbYwsdm|V2 ziBLW3JFj~Cd}kOu)86Tb$t2&SWj<{IOf~TAv8NE=?@ZW3LjrqXH9(iWu=&S{zzm70 z)inOts-eKdZ0#LzAdDc^qNVX6UtO2od9v5d-IYFm4pFBCy=~rTHC5oNC==g%_E_~& zF5n{)4|D_k7FV4KvQRAB?9xU`8M<}XA&AvDAzh6XqB*zf{Fp3Dlg&#WHvdb*h13sq zJW_N-RgB<(poFi@qz$fwrhR?~_A4soWLfNGo@4mEP4&3BrmxK*-4(mfQ<6OM&yGs@ zNQnZ(uXaL>SuD2FyMSQM`ZCjj%LTE8RG@^!XWxUwo{3j2L0D!=+qyt1fme-c@6!1u zQ*!r}2%@AI2NtY@QI#R$BO(hw|G238kZj;lWv73Rh;CfsavtAEL#~tRCAzV~#~pWp zg^?rZ>FBzxd*u@=&)$EQw*u)$>hz|E;>@(2H(mKN$%vHHU##)FQ}mso-n^b^F1%I| z`S@$Lbln2zlH}!eok^`*4lsJ#oQfBBgv+Wb1tb#D7%5e0an{=|O;s{`n!Eo&7y5SQ z8PNhg|9A=u7bZ*+z#XcUCn)NH@l-(WOYKq!r}Ap@Pk(;unT3x?ciearS0a3 zX!`O&g<6)ufa?1OJ9q1;yFZOyL`=}pf9;Foqe>tcpKk)(A+kj6sFD|%)p{IYZrguxL9u=-SHko~c4E!nb z{i)+e`GzkgBtvEUUm4su{9=Hv($aRygiPj@Jz~HU)_u2?ZU2ZnFG@2H2z6 z3@+h=638+P;WXX=c0AtQ3t0B1o{*`*zbw?(dvUlA(^jO4b>HgV~+}=`uKDw zce;f8b*f>Tq#gsl2z|tA%xWFE^OoLYAa?DWqtgEZ$t#~h!ugv4iXwHH!}5RSj!`dV zSmhc48kz=r)HgPba#lMO8~@q>l>NC;|CGs!@y*jqybp5zp)DS^fy#d= z(jx9|yhkqIrP347zYNe}Jq^+2w!m08p);3}2knVIUrAQz(vl|8Htn&?rR(rEJ@R0(?oyw)*}>Vdk>f3{E!lS5G(jqb zdlGnZ$14$*#ppoX=GsB@W=n16Vv0=a9#|VG|M$y7W$SGnIgltr<@4;HTp3eru6?!V zBZ9FIS*=?K>cB44-- z5)M&#c8^5aEHwSGTEVUfE*`RFeho(P1_&69hJ4+u=lHG9~g7wXbJ{3 z&y?hPqh}^k;G2g8hPO8n4t1`oMLUU!U!gJ~+Kz0}-1F}0Ko_1C02vo;XC$o6&51bS z-18+q%M>$Ki1`suhfrN1ys-5`Rk=#hp8Jm)Z4m;U(^1POs2yZ5OOkY0Iv9SGBp1-o z;a4ClgDE3@t8J}Nl6Hg{9vlxZ z`ie48gKD}-vbKMZp{hgk-n#v-Y*%rInsfqld`Q2ll)KoYlBWE$RVsipfVJcXrCwZ& zw61pc$Oz`qLXfx!6;Ng!8rFOM-tLw-*y<*_7l?TJiF|vSXEXj-m5JT+5mPvL8}a!2 z)n9NEO&iFvulmbAVJ(^0sdL(B{DFZ>dqY?J@e%j!s1u*bvwrOcMi1jGoG6= zlK@<#?54+F%lcz>ImsRjK)TcdjDyV<1PFtlG70j3xmy$Nv>L#Z~6!n6R58a-dY+E`Yj&rLRfcGBpbk=v|OlVF8~5J2}K zW9j+#+wm&r8X@sh$$h)S_cVait`hmaoNstMv1Fz!tK(gv*F5E9%`CW-q<P z-TAHd{q@%wr2sLx(E%*Q>$U!2V^cfN857F;-8=Pf`*=`4!qv}r7MXj}h4xJ2dw=sb zUGj6p4oc^swaKq3!g&_H(vu5mnfXL{LQRKi$eB=F{4GLOF`>GIT-v~-1MmWXF#WJK z^>MwKE0@-pZ|K`ULIBYI=~KX{&ejJ)w%~l*{=M!?0E4$Vul5obK;2}0SVl|3aEt5Vp}$z^O)phL9^((Z_;OZHR&w&V?|4x4 zllx+kA`s?Zm-bOZkS|=SoY?vCik9^C{qb2tqx$?Kt3@z9S$EI#=e!sWzJgn~2O+?8 z7hU|8nej*RrTok1iTJS+ZDilc+xUtpy6fAnlygEs!mv{v8|{yqbHE@U_>(9`j2WYF zaq#03Yo7PDhTocu|guw_XQFx4)}_9abgRo`a|X8@|rroY1^`={p(Oo z!99gsY#}rcN~*9w&{5s*=h;WOL4Zo)#dzyu8Rcx&gx?t383yEjU*!X?fsecbKXLrc z>F+tdl8zzf>u8mFZZakHem>8tp$(lWAmwiKsZ0h?Zfn^X%z_(% zcmzdlW;m(yKsUkjx4q4`Js#!PRs-q?cvN4BxQQ4~x{TYeDCa?ZXgQ-uX_P z^xZ{iFc2K|u6^66ui&Fm>dkUV(F}iWHjHEqu4k77B5DBIZEDEmcwAjgb~=N#AwB<% z9FG1AB-Vm;G2GZc^rivWxqtPl6i(!_@A=mSIw0k>nGE{~l(f3-A8>>xb;;oy<9i?A zhxD%`)>YuY*bbG~aDHhP*X;w8;9m+rOspHRYtTU`!&EK9?Z&GK%6PIsGzoQG2Ue?aZyMPRp3}}`aL!>G)sr_wjIcoWtC`r!4_c4f=YoCwN?ZA zzM2&Lv2QQ8*M?LY@nq&a%IaOtPYW!PAKmkc`ftd$CgDqE{nl>tNg2-FW6io)>mKVY&w21S-$;~T3Kns&nNnRfzeWR zbp)4{p;nKm91B5*{r_o@)4kZvH?U~SBAyYhw8IJe)SA)x#?I)(5A+mJZOOR@d?n=p z&z4{7qo>4&0$Y#>)-Bp9s7~P>HO=c(>ANslZjL$t1qwujN3&N35*I7F@so*IOjRAP z$R4ETR(RqA8Q!5_A>Urt(ec52zofHj#X993F!%AGW8FM_|O zs_dF6XLwLk&rqQ#W^ifYzriH`NL*d#>eWjI7*iz{S6X_!AOT*d({F3$RDY=yP@P#b zE8y(JdM=<*SYson zPd!2Q@1Q@C#FVX$A)4hJP&hS%M!A<)xp2>8fJ(F^^_Y9sfhc@4N##zw<#Nqr23t%3 zKux2qP%INZwtf3axCo=fxuE+1NUn49VQcf3iHGIpekGO2tdV>S$TVm1-*tEQqu#6C zPh8?lM<33q+L&Wq`2w8PUaVA|GF%D(o1*W0JO}z$A=~xj^UrUMjeYLRp3oShiD1@P zx6;RD85D3Es~!C)arm9$IZK=V<@ctJ2ELovE~-$+Do&6oRwMVSpS#Cz5w`kYSpNY; zlvd!w)B9D4v9w)M#Zrd-!G5s$dgi;zp@G>A;m($CXUjm{J8y#XED=gvng+Lr7<_cSUuy^_s$OUvDZCnUE$Yv$xOtzVU|((`^!!Bpiffr@gLyf z+rwF)i(HtjD9X2?*75N@->2s&bVHA2a&b0XzVGKP=3GNy9Okq$j(7!}pygcqviwKe z2W3S)1#0W3Y1aCwh%dsonEU_*&;>k(Fb)og6IMTM&gb?AN$5qXLV{6*Vebei&E_6( zA8j!bf?ZQIi5t^x^yp1F4B=Z`gxRl_%<0cAM!(PR4RRZsy=^z}eWLm#KQTZPe)K}~ zBLNCu$VN<`Bm^QihnW8D0FZcnUqq7`|a_fa<~wiAq=Ik zge>@R1W?J22?Mb=dw05x3=xCh_sKqMnEq;fH;i z_1rFAr|L?7TR2L;peiOZ{cz`G@*-@~uM3vC*{&_cuH`Qz zBEIfHeX3WyeBlKaBD@u-$~$S7NXg%mT`f3}h4T8Kuv6a+mg4TqiW;8KR4J& zS&4s7x)_+dMxEh7l!75UWP>@jnTReJX=(Igy0Qx*gN~th7nsV6d9o#Aw<^7k>@#LZ z6_;1hvh`le9XR|$OLcRdQ!fR}JR;;nd!dzwP{XGsTP1 zGwl5o^8TV=O4G!}qVkA0&R+O7hbj4_tyUEk8{lfLYsVwC3$Lf-y0-anj@r94HXAs<$_KN<3IZWLnaheFY*5z@8jF0360kb}6FvnisRmuEdG&RWC3p`^sKorxgZiEo4Y=eR`%1+=nvLZo1W9dP6;-@8<0vb^r$Q*951(Q{c&Q$x#hbdsV z((4R1^x&OSohM)Mh!qKpYj|a%{wS0`G2z-3&Uy{+WelIr|_3VQ#%v8K9^Lf7tOg+!je9!1qZP~%; zXhTf~wD_tFv0a%C=eJwGc;oPHSAADkJ$!Y^;Nc=zJH7W$G;#K(_jHx1*26YUd`3V_ zAR7ux@McQkiy%!3=i{N*x1$R+*t9Y5A_+epk|QO+t-t$n#&a5g)z>toc00DPhG-ml z=iQ=Q=c5)NeN1!lUD$_~i-8NK%XG`N$K$U}u?63U^m@|QV~Ym#GMXG3??%?1(L`C) z@}MjOUBj3`t)Q0)OD~q}y=c9e3Ifts3kL~ifz|M&gOMyi3S`?d6D;<+;kZ49cQ}(I zX!fIF&Eiq<7SQzhlnvJ9eCe*goQd`-`_EhsuW9ESjVCNq_46cFyX{3XF zw3lnU-yjBbki;3eO-xqn=ua0Tu%DN(8-Hf{mu-fU<*!j$SvJHe%}3f(kDcxy%zVjF zQpHhR>O3HG1ZFObbR9|1BSZCgW%vm+Q1zx8bynhIiVa392`3!&&B%yYCQSK4s}S6( zFe^KJ13|cYYWFWqZ6f_td6{k3zBq)vaJcXlT< ziz7ax83rTOnKdZk$_u3wK=_A<&!DQe}la!%eCn5d_ZL#<)JnoW&Vpf$Xd zcJqMn+m?ZI3ybLSpuiZzWz~mJ0E!e|yy5G<$DXakGIGMpa98bA=P>z<##M0Z34k2} zBc2L|4su=7(Hs16-)}$HSAu1oo}6e8f%DVwtaA)~#xmwp485kUG|+B$m+P~pWZ{pP z;s6yCZ$y~7Ia0_RU(wN4Wz~)rTa?oY6?N9cLl0h{OW8=uV{Rg>$&HtM1d;(np3wCV zy);!Z*rzC9yD-DK7U4gGQpVn9M5m2_NQ9B6PC3Ps{YhY&kh7}PSxueOq9IB38{znT zUr%3@)oIbd@u|8X2K0MexP%nrYs)UWc3RaWWuDVQ;k}3L{X`}?&1Tm5fRT~LZyppa zgkG3w@TkDVN3!RsJ9?!8~GB){|C3 z_b0YDe+|mJ|IM+Lb%U(0aEMNUsnK|P$Jj50)EuPu>TchzJUykGs`-jKG^4Wpb8$*m zYF5yQPv>T4)~FBB5C$~Jm1Wd2n;pYmb(6TIe5aWTf@oZ%fr5g zendAWg9aDF1SDP=rQjLK(2!PML}muJ%T@9Hea3HjZWbyLQX_RgHC<^K04v0zuOk=HygpbN3>OM52T6bAFQ=nW%ve=82r?ICDCfkWDNk|J zo4H=V0lz*L|8UC|jtD3W2Qsg-9N6YW0=@7l`D9Xmzg~I=2$3*70K1e_r!2)wbuk+B z!>rCmM7~jx<15a0oPLo?=5WgJGT1*udQ$f%c_q$bnATt z;svVa|M~B<=}JBBs_oV$n&mc%+?JDGL2lAuxMg+Y49*E|sYhQn%E_{AtxEz_N;$9` zMran7BfLZJ(({NZtnJnN0+aCJAah^d9$gk1 zlS3i;q?%_^vdhcMf~OCNiN6Os350r}o`Sz%7gA2Xm2+XX>pLf(%c?rWB194uTngDL zyZ)5D`GjReq!`1%gHQ}PQUQ&(p~3XoYsey=`rrn;+~tapqOczbfWeTPjl8(Hd6++6 z-p%VZ4ciw?eA*}~cz;zyZhA<3PC&Bt_iLC=ZpYPsj*Q^>^iv;Tc}>mVGynIaoVR=5 zC{)t%NWoRPSEWaDKU88J#y2kDRug!f?(YB6J+Sh+p7rX^VPnsiL7%@Kl#cIT_J{q` z)stouJ7iOE061jc*2pg1YT!<&ro3VpQvNbhAlCngkut}Oc<}4D#aP)6ZDa_EWB^@D zP)l8xv^^|3z2%X&x(_1@b_9tw)tG%!mX|Kt3sNOR@o&HyDcAv@O5S9Xn1xXeQxVVH z2IADD_&i8kf*G91eu=24tOk0caHknhIY=EW#Tn3f<>4t(;Q4NEW;k-*- ziUAMx3y#b2>U+Mb-YQZHZ#t~mz|NMK(596R$)uv@2HrmIn!LfyEvMUgA@?yCKvC9Ul0d*U7cdhI%RRKiaNx~Oc z3D)EoKbm~L82*T$Z;ZM;6Asu<2 z_+o;)3ekEOrti*MscP4-@PEQOS^&;Xmo(u$Lw0yKZb^(7+$hI1H`_Q@t)ST4ARA6^ z%?|yILEvjy7y+LLmoqbzK2|VCAq-98)B!_(bnOD#CVi@TOS-(X5Oi;!0ff5*DqZHk z8>QpJp4nJ$2hcq~`F-VdK^%p3WbFdmgcXp!`$|p)39>$^A8;ES=&|Vz({@dJiRY_2 z)qu}7y;q))nhnx0DEWMGY+@^0@j|3UEd!}%2CRYU_RTr*WVp~05{_Bz;@=&cowdG2 zo&y0y3(w--pT{`2kIT@W{_YHhYbx1g%IV6aR}Vaj@p1U*VKgu8vXuEmaQo+lQN*5p z9Ck^x!7yVgg$zL)bu)kW@hF$3o;$6-m6x1mNaaFQa^J{e;UCL=s~=6A%`C=$6v2vR ze~5Pfq#Au*EQY=6FRy#!>fEVS6n*k7kWQf)7ydQE1}3n-x3ez4nscB16jFCo{~(7o zlWu#)p-OH3u|yd=JAmrN>G}Dj6E74%r7qCSdIM%(0g@~8FxZ%cioV$i<0m zUXGi!ITagX#el4fgFd_Ua|l%4{q!3cf?~`ySrvWM2}~dA;_vjZ#awPzbxH+5G81n8 zJrbrCS-t$}S9<|`s}ZFQEDs@*gQ_-oW~NPC#+05G-~YFbD8bk1)E3vmt%hd_4xB|z zOI%AF-|mkr9^quA>z#Gg%9dqjR^nH4A2X6|yHd&_D>_OgBJmwy$a3MFQSK29QOCM( z%-7lc=0^dBI9`|Tc6;B-Chn2T@dg?7MuEdy_F+VJQmnT+Kf~-e`67xf%#` z@F|i8ge?AoQpQdsWLsq@QGI0u{kVAIQ=3!KXfK`FD9tWv82f%=dmcZ)~ zBb$;c58?~6bT^^;VB_%#l++bRxFx`s-de`NNL%K0B8$6M)l^cv0dbGVmZ*yM^VR}F zxrdd#?&)VED95#o2zAQcT<#3VyjFb;lg;_*>c+8QwP;Zl{E&DHU&%im7)?Srsi*#` zgt%G*eETBG5s@-?Oe?=3qK0 zP{VsDdORDMRqc7#cKn)%MjIO^|Fs}s{(WUUH~BBV-#p>lVo`26M+T>YvCP%4$Xr6{ z2Yc(-OLYzvv+fJCAHLXf-gl=eEM}iTE?c*oYWp_EIP)LF>QJA0{RpDt z2&Oel+Y-8q_NBL>v1>0LMhbMxQ69k#qY#v<0~n9!hCP)xEZq24Os z%^bod@Hk^A=0jHbdlM9Gfo3*#J ze4!=!Mk&}+M1zVcCp7FKs0^P;0+S^l`5?cHR<$25W>Ke+jX#I8t@&5WU^os=G7zbH z0do5*I>Lax2nl9U=*IBs3b1U>d3y;ycmn0dGgn)?3}G{Lr#PRSW^kp(e0qnym(r(~4DP;W4$AXyUaVyyWpzTu`m>u3n`{M3OV|#egozK@`}-gp z{dcKlp(Bz{!KMV+3F&0T7MUu4^-@J-NV7p!u>D~D`F9Q~h^k#Y{9kmcb3nf0#Ue{YCV-d&f+*HdTR4+XAWsD^bIt+;$Uq>w8jT1^B)4-#C3Y+MURErRh;trAaCIP1tlByXps_NjHI9KSGsHyI0o8v20Z4Dts$Z?0Z}BZ=t2D>jN!W zgGH?3we`R>Zvjv@#nAsmI$`9GZ2D33NJQ`XRGF~cB%=xV)}OMQnI-;=X$mlyE49Cn z9El7qY$oVWrkyiw>AqZ1De%!|t1tVb2}O-ZpS(&iSp!mLD?=s;)lT*aSXRf#0>=;}z%WBb1+ z0LcI=^57PmmbL!{#{oG0+78GiK$-2MvjTd9-xhs9`&Hj5YAdN0x!3(YV2MZ4_CWnb zpQZp`?W?aKGd0$qA4>-& z+mao_o9un>z@OqiQC;;8wI@4AdrWD?IzX&FqrEY7@ak(8*uZ7;=FO8F_?8V;?A!Oe z%`aMXzl8;&HsQzJC6`>13)^YkNS)9Vc~an;)Ox5xxdjN<2wqJr3*%G{L^K$w7){T; zfBhNcpp0TrtRMC$J_x@c9I%y%K{qDS%>WXg^A9)a;`7UEx1FB0Vla;{*W>_ExrIL2 z>R@fE2Z6IQ0R>V0&~E@TGo@@992~S{05dh=#ineOJOhCUsGgYcNK;lot_2~g8#it& zyeG!S_83G(vBvgn2T&nV0P|X(b|nFXrh0W&)+>kl#|rCzr4w+vQ3gMrBPht|2fw-V z&PpinM0zqIfx(y^K-Js(T*y9%@+ug(A3RW~ywXGnJjXynhep#}HFIzE_CbxO@6&|~ z7ZzR*6wiF0H&e~cb%5p7XA_<9glh<}=FJNL>zD|zc>RBSxF5xkCK=uU00003MJdgl&7 z>g`2KN_?v^e}b*Ob4RH~529`c`?XgPU(aaXRI;-2op$NL(qy&LH@m@|*~#jET2w~z z@8#c`e|DKJ7c!{y`|4+*O_26fo#CxIyNPe1+U=o5bFaUa{qaMAd=p=xelixz?d+VL z!qC(4F)1H$+l^B#=fz;OvVd{n7)CJ4SL6s94PCYWuOKChqtW=U zf{TFm_Syd?c!9S!{+mD$K}fm&t4NKwz46}!4IK>^;=c-wyWF>*`@f0*2H`)t{|ezh z*#0Yo|G@fh5dNe4uMqx&?Y}|zkM6%h_z$-K9m0PQ{r`wVG0D4AHux`BePi|C=l}EG zkLoJ;uHE^zF$-JAlYg2`o(r;Mar@+42tl`n81b*R>CK2}V>Z~bol=j}Y@R4BE8?GT9vFYucof`)r7u`{pzGGdB9j(9Cte-y3RhE{ZO<7#9`nQ$_Jx!V5(6kzg1_$NL3moX*;&HTe z+4VVZ3*~ zUDWI{nl&GFj{>@kf;YXGGswSAMdYZTAln%FLA@Y7M=*IQ}bR_3c&ZQt(0h z$!aWTz`x)S{9g0Ph;a4XQs7E~?F|*1?4Q0sx9autd+|CFANbi}tbfrG^8@Q~gQ1`5 zF`3?o+QOoukd&AWk?N89RPxqa{F6Jx{XA4W>!Mhcq@N>@ieD!o@a z0=n-p&xM{YxfO*R#v46nenSwxQ`x-xA(o?Vr>bpYLg@g!Gh1yJq->=4mp4z^J^kwH zAbh3jbPfftZ@;<5mkJu@Nb)V+#0wO@v&EBehCF8e&_;Eb9*JnjhpfGRG#brA8;kc# zQ=HOtvnk;#pX&#a=$?e4gN8qdJ|&Z_%f59?{#Deb}P^O%koNJ zJpB(`=m3jb@vIx>ceiZFnGc(C(5s*%VoHELH5j92Fnd*xR;d>#3Yq$1TvTZ5U-kE? zTfubG%?HicFHwibvvxZlUom&+6H|yU=50!3ZS+LOrX|D$b8-xDzml2SEu?J>86s?r zcszs0Fw~z0EIs{8m%7)^+<7s=B=-Cr>*wn$do^4)9vK{K;0tlKttPbL`K z&+Ivz&i8j62^&n|EJ`4Yq3XpA@uU=M8$(rBLU2jr1xj-5{IHOGCkPvwP@)Lr5M|>x z%=dSo@i(@-y5rmGWBQ(MnReWS(hrZglK8<$s~YhWRrukCnS9HH(_nIA;7X_^^B1Kq zRPtao8bt;n^wsTs(t7H<@(zq(Bpr@&m|rQ4KvqWAWF?KFX!u$5)gbjDm)OC8y~f!u zpPo@N*b;xTp&Y#(!|&bYK)J(P+nJ-1TeQ!%4RU{JFNVVO{KNpc(JJ@~qn83Tew!md z-xv8$D3q!X#_=%ZACx{R`Eo8ubfXW)`r8~i(VmzV z8F7{+Fo^}zq&6XfY}2#=qc|XXd|bnkj%HHu)=wDd)W9AfH6%DLLviDBvoeqkJ+Zdk zIx`691puVM0jNz;xzH5|RC+HTiBt637&=1v8J;aPFLpqh7?96on}s-=}e!5S{Jo&rM2o1SD{e#gYCdTg&`O z=-c(lUXwkf6GbwMoz&s<3>IUwilfJ81)e{^4lB8)7@@(G5T{j)np(^(Dg}gmebAZ% z`yINd{56XL>$glYQ5{`7^a&gQKU6u;Q-g#G67Z!&!t5b5)XW6h`DTtXcUS3ccZlyh zAponxsqYxads{oNFLr*^Fm7ky^y5a7lsoWFhz}vvQ~{Y zm$Lc+-$ERTBNKV{pP(uAIi>P+iV!`1B2pbe4sZZ^D3{rkVIVg=pz=bf(Cl4I?SKnT zJ~S-HZvIn4G2ZI@Zc_JH|T8=*d- z9KjV%b@bGTMMhiQc8FY|Kvcxf-SnO=k=N zK~%&Y(0M(1*`J|G1~@0|^G3gh<|FQcP+W+H-O|K&e#h8Z?TKV{3a(~ruU0-ry(aBM z@^6fBgNcdtFUzzv$C)UH(|dBHC5^7%5BfCJJ7hvDLd zUBTyTi6?s^e;##RMMZ#sf5b9hvkPz=%*ziBx@~)_FmF%bf*M@rOM5KFM2yS7_+j52 ztP0DXYQ&J(>WTqRA=6fusCwg*n}E>T=V}8CmQE5pS68!qz>n*3dsS`w|7h^{lT=dV zOgq?Ov))9Fph96lOtIf%CcpEH8qm0W!!L6*ZHD`{h zxG^b3tRX3wCxnRi=)MLa`et2L;;qS(Mvf#a7WVp-=h+Np2gASu9qGf|J(meLlQO2c!aGxSKB z80QC`r4c~4+5-CK2r&pHF7d)AF2D7{>Qg>m;p8fz@-eA09y7(6K`4>}GMcyhcWmzs zvSo3_o=R><1*fmCJUo*>FBB`^4(c`m`H@B1ajSz#7``TO(pu>?@2cMwbR_Ry)(yrB6cZBq0GO>M>5RBDE zu46v3!K$cj;JqIDf5qBIK^R1CS+3Rfado(%@Ik@}x*z z(Eni$w8*^e|BX+CukCQ)5&PEtk@l3xd2|3*MZL#zY;3LKBcZXjy|vKdVVubW0mc~$ zC(+KK-PZHA=geeey7yE}lbm*Z;}B(8EszG%j(5mAqpp(m;;!1|jlt`y!aW8Y>14_f zW@in(53yZDMtyIHBxgUqtRi&mMUkT7eQv_qTVi|@=}rc()))hp9)@V~J=;Bx*-k|3 z5)2wmGF~(eN`6Y&P9xXdk8Fu3cBoK)Dlc@ba#$3dL9XM9?p)v4t?lO-4R&HQ5_)uP zn+5}h7r5lH))3OA+7S8C0t7SwSmue&SAevZkpbo`KjWwyiD6`)g6P0HO%xmN4E=m* znO%pIF4BL04P*L(1}hs9M$F?=xZ@B1$Ee~Xiel7D3+zS1{J074pew(dcC?Ls{>}bf zzV2%}h`q~aCE%uIQ^$3b-|cSX;P1PV-adGcg%IyHkwb+89N=Mve_5f`da8c7I0|2A zlzmt}Kpx~QS|Ttr-n6;k9Z-7ko~W1zb!X<>{^%(~#~}^V>YZm6eT5W_$8i+(pUB>v z|KeN@sr`Bp-B-o>Q1*Up(1hF5u!O-J&bu35Vfi~zKu|e2|IAX>F|anCN^F+m4ZDSK znmD%5_4#_XU0CZvzA%_)f7*&tQ{DN_kK1tFdmUf<(uDthDQtsnEiH)aoi;Knhedp1XL8-t{V;|m$DEaH`s1%lENas9GnL&`VQp$(4 zHz_VNm~&iurXnzz=3!qv?$NnKxE$M-b0Ni>cii5;?xi^mlsm24Is{3u7;!P6E&%Od{z1zeh)K>^8*Ny~j0DO^DsuKA}3XaM?2qf+KiCVlw zyo;S!*6DgX$OqYRUf}e>keGgIjaHxvhtT zK^pzAv!NC1Cq7_+5d!VByi7#b+ly|g)cM50!dDJp?(0sf3$`?qcBp7q;EEw7)G<$q zbs#lLj>sJecWmUY*bz@GsIalk)cPdX;L1o*EOqt%nek#zy;jnWNa8Xrf z<*VgQc9Zn6@T_K&yNM)Z4SmN~_wBo=@%U{N$?45;Oi>uB^OS zR})O^D@{Y!eKra!g&#N>?1#3%HaK+inEfpFBO&lqnCa?WYA32uj?PV3{e0*lX1XSU z>A>8f;<;KO%H%G$q|Z{Kkj0t_TTHQ_nI?Nq8gGoS*iGM@WDcn6xBCD^m(SW$AUi}(Lynv;#*y>D zw5J+M27j!=i1{gj}+Yuhn;-1|7)pu5Ze z0VZZmMxB*WLrWw@cYga5f=^>AD692 zhbsE;Eq_~fZxYu|_&<5H*DAueCW|$|v>H~%i}p=V&8@gOySac`dj>s1MP+<1B&Lu? z5?e4{fPQ)oZ?0UkyhbmLV;7bm^d3Mu@sl$QVgNu$K%s$D(Gw-9&v6C%^oF?L7?+^n*1379`k%2_e-k8m{bkt|mf* zg|7vI1y(MXx9S_|o-G}1;an|mMxejM={1W0r)~#Ll|_{v=WXvedg~J<#d#Q0u5*|r zo5RNm-50nC+?fZ+i4ZH^3SxP1+g8)nKLcg8;P~sxvKoX-B8daT$n&t9^t~Zo9_=Eh zoXQj~aV1x-b_T2|&PeRtPEnv%u(EC|i_ z_`!6=WdDy<|Ln}-i-C?jQKR1|+Ol=_OulV+K8P_9oE~)EU%>_$eEtqjd7~;VIF>U zsy1RFgsOgNy85mHdHSK;GjRlV4gP;feIw4{|+ljuC^4r)$L_NNt_*fWUr`Q4NB&knl0vM45?yF zR&l1&eoDIr|7dbUV2>k=`NTMllyU$wE4z z2%|sr)f3xv(R;5jr0Y&VM1tHC#w|@`*^Gw!!^MUT(|Y0iBM7IFj@CF{M@hbO1)19u zzMIQK*9)H59WU`59Y_F=W;y#D_3gz2DTh!ovIJx};BC~r{QhK|aUuOrD~ZO`<;AD5 z{eQE*NvZco7i9qh8ft~#>M!bb)dHvhlk_Xqk`W>9>)Js!1a`Wvkac)!23DVylI7EB z-DwG-2=?YXA=#+)=oW$|hHEy`7uo;jR7<*iX2J)M7Aq{q!~)k|IG*7WkE$_#8vQo* zFHMdGu-QabVG_-Gv;GWo{w(KCLWvsbgj;`G?106lj7crC1#t{K^&`hi26xP29eQo{ z3zTMx+()}i^7J%)PKPS3aT|GwDYVXcvOnvHB4 zWYDIsHpeV+>Y7MKTL1XmV&SgqaW}@_8$1ZUmPJjRX{0u%{3E94#c^NA2g^H`o zS?So^;9j$#i3j;coyQE;Ei`pG1R*b z99DTc6*~X9Y4ekuVoddvR^i1Khi*|6cqk(3Wkr3|v3iK90|#;2{^|TK?v;_QZCc}t z7nR)~1Ghb`UzFJbgsXdkT;|2xg!zE?FnnJ`WNqz~q)m}))-1|$Z2F(x(!b#_dWRcG zbU8>#>jxncMb3S3Fq1i|UhTO-`lAnN~C<&WB#s62B6RG?x!Iok)5uE zu|GKq4;_w8Cu{NN0+%z;OuAN)K7}K{5H+=lk5D3mspUjkM~A_MM7u#5V2JrvX)6s= zC1a;D^js1P^;VFfO|_LFPzUkvWyTYC8t>=abOi2g^C{Qu4XEZSE0@eXc{#0|^LTMy zZs8YEpXO6Hmk(bReEBR)0K!GD!+Iy59-`{{gV_g!9&R7=Dtbhru(u_ipGdQLUK!)- zfY)aUG(@%#dCt!jX?B7{yl%=WoLN}Oo}|&x^;5rIi-r@ePnBDGL+L+7r4Bm|EEK7w z)=sC{N2|uia-^(T%`=Km$l_e~@K?3mpO)fI)uS`eEMz1^C^z|Ro(@j32kGKu?T=-_ z?H^lNNd?gq%EM=@n5Rl@q|Q4R&JhwSLp(yx2^4+&yHc1Qf*&?d|r+ku#C?rPb6`iG`Ea zVkwlQl4B)IsneH9{$#);ZhccbFB1-GJBoOAe48T}E-F*F zMc>spd#PV%$Ul}DH@Kl(@2Ow6AOtdR)?eEPE+IUCuC$I(>>p{$nf1+_mv5M~2i>xS24hS&dP-o5T&H4N*f+ zKBfLR)QGP8&eyZ_kFJroJ5ke% z0jQkD)?6bwvh0t@9&PnnVV(zZp6A~!G4J9V+ChO$CsQ#zG-JP)BL6=1MlX+a=>QfN|Xc z;n~x>NZ6hn04e3*wlFjLhm(Jo*cH>P?q;FAg$MxMhjAlq*~n-m5?mnGnNZI!OQZuS z>tZ|Uqu6yunP(UJVuV~r93~F;-wR3)bXe=XCxlnlod}98HduMz^ARmf2LM6m+Umg|`ufC!bD!=nqDjI@DMM{Vmow zRhy6t_Qi_1-zK~Fd|!G~)5fxVed*q`r(JG8mVo?r>c~B)-jYBrig;t9>L7YZJwI&UA{QoOxL(Qm4jvT~H~_hj+>~>-y2W;}7Zi*)4vqg{n{L zM^6^_1nWOTWl-x0*A%8j#6g*42NaB+O9hFP+y8_1NY2fDjkR%=*nN9m$4^S!k=Z9v zc<`NP@-4N0B*l@`*ZuA9KmJOW;`Cgu!wHA#ily#O z{afTD2hfy!Bu-iuoo{3F4+D@&TRZ=zaTOMp#{APb^{g;sxqb2cAi!4Z0e7ERQyPWJomc;(*q9NYdT(If|%T}3_TS0n^^$Cc2 z;|o1KfdYs*nee6Fku2@7aE;idWqo`w5qF(sFaa0BTo4%g#&22WyyEC9>u9f4U_MlK z4+Fi{iOnQOll53>`iVQk2KAz0+#RM4f*del#l5=2pfcNM9j>sFX8x7!PsxfS$*R{d zvZ0Awy#0~>Lt(ob%&5-to0ht2_#_`s^KaLWwC~y0>a0{%n@jH9BQ8QmM~dk;#fa_< zlTFhL5zU;MzeRX85V!!E*4Qy2`WB;oJp1Vj`gaS!G*RYFt}U^l7~sEnyENS=#g7jb zfj{%N_j0WJuJk@C=ewD1lyapf@qTYbw-)JfvCD z>A(>9kWDP=U5FqDO3veJ&H1q)J%UqiwC+g)<6UnWJ8` zFxLfo@+)%tbyJTG+|-0#I~{W5L_9Jq495@O){M2U>%BR8{uKmsUL{!P0fBMU%Osu) z2HD?^G3FE*4M`4y z|C+3w=Z0?HlJOPgw9*3XwcB~!XuIopdPe1Qw4#rbS)we^n+Jnk9 zE#OLz6gR#F6@K0Y`z%s&(6nf4=dHq%*`6?wy%(pP*7u64^E=t&>vTCaYWZq4UlGWx z0?7-rfl`*`z67-HmMs$gW#RjNO4Sr9+5N7i%~Rp#X5(|a7_gP3=RjKJQS|!Q8Ys(H z2-#}|1x|?xkp-;; z>tcMszF0DP%xC#^q|}r+`@TZYs#NMa<082GuS;6Tfc$b?_0Pc$5CgJ@#auc!uj?_; zb>lupaS_*L^-R=925284AC{*eOj|Wsg!0p&~-Tqk|Hnrcb7uwpHmz@SI}3&Z?x!j|Sd}V8 za5<^w<9(q&--845NgkFBuuj&pdiaWQH-O*{w00XY##FY%E1n%ss&}2qa5m4>{PXGZZLvj*E&R%DwWL>;qXQe(rv6LsDtPTm_xPo*MGBzkD~Si^iQ zi=Q@`6h5ws*8qch05LVM_0yQ6y45II#?2aw?IFY0G#bg1^gqmeY9$?>CU+;P+#U6Z zpLNtdW8aXF50krqJuqX%!k2ysK10Tf-`~^4XwZ-*C!*PdBHn@qi(*r)O+4OyCtN*7 z)PjDS`|JXqsxp%@%_f*M2N$`R+s09~ev&-91ZRi(gLm1|wmG_XM9KT34K{$mJ*FfepFhXmG{zQ{IRQuq>mXxbP3Eyy#bX#j`50_=$94T_U zHO@-Io@Fas@8g;8hkDTz6lJxfcA|OqC${U{UGR--=l4^5{yw}w8$zr#<(u%*(7)g7 z>K;=*GpT5YE_oJ_4h&7q-f^>#FC;to%cIbd3V3|I(iV7NHU_!_9@uHE{R->$@u`=H ztSA!}u?tY4=CMg8IEeKjmJ_HRZ2KURlP1oQ-rV>5HGl<4LyXA#CbF@*SutoNQ!(&$z=JpOkM2DqOVld?q%D-E2Q z!oub-&*ZClYg!8daH53uO*kbOqj6qK*dag$wE`YgX2Bt zlG}$~90qk@LR28bnvyD$se{k^P%NCp1G5EPzwOUP(yJWq(c$~mf;&ZxXJQK6CH$6i zKYe|kxgBgo<}|8u)$)SRl)+-v3Jd6&W=u@Z2=z}=#*UtIU1~^aK$36=ANK|)@+p|_ zBKaJx`G19VD06O=o7QnoP;BRVj5cncBmZbRMUtBBse)%wBzL<9u6mC*Bv6FQvFM(w zO$DK{-XJ6Q8y3(JK^*{=(fzz0KZ-j5?0U#)n~_VA)Z zk@)bFarliA?siycXf&RV0jtTK8uQHNRD-WKV{?~|N|H0kpAfLjb@T@-e!%QLqigp9 zc)XIuUnX6Q()t({!Y}?FEw1kcy4))vDo*Tr52L=V?lY!1K>>~HwZF+|{JJOv%dblX z_&b6MwvFddzxeY5)$1CEK5xp?)R)bydC4ok9nhW9skuxx>3WYXMC1Sz1{LVNe_6Wt zfSLQSc(>mYJqoMWpaFJ&W%Wa?92m!7{~uI^0#Jc(xn2apcnZ@<1vNbn1gp!2ZHKfp z$7btgn!t8LT1%nAJB^#$kvo6xCaF`Oj{8cIa=9_YzMoT-nlE?#fe-dU#?ZYTTLFXoL4*Ri&G!#HKDVlCOZHx_Jc&dw_1BiO&!hBS{8{++Z{!)WmDJM8G( zpv`orE=krTuqE@zSEz)X+wz}}Dc6VcoYvFsfdl`yT1*D-}}q6pC` zCCSfhx;aIcP^zCWK-^8`|AHapfp-t577uW_DAmGT#^RC%)TPBisGTwL<>NVn7Mzd2 zo%Wzwh@O8wPD1o$is>uS_BPR3b_s{u{;ubv+=K_w#JmcL$dKn&k*UDN-MmhCzPiqI zKG}p!Yhuv$FIAlo!>dr3*lNee4!aOBa5*$SHH3ZWi2buTb~UWD$U@^j&0A>{N2Ru3!bQXd%p zvBg>>^jVmtV$D2eTyAgQrh^)sJPyd$x%W(TJS*ZAJ)pb)(=29GQ^sgoYv2!EnEjEF zJQC*5qhZ8hPrRyhBoergD=q_#NB5e%n++DmH=dB{NV%oJ~UL2$__`C(YQ~_9Cxx% z`WTzB1oikXmLI!f@CP9zg4z2bO`f_4Pglq9;!CP|r;`qhJy9H1=R`eJPS?X7ee~V< zcMaASYXeL-L{wL z1_a)`mF`q3+1}$~4Wzr9Tu4 zkkFtJSXm!mp%9PqA#|Xpw5o4hfoZ_VR@oCl^PC-=H{11TU3~D_KfA6%)A9q~Yx)k< zOT~zr{+)%=J(~=JA!~r<#z_I={eQ9>w|v$CMcJ4Z+WR9BtzJoQ!BY0`0e1+W^I2U| zdlMU1%x@-PAvEmbvtmjss|N_HVL6%Hxi7!OI|{MbdSgeNi$|@u9bo4~1j!g%wPsG* zOPp|tIvZ^A>I<*0T)*bSsezf(Eu0Gq$#jIcLl27iFp^Er1$?9T!Nfs_QINZg zMSrnIm}z7qG%6H(xV|jTv7P_*+4$F6r@-Nx7!=?cBkZg^~QwX;k}2C9W!bLxyw#_<^V9OfhJX5v{% z!MdB-9!}=jlK3DZ&Bdcd z3zaJ&^oa=q9k&r6%He-y0XT&FH)l_Z+AG$>6WmkX;r7(~e5l}NZ-;cRHn)Xn z)rML0Il2kHtGdmhTW5Ib%etmN`>69I?h!AkL+vujICG8~;AG(Nvsdq?*EUrd=K#4D z0yX&Q2Yn!x$L29v+*}UOo3`4Rv-ueps>#qH+H1IJJZ~)PwoJ9~>pn}T$qm~;LM#c7Qa$pa_v`&XyV;qjJ!n_TlBP3rN}BSE(d zfTe}gy$tf<$j4217&k{z^^g9y5pe}nhZ4(t%`XDvKUBIZZX`TF&!j9%x1A#vDdtON zdWuCOJ1l|RZEmAWU*i3RYQo-<_J!A-YG2MilIOpXr*djnI1-S>#3@(mq;NFds07b@ z3LHHm+K@8|KDGbcqd>@3WHuB7qiG6S8-Rc};JRvkMtV>0WuXUw4UIg^cskL;o_5zC z_dPkA4x@`hXiM)>Ba&WLOuxB#6RNaTG&XSc(>1@L?SZcvH%IVsP3Xz;V9*1fhzI^h zlP3d5IQm{y?$N-8Mp?40sD@2-;>_EIrgoaGkj3oXo%87VyH9T!5CJN>B2Sdf8jRpA zaSVp+T5_ivvYsGoUl)s+9h}OqN{tpv9RdfAp*|7#^>ti$!-DYzXTX;D=_81f_k#Dz z)$Ui-%Wg4UV&=DFRiURg_$XzOs?H#JxH(**OyC6X9?9oT1)V3`=2%rBEw&3Bd zBuIN-Q6G$Q)Y9~~Yzi%)6tcB(Kl%OHl_JJ1gS6d!EeiZxt7Rur&oyPK5XO$?<6)wL z+`cWCkY2g8OXy$ZW;x%Kr9MM1iuxNds>9VV+Xw*75@nNnSNY62V5g|QFX&lXW+LgD zL>RSo*cQjhwr21g0sf?>d+=s}qr=<5gWmV)r>mvxFT3LETq_dr?^vyH+xk1ofiuHq?NCaC3 zA9gBa-J7GN6X5AR!3ydM!{Uk-#KWoW0Tp+wxoWmduEmlE!<_Le!58!^Kx{Z;s1WWN&(xa9uyF;d=BM>`qd zpmX`pGT^6)&ip|b-dd@~QXD^z4$ESF{j2QzETx2lrZa}lqVvr0m!I=wPqce^fp9un zcOf7bcl>v0!ARxY8IL0qn8OZo7Rm0c3nX0_DIJ?BT{Zle+S|x5(l5f{S8kT?&xMCC z1Qvx(eF>BP32m~RO?K|x=3E$o%Pss_4|9*@<fBoSPR6}nKKa`>wqtFq3pt`YJ-?n#H`ilDf2i{Dx z*sH^u2Hw*-)dzVAFNE7iZ>w2xBB)vygI|E!3dAgP*Gu=|={-b;6-J9oHCA*tHka>Sj&SP7~SCYU*mv(4@-(Ob>0x)f5e>0Iw2G_jIVn< z^Dy4c@73C0ObF4CR{zTB_dcA%q;T178|+T+>mAmAx+osR8>T<(a)XK4va;9~t9tF* zzcANPGY~`NZgBC@1=>!+WXKTsQxaE9xrf^2MI4VJVCPks1~(}wK`RNEg82?o z^+P2Eu1UnwI4>(m^c9r9K`YQsk%WGrr$tg>YPMN`CAnnXP;vfjarrl`3GDoH_LLU# z4?9?f)^f&001*?>67k^G@5qx9)oTeV>hU5~RjQKnpgkM1RjK43(Qoc`(AcQD4YK<` z`ZfM7$A$5KewHalBt+r&$77K*&VgoO;TL~+FMpL+{~BYFnrhsV2&#PnWV*S|TbcV? zQdAh@=+(ZN^~#aWU{*4hzcdNkcUG^O++2!>^hGqvj^F3O%$8Si$#I17VNy>u;M_|HNe9x+u8)7%JWo)k2r3 zgO%HVpGQ}6A=dq6eHQ3quI=+6HmC8irJ-M z=yBPwAuU)fpwaG`tM4FRMxVS=*vel_g~h|vd5;%R4G@&>Sv?@b@4@YaQhdNP!F>~H z^*FOH%AgPPlqi16YUG(xa09YCPtLpWSOquM7^I!onxfOykG zppmlj8v7Y}Ubz)pky4YyeK^g;?hMcxDKgqR+x*MnZ2&oa7Zip5@+n>G9qm<2Kv zO_<_|d9Ut%9amHM?7%<`akd;8+bek4M{nHVa7!Q>C0fUZ6wNkNMHQd?YV`QQm-A!e z@@HwOTK-vfXR#KM!*sT{@~0`6tuj!N4w>IAXK=*>Y#ed=X)Z(p_NIt$J66)Q$1HC5 z&*Y~c7>T&T@W<2d`4%6mso M%Lr1XVITFs0I$!rg#Z8m literal 0 HcmV?d00001 diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..50cf2fbe6fff52e96a41cc43fa69f405cb4966a4 GIT binary patch literal 16561 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.12.0" + }, + "generatorVersion": "1.3.3", + "paths": { + "testProjectFolder": "./test/", + "testProjectFileName": "Test.mpr" + }, + "scripts": { + "test": "grunt test" + } +} diff --git a/src/Leaflet/Leaflet.xml b/src/Leaflet/Leaflet.xml new file mode 100644 index 0000000..31f0557 --- /dev/null +++ b/src/Leaflet/Leaflet.xml @@ -0,0 +1,301 @@ + + + Leaflet Maps + Widget for Leaflet Maps + iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4AQFAQL+/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnsBbAAAAAAAAAAAAut9sBKDFWkrA6HDPm7xbKgAAAABGVSkAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbYY/AAAAAABiQKUASVYoApy/WyL8/f2dJCkYtf8A/yocIhBKAAAAALqr1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//rQABAVMAAAAAAKLFXhQSFQlWCQ0HfQUEAhj7+v0AAQIABgkKBjkAAAACAAAA/gAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEokoAAQFTAAAAAACr0GFIGB4MowwPB5UCAwEY/v7/AP///QAAAAIA/v7+KqjLYi4AAAAAMTwdAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnLxYA2NCYAAEBUgBMXikQa4I/hwYHBFIBAgEW//8AAAD//wD/AQAA/wD/AAH/AAACAgAkERQKMAAAANDPxOMAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKxPANnR6gABAVIApMhcVHOMQ80FBgRmAQEBFgD/AAD/AAAAAAAAAPz8+gADAgQA/wD/AAMEAwT+//8xGBwPBgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKjQYAN3/ewB0VLEAUWMtDLXeZqUaIQ+n/fz/IgEB/wL///8AAP8AAAAA/wD///8A/wAAAAAAAAAAAP8A/v7/AAYIBDSdv1saAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWzOgAg3i6AqTJW0AVGw2bAwMCIv79/wAAAAEAAAAAAAAAAAD/AP8AAgACAPn8+AAHBQgA/wAAAAEAAAAAAP8A//7/Lv7/ABgAAADgAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF50NAAAAAAAAAAAAJ/DWRpRYy18Fx0NuwMCASL//wAAAAAAAAAAAAD/AAAAAAAAAAEAAAD+//4AAAAAAAAAAAAAAAAAAAAAAP//AAAICQQM+fb7JgAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACdwlYAoozMAAAAAAC03mRAFBkLoQsMBoH//wAC//8AAAAA/wAAAAAAAAD/AAD/AAAAAP8AAAABAPr8+QAEBAUAAAAAAAAA/wD/AAAAAAD/AP//AAAICQQ5nLxbCgAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoMZXAGA6qQAAAAAEsdphcgQEAXEDBAIY/v7/AAABAQAAAP8AAP8BAP8BAAABAAAAAAAAAAAAAAD9//4AAAAAAAEAAQD/AAAAAf8AAAABAAAAAAAA/v7+AAQGAjgaIA8IAAAA9gAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOkggAMW3eAABAWgAhaVIGi85G48EBQJQAQEBBv7+/wAAAAEAAQD/AP8AAQABAAAAAAD/AAAAAQAAAP8AAAECAPz7+QACAgIAAQEBAAAA/wAAAAEAAAD/AAAAAQD//wAABwkELurk8wwAAADuAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGuOAAAQFoAJu+VC4wOxuzBQYCVgAAAAb//wAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAA/wAAAAAAAAD+/f4A/wD/AAEBAgAAAAAAAAAAAAAAAAAA/wAA/wAAAAAA/wAGBwQC6ubzKGB1OAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACfxlUAAAAAABEVCACbwlVAGyMPvQMDATL///8AAAAAAAAA/wAAAAAAAAD/AP8AAAAAAAAAAAD/AAD/AAAAAAAAAAAAAP3++wD+//4ABAIEAAD/AAAAAAAA/wAAAAAAAAAAAAAAAAAAAP79/gAeJRI0SloqAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlrtQAGE6qwCPs0wCEBIKTBkfDbH//wAA////AAABAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAQAAAAAA/wD/AAAA/P79AAMCAwD/AP8AAQAAAAAAAQAAAP8AAAABAAD//wAAAQEA/f7/AAUHAzkFBwMCJS0V/tvT6wAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJvAUwBlQK0AJzEUAh4kEGQKDQeZ/v3/AAABAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAQAAAAAAAAAAAP7//wD7/PsACgoKAP8AAAD/AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAP8ALOzo9ADb0+sAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMr0oAZUCtAAAAAACEpUd2CQwGmf79/gAAAAAAAAD/AAAAAAAA/wAA/wD/AAAAAAD///8AAAAAAAAA/wAA/wAAAAAAAP8A/wAA/wAA+fr4AAYEBgD/AAAAAAD/AAAAAAAA//8AAAAAAP8AAAAAAAAA/wAAAP///wAKDAYgr53RCgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYXkzAHRRtgAAAAAAsdtddgoMBYH//v8AAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD4+vgACAYIAP///gAAAAAAAAAAAP8AAAAAAAAAAAD/AAAAAAAAAAAA//8AAAYIBAARFgsiAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEpEQCfh80AAAAAAKnTWWIEBgJ9//4ABv///wAAAAAAAAD/AAD/AAD/AAAAAAD/AAAAAAAAAAAAAAAAAP///wAAAAAA/wAAAAAA/wABAAAA9vn0AAgGCQD/AAAAAAABAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAABAQAA/v3+ADxHIiQAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3tbuAAAAAACn0Fg6CAoFg///AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAP8AAAAAAAAAAAAAAAAAAAAAAAAAAP8AAP8BAAD1+PYACwcJAP///gAAAP8A//8AAAAA/wAAAAAAAAD/AAAAAAD/AP8AAAD/AP8AAAD+/f4AExgLJAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAl75PFAMEAX0EBAEa/wAAAAAA/wAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAA//8AAAAAAAABAQEA9Pb0AAoICgD/AAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAA/wAAAAAAAP7+/wADBAIjAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkLRKAPLt+wAMDgZQCg4FSP79/wAAAQEAAAAAAAAAAAD///8AAQEBAAAA/wAAAAAA/wABAAEAAAAA/wAAAAH/AAAAAQAAAP8AAAAAAP7/AAD1+fYAGBAWAP///gAAAAEAAQEAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAEAAAAAAAAAAAAAAQEAAPv5/BgAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACw3FgBwTLYAERcHHA4RB4n+/f8AAAAAAAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAABAQEA9Pj0AAkGCQAAAAAA/wAAAAAAAAD/AP8AAAD/AP//AAAAAP8AAAAAAAAA/wAAAAAAAAAAAAD//wD/AAAABQYDFAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA08itAAAAAAATGQqDAwQBEgD/AAAAAAAAAAAAAP8AAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAA/wD/AAAAAAD/AAAAAAAAAAAAAAABAP7+/wD3+fcACwcKAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAD7+/0QAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEteJgABAT0AhqlFOA0QB2D9/f8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAA//8AAAAAAAD/AAAAAAAAAAAAAAAAAAAAAP8AAP8A/wACAQAA9fj1AAUEBgACAgIAAP//AAAAAAAAAAAAAAAAAAAAAAAAAP8AAP8AAAAA/wAAAAAAAP//AAAA/wAAAAAA////AAsNBwwAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtaLaAAAAAAAoMxWP//7+AAAAAAAAAP8A/wD/AAAAAAAAAP8A/wAAAAAA/wAAAAAAAAAAAAAA/wAA/wAAAAAAAP8AAAAAAAAAAAAAAP3+/gD3+vkACgYIAAAAAAAAAAAAAAAAAP8A/wAA/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAA/wAABAYCAgAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAA8WCAAAAAAAAAAAAAAAAAAqPRUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC46GAAAAAAAl71MTAQDAjL//wAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAP8AAAAAAAAA/wABAAEA9/v5AAICAQADAwQAAAD/AP8AAAAAAP8AAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wD/AAAAAAAA/wAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAA8er4AAAAAAJ9szxqTW8mClR5KQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0sboAAAAAAAUGw1z/v7+BgD/AAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7//gD4+vkABgQGAAMCAgAAAAAAAAAAAAD/AAAAAAAA/wAAAAAA/wAAAAAAAAD/AP//AAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFAbHBAXCJU4UBvf/v7/dHKmOChijzEKAAAAAAAAAAD//5EAERgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHGPOgAAAAAAkrhKQAYGAiwAAAAA/wAAAAAA/wAAAAAAAP8AAAAA/wAAAAAAAP//AP8AAAAAAP8AAAAAAAAA/wD/AAAAAP8AAAAAAAAAAAAA+/z7APz9/AAIBQYA//8AAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAA+/r+/gAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0Sxos/v4AAAEDARYNEgaJExsJxxwoDY18tj5IXoovFAEBbwDv6PgA//+UACM0EgAAAAAAAAAAAAAAAAAAAAAAj3HGAAAAAAAYHgxZ/v7/FAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA/wAAAAAAAAD/AP8AAAD3+vgAAwMDAAQEBAAAAP8AAAAAAAAA/wD/AAAAAAD/AP8AAAAA/wAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAABAAD08fn0AAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8WBiz//v8AAAAAAPz8/wACAgEQCQ4FaAYIA60iMxKdfLVAZmWSNBYBAWwA3czuAMP/ZAAiMxIAAAAAABkgDQAAAAAAia1GIAQEAjYBAgAAAAAAAAAA/wAA/wAAAAAAAAEA/wAAAAAA/wD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAP8AAAAA/wAA/f79APX5+AALBwkAAQABAAAAAAD//wAAAAAAAAAAAAAA/wAAAAAAAAAAAAAA//8A/wAAAAAA/wAA/wAAAAD/AP8AAAAAAAAA/wD/AAYIA+wAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgP/Jf/+/wABAAAA//4AAP7/AAD+/f8AAgMBCgUGAk4GCgKRHC0PsXq2P3I9WR8IPQGcAN7N7gALEAYAWnEuAAAAAAAeJQ44//8AJP/+/wAAAAAAAAAAAP8AAAAAAP8A/wAAAAD/AAAAAAAAAAAAAAD//wD/AAAAAAD/AP//AAAAAAAAAAD/AAAAAAD1+PYAAwECAAgFBgD///4AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAJu7VHoAACAASURBVAAAAAAAAAAAAAAAAAAAAAD//wABAAAA+/v97AAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6+P0gAAEAAAEBAAD/AAAA/f4AAAAAAAAAAAAA//4AAAEBAQgBAQA4CAsEh0JkI81vpTpYAAAAAPXw+gCNb8UAAAAAAv39/zUDBQEMAAAAAP8AAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAA//8AAPH39gAMCQoAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAA/wD/AP8AAAAAAAAAAAAAAAAAAAD/AP//AAAAAAAAAAAAAP//AAAICgTiAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAC0trEAAAAAAAgNBBb//gAAAAAAAAQDAAD+/gAA/v4AAAAAAAD/AAAAAAAAAAAAAAAA/wAGAQIBKhMeC6d7uEHBTHQpIAAAAACbwk4YBwgDLP///wAAAAAAAP//AAAAAAAAAP8A/wAAAAAAAAAAAP8AAAAAAP8A/wAAAAAAAAD/AP8AAAAAAAAAAAAAAAEAAQDy+PQAAQABAAoICQD//wAAAAAAAAAA/wAAAAAA//8AAAAAAAAAAAAAAP8BAAAAAAAAAAAAAP8AAP8AAAAAAAAAAAAAAAAAAAD/AAAAAwIBAPTw+tkAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAExKTwAAAAAA////EAAAAAD/AAAAAAAAAAICAAD7/QAABgQBAAAAAAAAAAAAAAAAAP8AAAAAAAAA/fv+AAQGAj41ThvfJjkTbf4B/8r+//8o//8AAAEAAAAAAAAA/wAAAAEAAAAAAAAAAAAAAP8AAAAB/wAAAAEAAAAAAAAAAAAAAAAAAAAAAAD///8AAQEAAPD19AARCwwAAgABAP4A/wAB/wEAAAEAAAAAAAAAAP8AAAABAAAA/wD/AAAAAQABAAAA/wAAAAEAAAAAAAAAAAAAAP8AAAABAAAAAAABBAEA3dbs3AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAMAAAAAAAAAAD//wAABQMAAPr8/wD8/QEAAwMAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP38/wAMEgiT7/762hMCCRYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA/wAAAAEBAAAAAAAAAAAA/wAAAAEAAAAAAAAAAAD/AAEBAgDw9vQAAAAAAA0JCwD+//4AAAABAAAA/wD/AAEAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA/wAAAAEAAAAAAP8AAAABAAAAAAAAAP8AAAABAP/+/wDNweLYAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcJAwYAAAAAAAAAAAAAAAD+/wAACQYBAPf7/wD//gAAAAAAAAAAAAD//wAAAAAAAAAAAAD/AAAAAAAAAP/+/wAGCAQmBQUCCAAAAAD/AP8AAAAAAAD//wAAAAAAAAAAAP8BAAAAAAAAAAD/AAAAAAAAAP8AAAAAAAD//wAAAAAA///+APL29QANCAoAAgECAAD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAP///wAAAAAA/wAAAAAA/wAAAAAAAAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA9/X78AwRB+gAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAACgYBAPP3/gACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAQBAQAAAAAAAP//AAAAAAAAAP8AAAAAAAAAAAAAAAAAAf8AAAAA/wD/AAAAAP8AAAAAAAAAAAAAAAAAAAEBAQDy9/YA/P/+AA4KCwD+//4AAAAAAAAA/wAAAAAAAAAAAP8A/wAAAAAAAAAAAAAAAAAAAP8AAP8AAAAAAAD/AP8AAP8AAAAA/wAAAAAAAP8AAAEBAAD6+f3QboU//CkyFwAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA/wAAAAAAAAAAAAAA/wAAAP//AAADAwAABQQBAPT3/wABAQAAAAAAAP8AAAAAAAAAAAAAAP8AAAABAQAAAgIBAP8AAAAAAAAAAAAAAP8AAAAAAAAA/wD/AAAAAAD/AAAAAAAAAAAAAAAAAP8AAAAAAP8A/wAAAAEA/f7+APP39wALBwkAAwICAAAAAAD/AAAAAAAAAAAAAAAAAP8AAAAAAAAA/wAAAAAA//8AAAAAAQAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAP8AAQIBAPv6/cLYz+kA187pAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPj2/PoAAQAAAAAAAAAAAAAAAAAAAAABAP//AAAJBgEA+f3+APv8AAABAAAAAP8AAAAAAAAAAAAAAAAAAAAAAQACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAA/wAAAAAAAAAAAAAAAAAAAP8AAAAA/wAAAAAAAAIBAAD1+PcA+vz8AA8JCwD///8AAAAAAAAA/wAA/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AP8AAAAAAP8AAAAAAAAA/wAAAAAA/wD/AAAAAAACAgAA4Nntw6+d0QAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8gD/AAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAOCQMA8PX9AAABAAAAAAAAAAAAAAAAAAAAAAAAAP//AP7+/wAAAP8A/wAAAAD//wAAAAAAAAD/AAAAAAAAAAAAAAD/AAD/AAAAAP8AAAAAAAAAAAAAAAAA/P7+APX5+QAHBQUABQQDAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAD/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAA/wAAAAAAAAAAAAAAAQEAAPXz+vQhJxLWq5jQAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAtLaxAAAAAAD9+//oAAEAAP8AAAAAAAAA/wAAAAAAAAAAAAAA/wAAAAIBAAAHBQEA8/b+AAIBAAD/AAAAAAAAAAAAAAD+AAAA/f7/AAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAD//wAAAAAA/wAAAAAAAAAAAAAAAAD/AAEAAQD4+/oA9vr5AA4KCwABAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAD/AAAAAAD/AAAAAAAAAP8AAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD/AAEA/v3+wv79/vQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAABMSk8AAAAAAP78/+AAAAAAAP8AAP8AAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAgGAQD6/P8A+fz/AAEAAAAAAAAAAAAAAP8AAAD6/f4A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAD/AAAA/v/+APX5+AAEAgIABwQFAAAAAAAAAAAA////AAAAAAAAAAAAAAD/AAAAAAAAAAAAAP8AAAAAAAAAAAAAAQH/AAAA/wD/AAAAAAD/AAAAAAAAAP8AAAAAAAIDAQD49vy3rZrS9gAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMD0wABAQAAAAAAAAAAAAEAAAD/AAAAAAAAAAAAAAD/AAAABQIBAAcFAAD0+P0A/gAAAP//AAAAAAAAAP8AAPz9/wD8/v8AAAD/AP8AAAAA//8AAAAAAAAAAAAAAAAAAQAAAAAA/wD//wAAAAAAAAAAAAD7/PwA8/f4AAwICQAEAgEAAAAAAAAAAAAAAAAAAAAAAAAAAQAA/wAAAAAAAAAAAAAAAAAA/wAAAAAAAAD//wAAAAAAAAAAAAAA/wAAAAAAAP8AAAAAAAAA+/r89AQHAsynlc78AAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp4PbMAwIBAP8AAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAD/AAAACwcDAPz8/wD4+v4AAAAAAAAAAAAAAQAA+/3+APj7/QABAAAAAAAAAAAAAAAAAAAA/wD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAPP4+AABAQAACQYGAAEAAAD/AAAAAAD/AAAAAAAAAP8AAAD/AAAAAAAAAP8A/wAAAAAA/wAA/wAAAAAAAAAAAAAAAAAAAAD/AP8AAAAAAP8AAAAAAAIDAQD7+f3A4tvv3gAAAABBTyQAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMGl4cr///8AAQAAAAAAAAD/AAEAAAAAAP8AAAAAAAAAAP8AAAAAAAAAAQAADwsEAO7y+wD//wAA/wAAAAEAAAD6/f4A9vr8AAEBAAAAAP8A/wAAAAD//wAAAAAAAAD/AP8AAAAAAAAAAAD/AAD/AAD9/v0A8PX1AAkGBgAHBQYA/wAAAAD/AAD/AAAAAAAAAP//AAAAAAAA/wAAAAD/AAAAAAAAAAAAAAAAAAD/AP8AAAAAAAAAAAAAAAAAAAAAAAD/AAAAAAAA/Pz+AP79/7luTK7qAAAAAL+x3AAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA28ru8PXw+9gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAHBgEACQcDAOzx+wACAgAAAP8AAP3+/gD1+fwA/P7/AAAAAAAAAAAAAAAAAAAAAAD/AAAAAP//AAAAAAAAAAAAAAAAAPH29wAAAQAACwcHAAIBAAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAP8AAAAAAAAAAAD/AAAAAAD/AAAAAAAAAP8A//8AAAAAAAAAAAAAAAAAAAEBAAAA///S8e33vgAAAAD3/4oAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7+AAAUDgUA9vj9APT2/QABAAAAAQABAPP3+wD4+v0AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAD+AP8A7/b1AAYEBQALBwgA/v//AAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAP8AAAAAAAAA/wD/AAAA/////vv6/r5dOaXWAAAAAAkBdgAAAAAAAAAAAAAAAAAxMTACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf0vGtKj4VdPz6/gAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAZFAYA4un5ACAYCQACAwAA9vv9APD3+gAJBwQAAQD/AP8AAQAB//8AAAEBAAAA/wAAAAEAAQEBAO709AD///8ACwcHAAMCAgD+/v4A/wEBAAEAAAAA/wAAAAEAAAAAAAAAAAAAAAAAAP8AAAABAAAAAAAAAAAAAAAA/wAA/wEAAAEAAAAAAAAAAAAAAAAAAAD59v7stZ7ivSMcMRYUGwUAAQEB/P///wAAAAAE/f39DgMDA0IEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArfxVAM2259T59vzaBAUDJv7/AAAAAAAAAAAAAP8AAAAAAAAAAAAAAP//AAAAAAAA/v8AAAgGAgAPCwQA5u34AB0WCAACAQEA6PH5AA0IBgAOCQQA//8AAAAAAAAAAAAA/wABAAH//wD+//8A8Pb2AAIBAgAPCgkA/v7+AAAAAQAAAP8AAAABAAAA/wD/AAEAAQD/AAAAAQAAAAAAAAD/AAD/AQAAAQAA/wAAAAEA/wABAAEAAAAAAP//AAABAQAAAQAAANHB7uTBrOlzERgD6P39/u4CAgHyAAAABgAAABQCAgImAgICGgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCpOIAIzIR/gUGAwoGCgNE//8AAAAAAAAAAAAAAAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAA//8AAAkHAwDv8/sA/v8AAAoIBAD8/v8A9fn9AAwIBQAIBQIA//8AAAABAQAAAAEABAEBAO719QD1+voADggJAA4JCgD/AAAAAQAAAAABAQAAAAEAAQAAAAABAQABAAAAAAABAAEBAQAAAAAAAAABAAEBAAAAAAEAAQAAAAAAAQABAQEAAAAAAAICAgD8/PzAcEm6VvDz7LX/AP7KBQUE1////+ECAgLgAAAAz/n5+bLm5uedAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdqw7Lg0TB78BAgES/v8AAAAAAAD//wAA/wAAAAAAAAD+/wAAAAAAAP//AAD/AAAAAP8AAPX4/QDn7fkAGxUIAAcGAwD8/f8ACQYEABsQCQAXDggA/v8AAAAAAAD//wAA4e3uAPz+/QAhFRUABQIDAAABAAABAAEAAAEBAAAAAAABAAEAAAAAAAEBAQAAAAEAAQEAAAAAAQAAAAEAAQAAAAABAAABAAEAAAEBAAEAAQAAAQAAAQAB7NvS6zdsSq/eAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZxe3c+fb9pgEDAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQcDAAsIAwDr8PoA/f4AAAIBAQD3+/0A3+z1ANbn8gD4/P0ABwgDAPD39gD7/f0ACwcHAAYEAwD/AAAAAAAAAP8AAAAA/wAAAAAAAAAAAAAAAAAA/wAAAAAA/wD//wAAAAAAAAAA/wAAAAAAAAAAAP8AAAAA//8A/wD/AAH/AADf2O5PbEqv3v//mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGP2Pb/AP+r/Pr+5gAAAAAAAAAAAAAAAAAAAAD/AAAAAQAAAP//AAAAAAAAAAAAAP8AAAABAQAAEA0FAPj5/QDz9fsAAAAAAAEAAAD9/v8A7/f6AMfP7urFsu/k8PP4AP7//wATCwsA/v7/AAAA/wAA/wAAAAAAAAAAAAAAAAAA/wD/AAAAAAAA/wAA/wAAAAAAAAAAAAAAAAAAAP8AAAAA/wAAAAAAAAAAAAACAgH+8vD4SdrQ6sgAAAAALjmBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/u0GNBAYCcv7/AAAA/wAA/wAAAP//AAAAAAAA/v8AAAAAAAD/AAAA//8AAAAAAAAAAAEA6vD5AO7y+gAfGQsABQQCAP/8AADx4/0A2q76APPo/gAcLwQAPGEJ/iQdFAIAAAAAAAAAAAAAAQABAQEAAQAAAAABAQAAAAAAAQABAAAAAAAAAQEAAQABAAEBAAAAAAEAAAAAAAEAAQABAgEA//4A7PHu+GFZMaW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABLbSYAAAAAAOXW8o3//wDIAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wARDQYAAwMBAOzv+QD58P8A37v7ANGa+QD58f8ABwwB7uTS/NrTrvumAAD/4AABAAAAAAAAAAAAAAAA/wD/AAAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAQAAAAAA/P/+/8bq5PRNWTGltAAAAACLrEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvK7QBzqTsAlWPJ8zNNG9cFBwRDAQIAEAAAAAAAAAAA/wAAAAAAAAD/AAAAAP8AAAAAAAAAAAAAAAEAAAUHAgD99AAA5c78AOa5/wDs1vz8AwgAzv///7L6+vqO3uLWeMi/2qkwPBq9EhgJKAEBASEBAQEA//8AAAEBAQABAAAAAAEBAAAAAQABAAAAAAABAAEBAAACAgIA/Pz9AAAAAdL49/2dxbfgbHVUtdz///cA1+uzAJB1wwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACz/14ATQGiAHewPUIHDQWVBAQCKPz9/wAAAAAA//8AAP8AAAAA/wAA/wAAAAEEAAD++wAA6dP9AOfM/QDx3/38/f7+sgAC/7P39vfC0dHS3gAAAAAAAAAA7f93ABMBiQBzkDsSN0UcaAIEAl8GBwMmAQAAAP//AAABAAEAAAEAAAICAgABAQEA+vj99v7+AMT9/P+5+fj7ulwzqdQAAAAAncNVAGM9qwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACc5FADYxs4AAQEeAHq1Pyr//wB/BwwEVv7+AAD//wAA/wAAAAAAAAADCAAA7dn+AN++/AD26P8A/f/+xPv3/YX49/nKz8/Q7gAAAAAAAAAAHx8eAOHh4gAAAAAAh6pFAHlWuwAAAAAAoMlTKP79/jgMDwc9//8AJvv6/gwGBwP0/v3/2Pbz/MsGCALU8u763mpFsOgAAAAAAAAAAD1MIQDDtN8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACY5FADZxssAAQEhAGeZNg4IDwU6Cw8FeQUKBD4DBgEA9Ov9ANqz+wDu2/4ABg0CABEm/6b8Afp5r4zK4gAAAAAAAAAACwsLAPX19QAAAAAAAAAAAAAAAAAAAAAA////AAEBAQAAAAAAAAAAAp7GUQgEBgMI+PX8AgoMBv7z7/j4aUSy+AAAAP4AAAAAAAAAANDeuAAwIkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAILFRQAAAAAAMEgaIkxeOsk8PDr/PDw7/zo7N6dKbS0sAAAAAAAAAAAAAAAAYHdRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICgRAP//qwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC86GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGRgA5+foAAAAAAAAAAAAAAAAAAAAAAASEhECHBwdEAcHBlIHBgeF////FgECAeb29vZpzs7PsgAAAACMuWkAlXuoAN/M7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERBO/v7/wAAAAANTU0IP///z4FBQV3AwMDKv////b+/v6u4ODga+fn6PI8PDsAysrLAPr6+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8vLhL29vYM9fX19h4eHlYBAQFhAwMDNP///wAAAADe+vr6f8vLzKQAAAAAJiYlANra2wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7SgqOQAAAEtJREFUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADfeKxqL6a3WAAAAABJRU5ErkJggg== + + + + Pan to context + Behavior + If set to true, if the dataview object changes, the map will pan automatically to the accompanying marker. In this case, the widget will assume that the contextobject contains a lat and long attribute. + + + Default latitude + Behavior + Default latitude for the map to start at. + + + Default longitude + Behavior + Default longitude for the map to start at. + + + Minimal zoom level + Behavior + Minimum a user can zoom (0 or higher)) + + + Maximal zoom level + Behavior + Maximum a user can zoom (20 or lower) + + + Single item zoom level + Behavior + The zoom level used when displaying a single item. 1 is the whole world, 15 is city level, 20 is house level. + + + Refresh on entity changes + Behavior + This option refreshes all the markers when an object of the corresponding entity is changed/added/removed. This will retrieve the entire list of objects everytime and map them again. Be aware that this might give performance issues when mapping big amounts or mapping a frequently used entity. + + + + + Objects + Data source + The objects to show on the map. + + + XPath Constraint + Data source + The XPath constraint on the objects. + + + Marker attribute + Data source + The attribute that will be displayed in the marker info bubble. (Not required) + + + + + + Latitude attribute + Data source + The latitude attribute. + + + + + + + + + Longtitude attribute + Data source + The longtitude attribute. + + + + + + + + + On click microflow + Data source + The microflow to execute when clicking on a Marker + + + + + Height + Appearance + The map's height in px or percent. Note: If you set the map height to a certain percentage, make sure the container surrounding the widget has a certain height. + + + Width + Appearance + The map's width in px or percent. + + + Marker template + Appearance + If you set the Marker attribute (Data Source), you can control what the popup will contain. Use '{Marker}' as the value of your marker attribute (this will be replaced). Example: "<p>{Marker}</p>" + + + + Maptype + Map Type + Set the default map type + + OpenStreetMap.Mapnik + OpenStreetMap.BlackAndWhite + OpenStreetMap.DE + OpenStreetMap.France + OpenStreetMap.HOT + OpenTopoMap + Thunderforest.OpenCycleMap + Thunderforest.Transport + Thunderforest.TransportDark + Thunderforest.SpinalMap + Thunderforest.Landscape + Thunderforest.Outdoors + Thunderforest.Pioneer + MapQuestOpen.OSM + MapQuestOpen.Aerial + + Stamen.Toner + Stamen.TonerBackground + Stamen.TonerHybrid + Stamen.TonerLines + Stamen.TonerLabels + Stamen.TonerLite + Stamen.Watercolor + Esri.WorldStreetMap + Esri.DeLorme + Esri.WorldTopoMap + Esri.WorldImagery + Esri.WorldTerrain + Esri.WorldShadedRelief + Esri.WorldPhysical + Esri.OceanBasemap + Esri.NatGeoWorldMap + Esri.WorldGrayCanvas + + + + Use custom map type + Map Type + Use a custom Map Type. You need to set a Custom Map Url. Instructions: http://leafletjs.com/reference.html#tilelayer + + + Custom Map Url + Map Type + Set an url for custom map type + + + Custom Map Options + Map Type + Set the options for the custom map. This has to be a valid object ({}) with "key":"value" pairs, divided by commas. See options: http://leafletjs.com/reference.html#tilelayer + + + + Mouse dragging + Controls + Drag the map using the mouse + + + Touch zoom + Controls + Zoom by touch-dragging with two fingers (mobile) + + + Mouse scrolling + Controls + Zoom by using the mouse wheel + + + Zoom control + Controls + Add zoom control to the map (+/- button) + + + Zoom control position + Controls + + + Top left + Top right + Bottom left + Bottom right + + + + Attribution control + Controls + Add attributions to the map (credits) + + + Attribution control position + Controls + + + Top left + Top right + Bottom left + Bottom right + + + + Fullscreen control + Controls + Add fullscreen button to the map + + + Fullscreen control position + Controls + + + Top left + Top right + Bottom left + Bottom right + + + + + Add geolocation button + Location + This will find your location on the map using geolocation + + + Geolocation control position + Location + + + Top left + Top right + Bottom left + Bottom right + + + + Draw an uncertainty circle + Location + Draw a circle around the geolocation point to show the uncertainty + + + Keep zoom level + Location + When locating, keep the current zoom level. If set to false, it will use the max zoom + + + + Add scale + Scale + Show a scale on the map + + + Scale position + Scale + + + Top left + Top right + Bottom left + Bottom right + + + + Show metric scale line (m/km) + Scale + + + + Show imperial scale line (mi/ft) + Scale + + + + Max width + Scale + Max width of the control in pixels, this is set dynamically to show round values + + + diff --git a/src/Leaflet/lib/leaflet-fullscreen.js b/src/Leaflet/lib/leaflet-fullscreen.js new file mode 100644 index 0000000..1073a5f --- /dev/null +++ b/src/Leaflet/lib/leaflet-fullscreen.js @@ -0,0 +1,197 @@ +// Source: https://github.com/brunob/leaflet.fullscreen/blob/master/Control.FullScreen.js + +/* + Edited by J.W. Lagendijk to make sure it works within the Mendix environment +*/ + +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['Leaflet/lib/leaflet-src'], factory); + } else if (typeof modules === 'object' && module.exports) { + // define a Common JS module that relies on 'leaflet' + module.exports = factory(require('leaflet')); + } else { + // Assume Leaflet is loaded into global object L already + factory(L); + } +}(this, function (L) { + 'use strict'; + + L.Control.FullScreen = L.Control.extend({ + options: { + position: 'topleft', + title: 'Full Screen', + titleCancel: 'Exit Full Screen', + forceSeparateButton: false, + forcePseudoFullscreen: false + }, + + onAdd: function(map) { + var className = 'leaflet-control-zoom-fullscreen', + container, content = ''; + + if (map.zoomControl && !this.options.forceSeparateButton) { + container = map.zoomControl._container; + } else { + container = L.DomUtil.create('div', 'leaflet-bar'); + } + + if (this.options.content) { + content = this.options.content; + } else { + className += ' fullscreen-icon'; + } + + this._createButton(this.options.title, className, content, container, this.toggleFullScreen, this); + + this._map.on('enterFullscreen exitFullscreen', this._toggleTitle, this); + + return container; + }, + + _createButton: function(title, className, content, container, fn, context) { + this.link = L.DomUtil.create('a', className, container); + this.link.href = '#'; + this.link.title = title; + this.link.innerHTML = content; + + L.DomEvent.addListener(this.link, 'click', L.DomEvent.stopPropagation) + .addListener(this.link, 'click', L.DomEvent.preventDefault) + .addListener(this.link, 'click', fn, context); + + L.DomEvent.addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation) + .addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault) + .addListener(container, fullScreenApi.fullScreenEventName, this._handleEscKey, context); + + L.DomEvent.addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation) + .addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault) + .addListener(document, fullScreenApi.fullScreenEventName, this._handleEscKey, context); + + return this.link; + }, + + toggleFullScreen: function() { + var map = this._map; + map._exitFired = false; + if (map._isFullscreen) { + if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) { + fullScreenApi.cancelFullScreen(map._container); + } else { + L.DomUtil.removeClass(map._container, 'leaflet-pseudo-fullscreen'); + } + map.invalidateSize(); + map.fire('exitFullscreen'); + map._exitFired = true; + map._isFullscreen = false; + } else { + if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) { + fullScreenApi.requestFullScreen(map._container); + } else { + L.DomUtil.addClass(map._container, 'leaflet-pseudo-fullscreen'); + } + map.invalidateSize(); + map.fire('enterFullscreen'); + map._isFullscreen = true; + } + }, + + _toggleTitle: function() { + this.link.title = this._map._isFullscreen ? this.options.title : this.options.titleCancel; + }, + + _handleEscKey: function() { + var map = this._map; + if (!fullScreenApi.isFullScreen(map) && !map._exitFired) { + map.fire('exitFullscreen'); + map._exitFired = true; + map._isFullscreen = false; + } + } + }); + + L.Map.addInitHook(function() { + if (this.options.fullscreenControl) { + this.fullscreenControl = L.control.fullscreen(this.options.fullscreenControlOptions); + this.addControl(this.fullscreenControl); + } + }); + + L.control.fullscreen = function(options) { + return new L.Control.FullScreen(options); + }; + + /* +Native FullScreen JavaScript API +------------- +Assumes Mozilla naming conventions instead of W3C for now + +source : http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/ + +*/ + + var + fullScreenApi = { + supportsFullScreen: false, + isFullScreen: function() { + return false; + }, + requestFullScreen: function() {}, + cancelFullScreen: function() {}, + fullScreenEventName: '', + prefix: '' + }, + browserPrefixes = 'webkit moz o ms khtml'.split(' '); + + // check for native support + if (typeof document.exitFullscreen !== 'undefined') { + fullScreenApi.supportsFullScreen = true; + } else { + // check for fullscreen support by vendor prefix + for (var i = 0, il = browserPrefixes.length; i < il; i++) { + fullScreenApi.prefix = browserPrefixes[i]; + if (typeof document[fullScreenApi.prefix + 'CancelFullScreen'] !== 'undefined') { + fullScreenApi.supportsFullScreen = true; + break; + } + } + } + + // update methods to do something useful + if (fullScreenApi.supportsFullScreen) { + fullScreenApi.fullScreenEventName = fullScreenApi.prefix + 'fullscreenchange'; + fullScreenApi.isFullScreen = function() { + switch (this.prefix) { + case '': + return document.fullScreen; + case 'webkit': + return document.webkitIsFullScreen; + default: + return document[this.prefix + 'FullScreen']; + } + }; + fullScreenApi.requestFullScreen = function(el) { + return (this.prefix === '') ? el.requestFullscreen() : el[this.prefix + 'RequestFullScreen'](); + }; + fullScreenApi.cancelFullScreen = function() { + return (this.prefix === '') ? document.exitFullscreen() : document[this.prefix + 'CancelFullScreen'](); + }; + } + + // jQuery plugin + if (typeof jQuery !== 'undefined') { + jQuery.fn.requestFullScreen = function() { + return this.each(function() { + var el = jQuery(this); + if (fullScreenApi.supportsFullScreen) { + fullScreenApi.requestFullScreen(el); + } + }); + }; + } + + // export api + window.fullScreenApi = fullScreenApi; + + return L; +})); diff --git a/src/Leaflet/lib/leaflet-locatecontrol.js b/src/Leaflet/lib/leaflet-locatecontrol.js new file mode 100644 index 0000000..9de3bd6 --- /dev/null +++ b/src/Leaflet/lib/leaflet-locatecontrol.js @@ -0,0 +1,504 @@ +/*! +Copyright (c) 2016 Dominik Moritz + +This file is part of the leaflet locate control. It is licensed under the MIT license. +You can find the project at: https://github.com/domoritz/leaflet-locatecontrol +*/ +(function (factory, window) { + // see https://github.com/Leaflet/Leaflet/blob/master/PLUGIN-GUIDE.md#module-loaders + // for details on how to structure a leaflet plugin. + + // define an AMD module that relies on 'leaflet' + if (typeof define === 'function' && define.amd) { + define(['Leaflet/lib/leaflet-src'], factory); + + // define a Common JS module that relies on 'leaflet' + } else if (typeof exports === 'object') { + if (typeof window !== 'undefined' && window.L) { + module.exports = factory(L); + } else { + module.exports = factory(require('leaflet')); + } + } + + // attach your plugin to the global 'L' variable + if(typeof window !== 'undefined' && window.L){ + window.L.Locate = factory(L); + } + +} (function (L) { + L.Control.Locate = L.Control.extend({ + options: { + position: 'topleft', + layer: undefined, // use your own layer for the location marker + drawCircle: true, + follow: false, // follow with zoom and pan the user's location + stopFollowingOnDrag: false, // if follow is true, stop following when map is dragged (deprecated) + // if true locate control remains active on click even if the user's location is in view. + // clicking control will just pan to location + remainActive: false, + markerClass: L.circleMarker, // L.circleMarker or L.marker + // range circle + circleStyle: { + color: '#136AEC', + fillColor: '#136AEC', + fillOpacity: 0.15, + weight: 2, + opacity: 0.5 + }, + // inner marker + markerStyle: { + color: '#136AEC', + fillColor: '#2A93EE', + fillOpacity: 0.7, + weight: 2, + opacity: 0.9, + radius: 5 + }, + // changes to range circle and inner marker while following + // it is only necessary to provide the things that should change + followCircleStyle: {}, + followMarkerStyle: { + //color: '#FFA500', + //fillColor: '#FFB000' + }, + icon: 'fa fa-map-marker', // fa-location-arrow or fa-map-marker + iconLoading: 'fa fa-spinner fa-spin', + iconElementTag: 'span', // span or i + circlePadding: [0, 0], + metric: true, + onLocationError: function(err) { + // this event is called in case of any location error + // that is not a time out error. + alert(err.message); + }, + onLocationOutsideMapBounds: function(control) { + // this event is repeatedly called when the location changes + control.stop(); + alert(control.options.strings.outsideMapBoundsMsg); + }, + setView: true, // automatically sets the map view to the user's location + // keep the current map zoom level when displaying the user's location. (if 'false', use maxZoom) + keepCurrentZoomLevel: false, + showPopup: true, // display a popup when the user click on the inner marker + strings: { + title: "Show me where I am", + metersUnit: "meters", + feetUnit: "feet", + popup: "You are within {distance} {unit} from this point", + outsideMapBoundsMsg: "You seem located outside the boundaries of the map" + }, + locateOptions: { + maxZoom: Infinity, + watch: true // if you overwrite this, visualization cannot be updated + } + }, + + initialize: function (options) { + L.Map.addInitHook(function () { + if (this.options.locateControl) { + this.addControl(this); + } + }); + + for (var i in options) { + if (typeof this.options[i] === 'object') { + L.extend(this.options[i], options[i]); + } else { + this.options[i] = options[i]; + } + } + + L.extend(this.options.locateOptions, { + setView: false // have to set this to false because we have to + // do setView manually + }); + }, + + /** + * This method launches the location engine. + * It is called before the marker is updated, + * event if it does not mean that the event will be ready. + * + * Override it if you want to add more functionalities. + * It should set the this._active to true and do nothing if + * this._active is not true. + */ + _activate: function() { + if (this.options.setView) { + this._locateOnNextLocationFound = true; + } + + if(!this._active) { + this._map.locate(this.options.locateOptions); + } + this._active = true; + + if (this.options.follow) { + this._startFollowing(this._map); + } + }, + + /** + * Called to stop the location engine. + * + * Override it to shutdown any functionalities you added on start. + */ + _deactivate: function() { + this._map.stopLocate(); + + this._map.off('dragstart', this._stopFollowing, this); + if (this.options.follow && this._following) { + this._stopFollowing(this._map); + } + }, + + /** + * Draw the resulting marker on the map. + * + * Uses the event retrieved from onLocationFound from the map. + */ + drawMarker: function(map) { + if (this._event.accuracy === undefined) { + this._event.accuracy = 0; + } + + var radius = this._event.accuracy; + if (this._locateOnNextLocationFound) { + if (this._isOutsideMapBounds()) { + this.options.onLocationOutsideMapBounds(this); + } else { + // If accuracy info isn't desired, keep the current zoom level + if(this.options.keepCurrentZoomLevel) { + map.panTo([this._event.latitude, this._event.longitude]); + } else { + map.fitBounds(this._event.bounds, { + padding: this.options.circlePadding, + maxZoom: this.options.keepCurrentZoomLevel ? + map.getZoom() : this.options.locateOptions.maxZoom + }); + } + } + this._locateOnNextLocationFound = false; + } + + // circle with the radius of the location's accuracy + var style, o; + if (this.options.drawCircle) { + if (this._following) { + style = this.options.followCircleStyle; + } else { + style = this.options.circleStyle; + } + + if (!this._circle) { + this._circle = L.circle(this._event.latlng, radius, style) + .addTo(this._layer); + } else { + this._circle.setLatLng(this._event.latlng).setRadius(radius); + for (o in style) { + this._circle.options[o] = style[o]; + } + } + } + + var distance, unit; + if (this.options.metric) { + distance = radius.toFixed(0); + unit = this.options.strings.metersUnit; + } else { + distance = (radius * 3.2808399).toFixed(0); + unit = this.options.strings.feetUnit; + } + + // small inner marker + var mStyle; + if (this._following) { + mStyle = this.options.followMarkerStyle; + } else { + mStyle = this.options.markerStyle; + } + + if (!this._marker) { + this._marker = this.createMarker(this._event.latlng, mStyle) + .addTo(this._layer); + } else { + this.updateMarker(this._event.latlng, mStyle); + } + + var t = this.options.strings.popup; + if (this.options.showPopup && t) { + this._marker.bindPopup(L.Util.template(t, {distance: distance, unit: unit})) + ._popup.setLatLng(this._event.latlng); + } + + this._toggleContainerStyle(); + }, + + /** + * Creates the marker. + * + * Should return the base marker so it is possible to bind a pop-up if the + * option is activated. + * + * Used by drawMarker, you can ignore it if you have overridden it. + */ + createMarker: function(latlng, mStyle) { + return this.options.markerClass(latlng, mStyle); + }, + + /** + * Updates the marker with current coordinates. + * + * Used by drawMarker, you can ignore it if you have overridden it. + */ + updateMarker: function(latlng, mStyle) { + this._marker.setLatLng(latlng); + for (var o in mStyle) { + this._marker.options[o] = mStyle[o]; + } + }, + + /** + * Remove the marker from map. + */ + removeMarker: function() { + this._layer.clearLayers(); + this._marker = undefined; + this._circle = undefined; + }, + + onAdd: function (map) { + var container = L.DomUtil.create('div', + 'leaflet-control-locate leaflet-bar leaflet-control'); + + this._layer = this.options.layer || new L.LayerGroup(); + this._layer.addTo(map); + this._event = undefined; + + // extend the follow marker style and circle from the normal style + var tmp = {}; + L.extend(tmp, this.options.markerStyle, this.options.followMarkerStyle); + this.options.followMarkerStyle = tmp; + tmp = {}; + L.extend(tmp, this.options.circleStyle, this.options.followCircleStyle); + this.options.followCircleStyle = tmp; + + this._link = L.DomUtil.create('a', 'leaflet-bar-part leaflet-bar-part-single', container); + this._link.href = '#'; + this._link.title = this.options.strings.title; + this._icon = L.DomUtil.create(this.options.iconElementTag, this.options.icon, this._link); + + L.DomEvent + .on(this._link, 'click', L.DomEvent.stopPropagation) + .on(this._link, 'click', L.DomEvent.preventDefault) + .on(this._link, 'click', function() { + var shouldStop = (this._event === undefined || + this._map.getBounds().contains(this._event.latlng) || + !this.options.setView || this._isOutsideMapBounds()); + if (!this.options.remainActive && (this._active && shouldStop)) { + this.stop(); + } else { + this.start(); + } + }, this) + .on(this._link, 'dblclick', L.DomEvent.stopPropagation); + + this._resetVariables(); + this.bindEvents(map); + + return container; + }, + + /** + * Binds the actions to the map events. + */ + bindEvents: function(map) { + map.on('locationfound', this._onLocationFound, this); + map.on('locationerror', this._onLocationError, this); + map.on('unload', this.stop, this); + }, + + /** + * Starts the plugin: + * - activates the engine + * - draws the marker (if coordinates available) + */ + start: function() { + this._activate(); + + if (!this._event) { + this._setClasses('requesting'); + } else { + this.drawMarker(this._map); + } + }, + + /** + * Stops the plugin: + * - deactivates the engine + * - reinitializes the button + * - removes the marker + */ + stop: function() { + this._deactivate(); + + this._cleanClasses(); + this._resetVariables(); + + this.removeMarker(); + }, + + /** + * Calls deactivate and dispatches an error. + */ + _onLocationError: function(err) { + // ignore time out error if the location is watched + if (err.code == 3 && this.options.locateOptions.watch) { + return; + } + + this.stop(); + this.options.onLocationError(err); + }, + + /** + * Stores the received event and updates the marker. + */ + _onLocationFound: function(e) { + // no need to do anything if the location has not changed + if (this._event && + (this._event.latlng.lat === e.latlng.lat && + this._event.latlng.lng === e.latlng.lng && + this._event.accuracy === e.accuracy)) { + return; + } + + if (!this._active) { + return; + } + + this._event = e; + + if (this.options.follow && this._following) { + this._locateOnNextLocationFound = true; + } + + this.drawMarker(this._map); + }, + + /** + * Dispatches the 'startfollowing' event on map. + */ + _startFollowing: function() { + this._map.fire('startfollowing', this); + this._following = true; + if (this.options.stopFollowingOnDrag) { + this._map.on('dragstart', this._stopFollowing, this); + } + }, + + /** + * Dispatches the 'stopfollowing' event on map. + */ + _stopFollowing: function() { + this._map.fire('stopfollowing', this); + this._following = false; + if (this.options.stopFollowingOnDrag) { + this._map.off('dragstart', this._stopFollowing, this); + } + this._toggleContainerStyle(); + }, + + /** + * Check if location is in map bounds + */ + _isOutsideMapBounds: function() { + if (this._event === undefined) + return false; + return this._map.options.maxBounds && + !this._map.options.maxBounds.contains(this._event.latlng); + }, + + /** + * Toggles button class between following and active. + */ + _toggleContainerStyle: function() { + if (!this._container) { + return; + } + + if (this._following) { + this._setClasses('following'); + } else { + this._setClasses('active'); + } + }, + + /** + * Sets the CSS classes for the state. + */ + _setClasses: function(state) { + if (state == 'requesting') { + L.DomUtil.removeClasses(this._container, "active following"); + L.DomUtil.addClasses(this._container, "requesting"); + + L.DomUtil.removeClasses(this._icon, this.options.icon); + L.DomUtil.addClasses(this._icon, this.options.iconLoading); + } else if (state == 'active') { + L.DomUtil.removeClasses(this._container, "requesting following"); + L.DomUtil.addClasses(this._container, "active"); + + L.DomUtil.removeClasses(this._icon, this.options.iconLoading); + L.DomUtil.addClasses(this._icon, this.options.icon); + } else if (state == 'following') { + L.DomUtil.removeClasses(this._container, "requesting"); + L.DomUtil.addClasses(this._container, "active following"); + + L.DomUtil.removeClasses(this._icon, this.options.iconLoading); + L.DomUtil.addClasses(this._icon, this.options.icon); + } + }, + + /** + * Removes all classes from button. + */ + _cleanClasses: function() { + L.DomUtil.removeClass(this._container, "requesting"); + L.DomUtil.removeClass(this._container, "active"); + L.DomUtil.removeClass(this._container, "following"); + + L.DomUtil.removeClasses(this._icon, this.options.iconLoading); + L.DomUtil.addClasses(this._icon, this.options.icon); + }, + + /** + * Reinitializes attributes. + */ + _resetVariables: function() { + this._active = false; + this._locateOnNextLocationFound = this.options.setView; + this._following = false; + } + }); + + L.control.locate = function (options) { + return new L.Control.Locate(options); + }; + + (function(){ + // leaflet.js raises bug when trying to addClass / removeClass multiple classes at once + // Let's create a wrapper on it which fixes it. + var LDomUtilApplyClassesMethod = function(method, element, classNames) { + classNames = classNames.split(' '); + classNames.forEach(function(className) { + L.DomUtil[method].call(this, element, className); + }); + }; + + L.DomUtil.addClasses = function(el, names) { LDomUtilApplyClassesMethod('addClass', el, names); }; + L.DomUtil.removeClasses = function(el, names) { LDomUtilApplyClassesMethod('removeClass', el, names); }; + })(); + + return L.Control.Locate; +}, window)); diff --git a/src/Leaflet/lib/leaflet-providers.js b/src/Leaflet/lib/leaflet-providers.js new file mode 100644 index 0000000..b2689b9 --- /dev/null +++ b/src/Leaflet/lib/leaflet-providers.js @@ -0,0 +1,673 @@ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['Leaflet/lib/leaflet-src'], factory); + } else if (typeof modules === 'object' && module.exports) { + // define a Common JS module that relies on 'leaflet' + module.exports = factory(require('leaflet')); + } else { + // Assume Leaflet is loaded into global object L already + factory(L); + } +}(this, function (L) { + 'use strict'; + + L.TileLayer.Provider = L.TileLayer.extend({ + initialize: function (arg, options) { + var providers = L.TileLayer.Provider.providers; + + var parts = arg.split('.'); + + var providerName = parts[0]; + var variantName = parts[1]; + + if (!providers[providerName]) { + throw 'No such provider (' + providerName + ')'; + } + + var provider = { + url: providers[providerName].url, + options: providers[providerName].options + }; + + // overwrite values in provider from variant. + if (variantName && 'variants' in providers[providerName]) { + if (!(variantName in providers[providerName].variants)) { + throw 'No such variant of ' + providerName + ' (' + variantName + ')'; + } + var variant = providers[providerName].variants[variantName]; + var variantOptions; + if (typeof variant === 'string') { + variantOptions = { + variant: variant + }; + } else { + variantOptions = variant.options; + } + provider = { + url: variant.url || provider.url, + options: L.Util.extend({}, provider.options, variantOptions) + }; + } + + var forceHTTP = window.location.protocol === 'file:' || provider.options.forceHTTP; + if (provider.url.indexOf('//') === 0 && forceHTTP) { + provider.url = 'http:' + provider.url; + } + + // If retina option is set + if (provider.options.retina) { + // Check retina screen + if (options.detectRetina && L.Browser.retina) { + // The retina option will be active now + // But we need to prevent Leaflet retina mode + options.detectRetina = false; + } else { + // No retina, remove option + provider.options.retina = ''; + } + } + + // replace attribution placeholders with their values from toplevel provider attribution, + // recursively + var attributionReplacer = function (attr) { + if (attr.indexOf('{attribution.') === -1) { + return attr; + } + return attr.replace(/\{attribution.(\w*)\}/, + function (match, attributionName) { + return attributionReplacer(providers[attributionName].options.attribution); + } + ); + }; + provider.options.attribution = attributionReplacer(provider.options.attribution); + + // Compute final options combining provider options with any user overrides + var layerOpts = L.Util.extend({}, provider.options, options); + L.TileLayer.prototype.initialize.call(this, provider.url, layerOpts); + } + }); + + /** + * Definition of providers. + * see http://leafletjs.com/reference.html#tilelayer for options in the options map. + */ + + L.TileLayer.Provider.providers = { + OpenStreetMap: { + url: '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', + options: { + maxZoom: 19, + attribution: + '© OpenStreetMap' + }, + variants: { + Mapnik: {}, + BlackAndWhite: { + url: 'http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png', + options: { + maxZoom: 18 + } + }, + DE: { + url: 'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png', + options: { + maxZoom: 18 + } + }, + France: { + url: 'http://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', + options: { + attribution: '© Openstreetmap France | {attribution.OpenStreetMap}' + } + }, + HOT: { + url: 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png', + options: { + attribution: '{attribution.OpenStreetMap}, Tiles courtesy of Humanitarian OpenStreetMap Team' + } + } + } + }, + OpenSeaMap: { + url: 'http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', + options: { + attribution: 'Map data: © OpenSeaMap contributors' + } + }, + OpenTopoMap: { + url: '//{s}.tile.opentopomap.org/{z}/{x}/{y}.png', + options: { + maxZoom: 16, + attribution: 'Map data: {attribution.OpenStreetMap}, SRTM | Map style: © OpenTopoMap (CC-BY-SA)' + } + }, + Thunderforest: { + url: '//{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png', + options: { + attribution: + '© Thunderforest, {attribution.OpenStreetMap}', + variant: 'cycle' + }, + variants: { + OpenCycleMap: 'cycle', + Transport: { + options: { + variant: 'transport', + maxZoom: 19 + } + }, + TransportDark: { + options: { + variant: 'transport-dark', + maxZoom: 19 + } + }, + SpinalMap: { + options: { + variant: 'spinal-map', + maxZoom: 11 + } + }, + Landscape: 'landscape', + Outdoors: 'outdoors', + Pioneer: 'pioneer' + } + }, + OpenMapSurfer: { + url: 'http://korona.geog.uni-heidelberg.de/tiles/{variant}/x={x}&y={y}&z={z}', + options: { + maxZoom: 20, + variant: 'roads', + attribution: 'Imagery from GIScience Research Group @ University of Heidelberg — Map data {attribution.OpenStreetMap}' + }, + variants: { + Roads: 'roads', + AdminBounds: { + options: { + variant: 'adminb', + maxZoom: 19 + } + }, + Grayscale: { + options: { + variant: 'roadsg', + maxZoom: 19 + } + } + } + }, + Hydda: { + url: 'http://{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png', + options: { + variant: 'full', + attribution: 'Tiles courtesy of OpenStreetMap Sweden — Map data {attribution.OpenStreetMap}' + }, + variants: { + Full: 'full', + Base: 'base', + RoadsAndLabels: 'roads_and_labels' + } + }, + MapQuestOpen: { + /* Mapquest does support https, but with a different subdomain: + * https://otile{s}-s.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext} + * which makes implementing protocol relativity impossible. + */ + url: 'https://otile{s}-s.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext}', // Changed default to HTTPS + options: { + type: 'map', + ext: 'jpg', + attribution: + 'Tiles Courtesy of MapQuest — ' + + 'Map data {attribution.OpenStreetMap}', + subdomains: '1234' + }, + variants: { + OSM: {}, + Aerial: { + options: { + type: 'sat', + attribution: + 'Tiles Courtesy of MapQuest — ' + + 'Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency' + } + }, + HybridOverlay: { + options: { + type: 'hyb', + ext: 'png', + opacity: 0.9 + } + } + } + }, + MapBox: { + url: '//api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', + options: { + attribution: + 'Imagery from MapBox — ' + + 'Map data {attribution.OpenStreetMap}', + subdomains: 'abcd' + } + }, + Stamen: { + url: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.{ext}', + options: { + attribution: + 'Map tiles by Stamen Design, ' + + 'CC BY 3.0 — ' + + 'Map data {attribution.OpenStreetMap}', + subdomains: 'abcd', + minZoom: 0, + maxZoom: 20, + variant: 'toner', + ext: 'png' + }, + variants: { + Toner: 'toner', + TonerBackground: 'toner-background', + TonerHybrid: 'toner-hybrid', + TonerLines: 'toner-lines', + TonerLabels: 'toner-labels', + TonerLite: 'toner-lite', + Watercolor: { + options: { + variant: 'watercolor', + minZoom: 1, + maxZoom: 16 + } + }, + Terrain: { + options: { + variant: 'terrain', + minZoom: 4, + maxZoom: 18, + bounds: [[22, -132], [70, -56]] + } + }, + TerrainBackground: { + options: { + variant: 'terrain-background', + minZoom: 4, + maxZoom: 18, + bounds: [[22, -132], [70, -56]] + } + }, + TopOSMRelief: { + options: { + variant: 'toposm-color-relief', + ext: 'jpg', + bounds: [[22, -132], [51, -56]] + } + }, + TopOSMFeatures: { + options: { + variant: 'toposm-features', + bounds: [[22, -132], [51, -56]], + opacity: 0.9 + } + } + } + }, + Esri: { + url: '//server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}', + options: { + variant: 'World_Street_Map', + attribution: 'Tiles © Esri' + }, + variants: { + WorldStreetMap: { + options: { + attribution: + '{attribution.Esri} — ' + + 'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012' + } + }, + DeLorme: { + options: { + variant: 'Specialty/DeLorme_World_Base_Map', + minZoom: 1, + maxZoom: 11, + attribution: '{attribution.Esri} — Copyright: ©2012 DeLorme' + } + }, + WorldTopoMap: { + options: { + variant: 'World_Topo_Map', + attribution: + '{attribution.Esri} — ' + + 'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community' + } + }, + WorldImagery: { + options: { + variant: 'World_Imagery', + attribution: + '{attribution.Esri} — ' + + 'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community' + } + }, + WorldTerrain: { + options: { + variant: 'World_Terrain_Base', + maxZoom: 13, + attribution: + '{attribution.Esri} — ' + + 'Source: USGS, Esri, TANA, DeLorme, and NPS' + } + }, + WorldShadedRelief: { + options: { + variant: 'World_Shaded_Relief', + maxZoom: 13, + attribution: '{attribution.Esri} — Source: Esri' + } + }, + WorldPhysical: { + options: { + variant: 'World_Physical_Map', + maxZoom: 8, + attribution: '{attribution.Esri} — Source: US National Park Service' + } + }, + OceanBasemap: { + options: { + variant: 'Ocean_Basemap', + maxZoom: 13, + attribution: '{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri' + } + }, + NatGeoWorldMap: { + options: { + variant: 'NatGeo_World_Map', + maxZoom: 16, + attribution: '{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC' + } + }, + WorldGrayCanvas: { + options: { + variant: 'Canvas/World_Light_Gray_Base', + maxZoom: 16, + attribution: '{attribution.Esri} — Esri, DeLorme, NAVTEQ' + } + } + } + }, + OpenWeatherMap: { + url: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png', + options: { + maxZoom: 19, + attribution: 'Map data © OpenWeatherMap', + opacity: 0.5 + }, + variants: { + Clouds: 'clouds', + CloudsClassic: 'clouds_cls', + Precipitation: 'precipitation', + PrecipitationClassic: 'precipitation_cls', + Rain: 'rain', + RainClassic: 'rain_cls', + Pressure: 'pressure', + PressureContour: 'pressure_cntr', + Wind: 'wind', + Temperature: 'temp', + Snow: 'snow' + } + }, + HERE: { + /* + * HERE maps, formerly Nokia maps. + * These basemaps are free, but you need an API key. Please sign up at + * http://developer.here.com/getting-started + * + * Note that the base urls contain '.cit' whichs is HERE's + * 'Customer Integration Testing' environment. Please remove for production + * envirionments. + */ + url: + '//{s}.{base}.maps.cit.api.here.com/maptile/2.1/' + + '{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?' + + 'app_id={app_id}&app_code={app_code}&lg={language}', + options: { + attribution: + 'Map © 1987-2014 HERE', + subdomains: '1234', + mapID: 'newest', + 'app_id': '', + 'app_code': '', + base: 'base', + variant: 'normal.day', + maxZoom: 20, + type: 'maptile', + language: 'eng', + format: 'png8', + size: '256' + }, + variants: { + normalDay: 'normal.day', + normalDayCustom: 'normal.day.custom', + normalDayGrey: 'normal.day.grey', + normalDayMobile: 'normal.day.mobile', + normalDayGreyMobile: 'normal.day.grey.mobile', + normalDayTransit: 'normal.day.transit', + normalDayTransitMobile: 'normal.day.transit.mobile', + normalNight: 'normal.night', + normalNightMobile: 'normal.night.mobile', + normalNightGrey: 'normal.night.grey', + normalNightGreyMobile: 'normal.night.grey.mobile', + + basicMap: { + options: { + type: 'basetile' + } + }, + mapLabels: { + options: { + type: 'labeltile', + format: 'png' + } + }, + trafficFlow: { + options: { + base: 'traffic', + type: 'flowtile' + } + }, + carnavDayGrey: 'carnav.day.grey', + hybridDay: { + options: { + base: 'aerial', + variant: 'hybrid.day' + } + }, + hybridDayMobile: { + options: { + base: 'aerial', + variant: 'hybrid.day.mobile' + } + }, + pedestrianDay: 'pedestrian.day', + pedestrianNight: 'pedestrian.night', + satelliteDay: { + options: { + base: 'aerial', + variant: 'satellite.day' + } + }, + terrainDay: { + options: { + base: 'aerial', + variant: 'terrain.day' + } + }, + terrainDayMobile: { + options: { + base: 'aerial', + variant: 'terrain.day.mobile' + } + } + } + }, + FreeMapSK: { + url: 'http://t{s}.freemap.sk/T/{z}/{x}/{y}.jpeg', + options: { + minZoom: 8, + maxZoom: 16, + subdomains: '1234', + bounds: [[47.204642, 15.996093], [49.830896, 22.576904]], + attribution: + '{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 Freemap.sk' + } + }, + MtbMap: { + url: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png', + options: { + attribution: + '{attribution.OpenStreetMap} & USGS' + } + }, + CartoDB: { + url: 'http://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}.png', + options: { + attribution: '{attribution.OpenStreetMap} © CartoDB', + subdomains: 'abcd', + maxZoom: 19, + variant: 'light_all' + }, + variants: { + Positron: 'light_all', + PositronNoLabels: 'light_nolabels', + PositronOnlyLabels: 'light_only_labels', + DarkMatter: 'dark_all', + DarkMatterNoLabels: 'dark_nolabels', + DarkMatterOnlyLabels: 'dark_only_labels' + } + }, + HikeBike: { + url: 'http://{s}.tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png', + options: { + maxZoom: 19, + attribution: '{attribution.OpenStreetMap}', + variant: 'hikebike' + }, + variants: { + HikeBike: {}, + HillShading: { + options: { + maxZoom: 15, + variant: 'hillshading' + } + } + } + }, + BasemapAT: { + url: '//maps{s}.wien.gv.at/basemap/{variant}/normal/google3857/{z}/{y}/{x}.{format}', + options: { + maxZoom: 19, + attribution: 'Datenquelle: basemap.at', + subdomains: ['', '1', '2', '3', '4'], + format: 'png', + bounds: [[46.358770, 8.782379], [49.037872, 17.189532]], + variant: 'geolandbasemap' + }, + variants: { + basemap: 'geolandbasemap', + grau: 'bmapgrau', + overlay: 'bmapoverlay', + highdpi: { + options: { + variant: 'bmaphidpi', + format: 'jpeg' + } + }, + orthofoto: { + options: { + variant: 'bmaporthofoto30cm', + format: 'jpeg' + } + } + } + }, + NASAGIBS: { + url: '//map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}', + options: { + attribution: + 'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System ' + + '(ESDIS) with funding provided by NASA/HQ.', + bounds: [[-85.0511287776, -179.999999975], [85.0511287776, 179.999999975]], + minZoom: 1, + maxZoom: 9, + format: 'jpg', + time: '', + tilematrixset: 'GoogleMapsCompatible_Level' + }, + variants: { + ModisTerraTrueColorCR: 'MODIS_Terra_CorrectedReflectance_TrueColor', + ModisTerraBands367CR: 'MODIS_Terra_CorrectedReflectance_Bands367', + ViirsEarthAtNight2012: { + options: { + variant: 'VIIRS_CityLights_2012', + maxZoom: 8 + } + }, + ModisTerraLSTDay: { + options: { + variant: 'MODIS_Terra_Land_Surface_Temp_Day', + format: 'png', + maxZoom: 7, + opacity: 0.75 + } + }, + ModisTerraSnowCover: { + options: { + variant: 'MODIS_Terra_Snow_Cover', + format: 'png', + maxZoom: 8, + opacity: 0.75 + } + }, + ModisTerraAOD: { + options: { + variant: 'MODIS_Terra_Aerosol', + format: 'png', + maxZoom: 6, + opacity: 0.75 + } + }, + ModisTerraChlorophyll: { + options: { + variant: 'MODIS_Terra_Chlorophyll_A', + format: 'png', + maxZoom: 7, + opacity: 0.75 + } + } + } + }, + NLS: { + // NLS maps are copyright National library of Scotland. + // http://maps.nls.uk/projects/api/index.html + // Please contact NLS for anything other than non-commercial low volume usage + // + // Map sources: Ordnance Survey 1:1m to 1:63K, 1920s-1940s + // z0-9 - 1:1m + // z10-11 - quarter inch (1:253440) + // z12-18 - one inch (1:63360) + url: '//nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg', + options: { + attribution: 'National Library of Scotland Historic Maps', + bounds: [[49.6, -12], [61.7, 3]], + minZoom: 1, + maxZoom: 18, + subdomains: '0123', + } + } + }; + + L.tileLayer.provider = function (provider, options) { + return new L.TileLayer.Provider(provider, options); + }; + + return L; +})); diff --git a/src/Leaflet/lib/leaflet-src.js b/src/Leaflet/lib/leaflet-src.js new file mode 100644 index 0000000..d3d5635 --- /dev/null +++ b/src/Leaflet/lib/leaflet-src.js @@ -0,0 +1,9168 @@ +/* + Leaflet, a JavaScript library for mobile-friendly interactive maps. http://leafletjs.com + (c) 2010-2013, Vladimir Agafonkin + (c) 2010-2011, CloudMade +*/ +(function (window, document, undefined) { +var oldL = window.L, + L = {}; + +L.version = '0.7.7'; + +// define Leaflet for Node module pattern loaders, including Browserify +if (typeof module === 'object' && typeof module.exports === 'object') { + module.exports = L; + +// define Leaflet as an AMD module +} else if (typeof define === 'function' && define.amd) { + define(L); +} + +// define Leaflet as a global L variable, saving the original L to restore later if needed + +L.noConflict = function () { + window.L = oldL; + return this; +}; + +window.L = L; + + +/* + * L.Util contains various utility functions used throughout Leaflet code. + */ + +L.Util = { + extend: function (dest) { // (Object[, Object, ...]) -> + var sources = Array.prototype.slice.call(arguments, 1), + i, j, len, src; + + for (j = 0, len = sources.length; j < len; j++) { + src = sources[j] || {}; + for (i in src) { + if (src.hasOwnProperty(i)) { + dest[i] = src[i]; + } + } + } + return dest; + }, + + bind: function (fn, obj) { // (Function, Object) -> Function + var args = arguments.length > 2 ? Array.prototype.slice.call(arguments, 2) : null; + return function () { + return fn.apply(obj, args || arguments); + }; + }, + + stamp: (function () { + var lastId = 0, + key = '_leaflet_id'; + return function (obj) { + obj[key] = obj[key] || ++lastId; + return obj[key]; + }; + }()), + + invokeEach: function (obj, method, context) { + var i, args; + + if (typeof obj === 'object') { + args = Array.prototype.slice.call(arguments, 3); + + for (i in obj) { + method.apply(context, [i, obj[i]].concat(args)); + } + return true; + } + + return false; + }, + + limitExecByInterval: function (fn, time, context) { + var lock, execOnUnlock; + + return function wrapperFn() { + var args = arguments; + + if (lock) { + execOnUnlock = true; + return; + } + + lock = true; + + setTimeout(function () { + lock = false; + + if (execOnUnlock) { + wrapperFn.apply(context, args); + execOnUnlock = false; + } + }, time); + + fn.apply(context, args); + }; + }, + + falseFn: function () { + return false; + }, + + formatNum: function (num, digits) { + var pow = Math.pow(10, digits || 5); + return Math.round(num * pow) / pow; + }, + + trim: function (str) { + return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, ''); + }, + + splitWords: function (str) { + return L.Util.trim(str).split(/\s+/); + }, + + setOptions: function (obj, options) { + obj.options = L.extend({}, obj.options, options); + return obj.options; + }, + + getParamString: function (obj, existingUrl, uppercase) { + var params = []; + for (var i in obj) { + params.push(encodeURIComponent(uppercase ? i.toUpperCase() : i) + '=' + encodeURIComponent(obj[i])); + } + return ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&'); + }, + template: function (str, data) { + return str.replace(/\{ *([\w_]+) *\}/g, function (str, key) { + var value = data[key]; + if (value === undefined) { + throw new Error('No value provided for variable ' + str); + } else if (typeof value === 'function') { + value = value(data); + } + return value; + }); + }, + + isArray: Array.isArray || function (obj) { + return (Object.prototype.toString.call(obj) === '[object Array]'); + }, + + emptyImageUrl: 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=' +}; + +(function () { + + // inspired by http://paulirish.com/2011/requestanimationframe-for-smart-animating/ + + function getPrefixed(name) { + var i, fn, + prefixes = ['webkit', 'moz', 'o', 'ms']; + + for (i = 0; i < prefixes.length && !fn; i++) { + fn = window[prefixes[i] + name]; + } + + return fn; + } + + var lastTime = 0; + + function timeoutDefer(fn) { + var time = +new Date(), + timeToCall = Math.max(0, 16 - (time - lastTime)); + + lastTime = time + timeToCall; + return window.setTimeout(fn, timeToCall); + } + + var requestFn = window.requestAnimationFrame || + getPrefixed('RequestAnimationFrame') || timeoutDefer; + + var cancelFn = window.cancelAnimationFrame || + getPrefixed('CancelAnimationFrame') || + getPrefixed('CancelRequestAnimationFrame') || + function (id) { window.clearTimeout(id); }; + + + L.Util.requestAnimFrame = function (fn, context, immediate, element) { + fn = L.bind(fn, context); + + if (immediate && requestFn === timeoutDefer) { + fn(); + } else { + return requestFn.call(window, fn, element); + } + }; + + L.Util.cancelAnimFrame = function (id) { + if (id) { + cancelFn.call(window, id); + } + }; + +}()); + +// shortcuts for most used utility functions +L.extend = L.Util.extend; +L.bind = L.Util.bind; +L.stamp = L.Util.stamp; +L.setOptions = L.Util.setOptions; + + +/* + * L.Class powers the OOP facilities of the library. + * Thanks to John Resig and Dean Edwards for inspiration! + */ + +L.Class = function () {}; + +L.Class.extend = function (props) { + + // extended class with the new prototype + var NewClass = function () { + + // call the constructor + if (this.initialize) { + this.initialize.apply(this, arguments); + } + + // call all constructor hooks + if (this._initHooks) { + this.callInitHooks(); + } + }; + + // instantiate class without calling constructor + var F = function () {}; + F.prototype = this.prototype; + + var proto = new F(); + proto.constructor = NewClass; + + NewClass.prototype = proto; + + //inherit parent's statics + for (var i in this) { + if (this.hasOwnProperty(i) && i !== 'prototype') { + NewClass[i] = this[i]; + } + } + + // mix static properties into the class + if (props.statics) { + L.extend(NewClass, props.statics); + delete props.statics; + } + + // mix includes into the prototype + if (props.includes) { + L.Util.extend.apply(null, [proto].concat(props.includes)); + delete props.includes; + } + + // merge options + if (props.options && proto.options) { + props.options = L.extend({}, proto.options, props.options); + } + + // mix given properties into the prototype + L.extend(proto, props); + + proto._initHooks = []; + + var parent = this; + // jshint camelcase: false + NewClass.__super__ = parent.prototype; + + // add method for calling all hooks + proto.callInitHooks = function () { + + if (this._initHooksCalled) { return; } + + if (parent.prototype.callInitHooks) { + parent.prototype.callInitHooks.call(this); + } + + this._initHooksCalled = true; + + for (var i = 0, len = proto._initHooks.length; i < len; i++) { + proto._initHooks[i].call(this); + } + }; + + return NewClass; +}; + + +// method for adding properties to prototype +L.Class.include = function (props) { + L.extend(this.prototype, props); +}; + +// merge new default options to the Class +L.Class.mergeOptions = function (options) { + L.extend(this.prototype.options, options); +}; + +// add a constructor hook +L.Class.addInitHook = function (fn) { // (Function) || (String, args...) + var args = Array.prototype.slice.call(arguments, 1); + + var init = typeof fn === 'function' ? fn : function () { + this[fn].apply(this, args); + }; + + this.prototype._initHooks = this.prototype._initHooks || []; + this.prototype._initHooks.push(init); +}; + + +/* + * L.Mixin.Events is used to add custom events functionality to Leaflet classes. + */ + +var eventsKey = '_leaflet_events'; + +L.Mixin = {}; + +L.Mixin.Events = { + + addEventListener: function (types, fn, context) { // (String, Function[, Object]) or (Object[, Object]) + + // types can be a map of types/handlers + if (L.Util.invokeEach(types, this.addEventListener, this, fn, context)) { return this; } + + var events = this[eventsKey] = this[eventsKey] || {}, + contextId = context && context !== this && L.stamp(context), + i, len, event, type, indexKey, indexLenKey, typeIndex; + + // types can be a string of space-separated words + types = L.Util.splitWords(types); + + for (i = 0, len = types.length; i < len; i++) { + event = { + action: fn, + context: context || this + }; + type = types[i]; + + if (contextId) { + // store listeners of a particular context in a separate hash (if it has an id) + // gives a major performance boost when removing thousands of map layers + + indexKey = type + '_idx'; + indexLenKey = indexKey + '_len'; + + typeIndex = events[indexKey] = events[indexKey] || {}; + + if (!typeIndex[contextId]) { + typeIndex[contextId] = []; + + // keep track of the number of keys in the index to quickly check if it's empty + events[indexLenKey] = (events[indexLenKey] || 0) + 1; + } + + typeIndex[contextId].push(event); + + + } else { + events[type] = events[type] || []; + events[type].push(event); + } + } + + return this; + }, + + hasEventListeners: function (type) { // (String) -> Boolean + var events = this[eventsKey]; + return !!events && ((type in events && events[type].length > 0) || + (type + '_idx' in events && events[type + '_idx_len'] > 0)); + }, + + removeEventListener: function (types, fn, context) { // ([String, Function, Object]) or (Object[, Object]) + + if (!this[eventsKey]) { + return this; + } + + if (!types) { + return this.clearAllEventListeners(); + } + + if (L.Util.invokeEach(types, this.removeEventListener, this, fn, context)) { return this; } + + var events = this[eventsKey], + contextId = context && context !== this && L.stamp(context), + i, len, type, listeners, j, indexKey, indexLenKey, typeIndex, removed; + + types = L.Util.splitWords(types); + + for (i = 0, len = types.length; i < len; i++) { + type = types[i]; + indexKey = type + '_idx'; + indexLenKey = indexKey + '_len'; + + typeIndex = events[indexKey]; + + if (!fn) { + // clear all listeners for a type if function isn't specified + delete events[type]; + delete events[indexKey]; + delete events[indexLenKey]; + + } else { + listeners = contextId && typeIndex ? typeIndex[contextId] : events[type]; + + if (listeners) { + for (j = listeners.length - 1; j >= 0; j--) { + if ((listeners[j].action === fn) && (!context || (listeners[j].context === context))) { + removed = listeners.splice(j, 1); + // set the old action to a no-op, because it is possible + // that the listener is being iterated over as part of a dispatch + removed[0].action = L.Util.falseFn; + } + } + + if (context && typeIndex && (listeners.length === 0)) { + delete typeIndex[contextId]; + events[indexLenKey]--; + } + } + } + } + + return this; + }, + + clearAllEventListeners: function () { + delete this[eventsKey]; + return this; + }, + + fireEvent: function (type, data) { // (String[, Object]) + if (!this.hasEventListeners(type)) { + return this; + } + + var event = L.Util.extend({}, data, { type: type, target: this }); + + var events = this[eventsKey], + listeners, i, len, typeIndex, contextId; + + if (events[type]) { + // make sure adding/removing listeners inside other listeners won't cause infinite loop + listeners = events[type].slice(); + + for (i = 0, len = listeners.length; i < len; i++) { + listeners[i].action.call(listeners[i].context, event); + } + } + + // fire event for the context-indexed listeners as well + typeIndex = events[type + '_idx']; + + for (contextId in typeIndex) { + listeners = typeIndex[contextId].slice(); + + if (listeners) { + for (i = 0, len = listeners.length; i < len; i++) { + listeners[i].action.call(listeners[i].context, event); + } + } + } + + return this; + }, + + addOneTimeEventListener: function (types, fn, context) { + + if (L.Util.invokeEach(types, this.addOneTimeEventListener, this, fn, context)) { return this; } + + var handler = L.bind(function () { + this + .removeEventListener(types, fn, context) + .removeEventListener(types, handler, context); + }, this); + + return this + .addEventListener(types, fn, context) + .addEventListener(types, handler, context); + } +}; + +L.Mixin.Events.on = L.Mixin.Events.addEventListener; +L.Mixin.Events.off = L.Mixin.Events.removeEventListener; +L.Mixin.Events.once = L.Mixin.Events.addOneTimeEventListener; +L.Mixin.Events.fire = L.Mixin.Events.fireEvent; + + +/* + * L.Browser handles different browser and feature detections for internal Leaflet use. + */ + +(function () { + + var ie = 'ActiveXObject' in window, + ielt9 = ie && !document.addEventListener, + + // terrible browser detection to work around Safari / iOS / Android browser bugs + ua = navigator.userAgent.toLowerCase(), + webkit = ua.indexOf('webkit') !== -1, + chrome = ua.indexOf('chrome') !== -1, + phantomjs = ua.indexOf('phantom') !== -1, + android = ua.indexOf('android') !== -1, + android23 = ua.search('android [23]') !== -1, + gecko = ua.indexOf('gecko') !== -1, + + mobile = typeof orientation !== undefined + '', + msPointer = !window.PointerEvent && window.MSPointerEvent, + pointer = (window.PointerEvent && window.navigator.pointerEnabled) || + msPointer, + retina = ('devicePixelRatio' in window && window.devicePixelRatio > 1) || + ('matchMedia' in window && window.matchMedia('(min-resolution:144dpi)') && + window.matchMedia('(min-resolution:144dpi)').matches), + + doc = document.documentElement, + ie3d = ie && ('transition' in doc.style), + webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23, + gecko3d = 'MozPerspective' in doc.style, + opera3d = 'OTransition' in doc.style, + any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d || opera3d) && !phantomjs; + + var touch = !window.L_NO_TOUCH && !phantomjs && (pointer || 'ontouchstart' in window || + (window.DocumentTouch && document instanceof window.DocumentTouch)); + + L.Browser = { + ie: ie, + ielt9: ielt9, + webkit: webkit, + gecko: gecko && !webkit && !window.opera && !ie, + + android: android, + android23: android23, + + chrome: chrome, + + ie3d: ie3d, + webkit3d: webkit3d, + gecko3d: gecko3d, + opera3d: opera3d, + any3d: any3d, + + mobile: mobile, + mobileWebkit: mobile && webkit, + mobileWebkit3d: mobile && webkit3d, + mobileOpera: mobile && window.opera, + + touch: touch, + msPointer: msPointer, + pointer: pointer, + + retina: retina + }; + +}()); + + +/* + * L.Point represents a point with x and y coordinates. + */ + +L.Point = function (/*Number*/ x, /*Number*/ y, /*Boolean*/ round) { + this.x = (round ? Math.round(x) : x); + this.y = (round ? Math.round(y) : y); +}; + +L.Point.prototype = { + + clone: function () { + return new L.Point(this.x, this.y); + }, + + // non-destructive, returns a new point + add: function (point) { + return this.clone()._add(L.point(point)); + }, + + // destructive, used directly for performance in situations where it's safe to modify existing point + _add: function (point) { + this.x += point.x; + this.y += point.y; + return this; + }, + + subtract: function (point) { + return this.clone()._subtract(L.point(point)); + }, + + _subtract: function (point) { + this.x -= point.x; + this.y -= point.y; + return this; + }, + + divideBy: function (num) { + return this.clone()._divideBy(num); + }, + + _divideBy: function (num) { + this.x /= num; + this.y /= num; + return this; + }, + + multiplyBy: function (num) { + return this.clone()._multiplyBy(num); + }, + + _multiplyBy: function (num) { + this.x *= num; + this.y *= num; + return this; + }, + + round: function () { + return this.clone()._round(); + }, + + _round: function () { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + return this; + }, + + floor: function () { + return this.clone()._floor(); + }, + + _floor: function () { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + return this; + }, + + distanceTo: function (point) { + point = L.point(point); + + var x = point.x - this.x, + y = point.y - this.y; + + return Math.sqrt(x * x + y * y); + }, + + equals: function (point) { + point = L.point(point); + + return point.x === this.x && + point.y === this.y; + }, + + contains: function (point) { + point = L.point(point); + + return Math.abs(point.x) <= Math.abs(this.x) && + Math.abs(point.y) <= Math.abs(this.y); + }, + + toString: function () { + return 'Point(' + + L.Util.formatNum(this.x) + ', ' + + L.Util.formatNum(this.y) + ')'; + } +}; + +L.point = function (x, y, round) { + if (x instanceof L.Point) { + return x; + } + if (L.Util.isArray(x)) { + return new L.Point(x[0], x[1]); + } + if (x === undefined || x === null) { + return x; + } + return new L.Point(x, y, round); +}; + + +/* + * L.Bounds represents a rectangular area on the screen in pixel coordinates. + */ + +L.Bounds = function (a, b) { //(Point, Point) or Point[] + if (!a) { return; } + + var points = b ? [a, b] : a; + + for (var i = 0, len = points.length; i < len; i++) { + this.extend(points[i]); + } +}; + +L.Bounds.prototype = { + // extend the bounds to contain the given point + extend: function (point) { // (Point) + point = L.point(point); + + if (!this.min && !this.max) { + this.min = point.clone(); + this.max = point.clone(); + } else { + this.min.x = Math.min(point.x, this.min.x); + this.max.x = Math.max(point.x, this.max.x); + this.min.y = Math.min(point.y, this.min.y); + this.max.y = Math.max(point.y, this.max.y); + } + return this; + }, + + getCenter: function (round) { // (Boolean) -> Point + return new L.Point( + (this.min.x + this.max.x) / 2, + (this.min.y + this.max.y) / 2, round); + }, + + getBottomLeft: function () { // -> Point + return new L.Point(this.min.x, this.max.y); + }, + + getTopRight: function () { // -> Point + return new L.Point(this.max.x, this.min.y); + }, + + getSize: function () { + return this.max.subtract(this.min); + }, + + contains: function (obj) { // (Bounds) or (Point) -> Boolean + var min, max; + + if (typeof obj[0] === 'number' || obj instanceof L.Point) { + obj = L.point(obj); + } else { + obj = L.bounds(obj); + } + + if (obj instanceof L.Bounds) { + min = obj.min; + max = obj.max; + } else { + min = max = obj; + } + + return (min.x >= this.min.x) && + (max.x <= this.max.x) && + (min.y >= this.min.y) && + (max.y <= this.max.y); + }, + + intersects: function (bounds) { // (Bounds) -> Boolean + bounds = L.bounds(bounds); + + var min = this.min, + max = this.max, + min2 = bounds.min, + max2 = bounds.max, + xIntersects = (max2.x >= min.x) && (min2.x <= max.x), + yIntersects = (max2.y >= min.y) && (min2.y <= max.y); + + return xIntersects && yIntersects; + }, + + isValid: function () { + return !!(this.min && this.max); + } +}; + +L.bounds = function (a, b) { // (Bounds) or (Point, Point) or (Point[]) + if (!a || a instanceof L.Bounds) { + return a; + } + return new L.Bounds(a, b); +}; + + +/* + * L.Transformation is an utility class to perform simple point transformations through a 2d-matrix. + */ + +L.Transformation = function (a, b, c, d) { + this._a = a; + this._b = b; + this._c = c; + this._d = d; +}; + +L.Transformation.prototype = { + transform: function (point, scale) { // (Point, Number) -> Point + return this._transform(point.clone(), scale); + }, + + // destructive transform (faster) + _transform: function (point, scale) { + scale = scale || 1; + point.x = scale * (this._a * point.x + this._b); + point.y = scale * (this._c * point.y + this._d); + return point; + }, + + untransform: function (point, scale) { + scale = scale || 1; + return new L.Point( + (point.x / scale - this._b) / this._a, + (point.y / scale - this._d) / this._c); + } +}; + + +/* + * L.DomUtil contains various utility functions for working with DOM. + */ + +L.DomUtil = { + get: function (id) { + return (typeof id === 'string' ? document.getElementById(id) : id); + }, + + getStyle: function (el, style) { + + var value = el.style[style]; + + if (!value && el.currentStyle) { + value = el.currentStyle[style]; + } + + if ((!value || value === 'auto') && document.defaultView) { + var css = document.defaultView.getComputedStyle(el, null); + value = css ? css[style] : null; + } + + return value === 'auto' ? null : value; + }, + + getViewportOffset: function (element) { + + var top = 0, + left = 0, + el = element, + docBody = document.body, + docEl = document.documentElement, + pos; + + do { + top += el.offsetTop || 0; + left += el.offsetLeft || 0; + + //add borders + top += parseInt(L.DomUtil.getStyle(el, 'borderTopWidth'), 10) || 0; + left += parseInt(L.DomUtil.getStyle(el, 'borderLeftWidth'), 10) || 0; + + pos = L.DomUtil.getStyle(el, 'position'); + + if (el.offsetParent === docBody && pos === 'absolute') { break; } + + if (pos === 'fixed') { + top += docBody.scrollTop || docEl.scrollTop || 0; + left += docBody.scrollLeft || docEl.scrollLeft || 0; + break; + } + + if (pos === 'relative' && !el.offsetLeft) { + var width = L.DomUtil.getStyle(el, 'width'), + maxWidth = L.DomUtil.getStyle(el, 'max-width'), + r = el.getBoundingClientRect(); + + if (width !== 'none' || maxWidth !== 'none') { + left += r.left + el.clientLeft; + } + + //calculate full y offset since we're breaking out of the loop + top += r.top + (docBody.scrollTop || docEl.scrollTop || 0); + + break; + } + + el = el.offsetParent; + + } while (el); + + el = element; + + do { + if (el === docBody) { break; } + + top -= el.scrollTop || 0; + left -= el.scrollLeft || 0; + + el = el.parentNode; + } while (el); + + return new L.Point(left, top); + }, + + documentIsLtr: function () { + if (!L.DomUtil._docIsLtrCached) { + L.DomUtil._docIsLtrCached = true; + L.DomUtil._docIsLtr = L.DomUtil.getStyle(document.body, 'direction') === 'ltr'; + } + return L.DomUtil._docIsLtr; + }, + + create: function (tagName, className, container) { + + var el = document.createElement(tagName); + el.className = className; + + if (container) { + container.appendChild(el); + } + + return el; + }, + + hasClass: function (el, name) { + if (el.classList !== undefined) { + return el.classList.contains(name); + } + var className = L.DomUtil._getClass(el); + return className.length > 0 && new RegExp('(^|\\s)' + name + '(\\s|$)').test(className); + }, + + addClass: function (el, name) { + if (el.classList !== undefined) { + var classes = L.Util.splitWords(name); + for (var i = 0, len = classes.length; i < len; i++) { + el.classList.add(classes[i]); + } + } else if (!L.DomUtil.hasClass(el, name)) { + var className = L.DomUtil._getClass(el); + L.DomUtil._setClass(el, (className ? className + ' ' : '') + name); + } + }, + + removeClass: function (el, name) { + if (el.classList !== undefined) { + el.classList.remove(name); + } else { + L.DomUtil._setClass(el, L.Util.trim((' ' + L.DomUtil._getClass(el) + ' ').replace(' ' + name + ' ', ' '))); + } + }, + + _setClass: function (el, name) { + if (el.className.baseVal === undefined) { + el.className = name; + } else { + // in case of SVG element + el.className.baseVal = name; + } + }, + + _getClass: function (el) { + return el.className.baseVal === undefined ? el.className : el.className.baseVal; + }, + + setOpacity: function (el, value) { + + if ('opacity' in el.style) { + el.style.opacity = value; + + } else if ('filter' in el.style) { + + var filter = false, + filterName = 'DXImageTransform.Microsoft.Alpha'; + + // filters collection throws an error if we try to retrieve a filter that doesn't exist + try { + filter = el.filters.item(filterName); + } catch (e) { + // don't set opacity to 1 if we haven't already set an opacity, + // it isn't needed and breaks transparent pngs. + if (value === 1) { return; } + } + + value = Math.round(value * 100); + + if (filter) { + filter.Enabled = (value !== 100); + filter.Opacity = value; + } else { + el.style.filter += ' progid:' + filterName + '(opacity=' + value + ')'; + } + } + }, + + testProp: function (props) { + + var style = document.documentElement.style; + + for (var i = 0; i < props.length; i++) { + if (props[i] in style) { + return props[i]; + } + } + return false; + }, + + getTranslateString: function (point) { + // on WebKit browsers (Chrome/Safari/iOS Safari/Android) using translate3d instead of translate + // makes animation smoother as it ensures HW accel is used. Firefox 13 doesn't care + // (same speed either way), Opera 12 doesn't support translate3d + + var is3d = L.Browser.webkit3d, + open = 'translate' + (is3d ? '3d' : '') + '(', + close = (is3d ? ',0' : '') + ')'; + + return open + point.x + 'px,' + point.y + 'px' + close; + }, + + getScaleString: function (scale, origin) { + + var preTranslateStr = L.DomUtil.getTranslateString(origin.add(origin.multiplyBy(-1 * scale))), + scaleStr = ' scale(' + scale + ') '; + + return preTranslateStr + scaleStr; + }, + + setPosition: function (el, point, disable3D) { // (HTMLElement, Point[, Boolean]) + + // jshint camelcase: false + el._leaflet_pos = point; + + if (!disable3D && L.Browser.any3d) { + el.style[L.DomUtil.TRANSFORM] = L.DomUtil.getTranslateString(point); + } else { + el.style.left = point.x + 'px'; + el.style.top = point.y + 'px'; + } + }, + + getPosition: function (el) { + // this method is only used for elements previously positioned using setPosition, + // so it's safe to cache the position for performance + + // jshint camelcase: false + return el._leaflet_pos; + } +}; + + +// prefix style property names + +L.DomUtil.TRANSFORM = L.DomUtil.testProp( + ['transform', 'WebkitTransform', 'OTransform', 'MozTransform', 'msTransform']); + +// webkitTransition comes first because some browser versions that drop vendor prefix don't do +// the same for the transitionend event, in particular the Android 4.1 stock browser + +L.DomUtil.TRANSITION = L.DomUtil.testProp( + ['webkitTransition', 'transition', 'OTransition', 'MozTransition', 'msTransition']); + +L.DomUtil.TRANSITION_END = + L.DomUtil.TRANSITION === 'webkitTransition' || L.DomUtil.TRANSITION === 'OTransition' ? + L.DomUtil.TRANSITION + 'End' : 'transitionend'; + +(function () { + if ('onselectstart' in document) { + L.extend(L.DomUtil, { + disableTextSelection: function () { + L.DomEvent.on(window, 'selectstart', L.DomEvent.preventDefault); + }, + + enableTextSelection: function () { + L.DomEvent.off(window, 'selectstart', L.DomEvent.preventDefault); + } + }); + } else { + var userSelectProperty = L.DomUtil.testProp( + ['userSelect', 'WebkitUserSelect', 'OUserSelect', 'MozUserSelect', 'msUserSelect']); + + L.extend(L.DomUtil, { + disableTextSelection: function () { + if (userSelectProperty) { + var style = document.documentElement.style; + this._userSelect = style[userSelectProperty]; + style[userSelectProperty] = 'none'; + } + }, + + enableTextSelection: function () { + if (userSelectProperty) { + document.documentElement.style[userSelectProperty] = this._userSelect; + delete this._userSelect; + } + } + }); + } + + L.extend(L.DomUtil, { + disableImageDrag: function () { + L.DomEvent.on(window, 'dragstart', L.DomEvent.preventDefault); + }, + + enableImageDrag: function () { + L.DomEvent.off(window, 'dragstart', L.DomEvent.preventDefault); + } + }); +})(); + + +/* + * L.LatLng represents a geographical point with latitude and longitude coordinates. + */ + +L.LatLng = function (lat, lng, alt) { // (Number, Number, Number) + lat = parseFloat(lat); + lng = parseFloat(lng); + + if (isNaN(lat) || isNaN(lng)) { + throw new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')'); + } + + this.lat = lat; + this.lng = lng; + + if (alt !== undefined) { + this.alt = parseFloat(alt); + } +}; + +L.extend(L.LatLng, { + DEG_TO_RAD: Math.PI / 180, + RAD_TO_DEG: 180 / Math.PI, + MAX_MARGIN: 1.0E-9 // max margin of error for the "equals" check +}); + +L.LatLng.prototype = { + equals: function (obj) { // (LatLng) -> Boolean + if (!obj) { return false; } + + obj = L.latLng(obj); + + var margin = Math.max( + Math.abs(this.lat - obj.lat), + Math.abs(this.lng - obj.lng)); + + return margin <= L.LatLng.MAX_MARGIN; + }, + + toString: function (precision) { // (Number) -> String + return 'LatLng(' + + L.Util.formatNum(this.lat, precision) + ', ' + + L.Util.formatNum(this.lng, precision) + ')'; + }, + + // Haversine distance formula, see http://en.wikipedia.org/wiki/Haversine_formula + // TODO move to projection code, LatLng shouldn't know about Earth + distanceTo: function (other) { // (LatLng) -> Number + other = L.latLng(other); + + var R = 6378137, // earth radius in meters + d2r = L.LatLng.DEG_TO_RAD, + dLat = (other.lat - this.lat) * d2r, + dLon = (other.lng - this.lng) * d2r, + lat1 = this.lat * d2r, + lat2 = other.lat * d2r, + sin1 = Math.sin(dLat / 2), + sin2 = Math.sin(dLon / 2); + + var a = sin1 * sin1 + sin2 * sin2 * Math.cos(lat1) * Math.cos(lat2); + + return R * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); + }, + + wrap: function (a, b) { // (Number, Number) -> LatLng + var lng = this.lng; + + a = a || -180; + b = b || 180; + + lng = (lng + b) % (b - a) + (lng < a || lng === b ? b : a); + + return new L.LatLng(this.lat, lng); + } +}; + +L.latLng = function (a, b) { // (LatLng) or ([Number, Number]) or (Number, Number) + if (a instanceof L.LatLng) { + return a; + } + if (L.Util.isArray(a)) { + if (typeof a[0] === 'number' || typeof a[0] === 'string') { + return new L.LatLng(a[0], a[1], a[2]); + } else { + return null; + } + } + if (a === undefined || a === null) { + return a; + } + if (typeof a === 'object' && 'lat' in a) { + return new L.LatLng(a.lat, 'lng' in a ? a.lng : a.lon); + } + if (b === undefined) { + return null; + } + return new L.LatLng(a, b); +}; + + + +/* + * L.LatLngBounds represents a rectangular area on the map in geographical coordinates. + */ + +L.LatLngBounds = function (southWest, northEast) { // (LatLng, LatLng) or (LatLng[]) + if (!southWest) { return; } + + var latlngs = northEast ? [southWest, northEast] : southWest; + + for (var i = 0, len = latlngs.length; i < len; i++) { + this.extend(latlngs[i]); + } +}; + +L.LatLngBounds.prototype = { + // extend the bounds to contain the given point or bounds + extend: function (obj) { // (LatLng) or (LatLngBounds) + if (!obj) { return this; } + + var latLng = L.latLng(obj); + if (latLng !== null) { + obj = latLng; + } else { + obj = L.latLngBounds(obj); + } + + if (obj instanceof L.LatLng) { + if (!this._southWest && !this._northEast) { + this._southWest = new L.LatLng(obj.lat, obj.lng); + this._northEast = new L.LatLng(obj.lat, obj.lng); + } else { + this._southWest.lat = Math.min(obj.lat, this._southWest.lat); + this._southWest.lng = Math.min(obj.lng, this._southWest.lng); + + this._northEast.lat = Math.max(obj.lat, this._northEast.lat); + this._northEast.lng = Math.max(obj.lng, this._northEast.lng); + } + } else if (obj instanceof L.LatLngBounds) { + this.extend(obj._southWest); + this.extend(obj._northEast); + } + return this; + }, + + // extend the bounds by a percentage + pad: function (bufferRatio) { // (Number) -> LatLngBounds + var sw = this._southWest, + ne = this._northEast, + heightBuffer = Math.abs(sw.lat - ne.lat) * bufferRatio, + widthBuffer = Math.abs(sw.lng - ne.lng) * bufferRatio; + + return new L.LatLngBounds( + new L.LatLng(sw.lat - heightBuffer, sw.lng - widthBuffer), + new L.LatLng(ne.lat + heightBuffer, ne.lng + widthBuffer)); + }, + + getCenter: function () { // -> LatLng + return new L.LatLng( + (this._southWest.lat + this._northEast.lat) / 2, + (this._southWest.lng + this._northEast.lng) / 2); + }, + + getSouthWest: function () { + return this._southWest; + }, + + getNorthEast: function () { + return this._northEast; + }, + + getNorthWest: function () { + return new L.LatLng(this.getNorth(), this.getWest()); + }, + + getSouthEast: function () { + return new L.LatLng(this.getSouth(), this.getEast()); + }, + + getWest: function () { + return this._southWest.lng; + }, + + getSouth: function () { + return this._southWest.lat; + }, + + getEast: function () { + return this._northEast.lng; + }, + + getNorth: function () { + return this._northEast.lat; + }, + + contains: function (obj) { // (LatLngBounds) or (LatLng) -> Boolean + if (typeof obj[0] === 'number' || obj instanceof L.LatLng) { + obj = L.latLng(obj); + } else { + obj = L.latLngBounds(obj); + } + + var sw = this._southWest, + ne = this._northEast, + sw2, ne2; + + if (obj instanceof L.LatLngBounds) { + sw2 = obj.getSouthWest(); + ne2 = obj.getNorthEast(); + } else { + sw2 = ne2 = obj; + } + + return (sw2.lat >= sw.lat) && (ne2.lat <= ne.lat) && + (sw2.lng >= sw.lng) && (ne2.lng <= ne.lng); + }, + + intersects: function (bounds) { // (LatLngBounds) + bounds = L.latLngBounds(bounds); + + var sw = this._southWest, + ne = this._northEast, + sw2 = bounds.getSouthWest(), + ne2 = bounds.getNorthEast(), + + latIntersects = (ne2.lat >= sw.lat) && (sw2.lat <= ne.lat), + lngIntersects = (ne2.lng >= sw.lng) && (sw2.lng <= ne.lng); + + return latIntersects && lngIntersects; + }, + + toBBoxString: function () { + return [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(','); + }, + + equals: function (bounds) { // (LatLngBounds) + if (!bounds) { return false; } + + bounds = L.latLngBounds(bounds); + + return this._southWest.equals(bounds.getSouthWest()) && + this._northEast.equals(bounds.getNorthEast()); + }, + + isValid: function () { + return !!(this._southWest && this._northEast); + } +}; + +//TODO International date line? + +L.latLngBounds = function (a, b) { // (LatLngBounds) or (LatLng, LatLng) + if (!a || a instanceof L.LatLngBounds) { + return a; + } + return new L.LatLngBounds(a, b); +}; + + +/* + * L.Projection contains various geographical projections used by CRS classes. + */ + +L.Projection = {}; + + +/* + * Spherical Mercator is the most popular map projection, used by EPSG:3857 CRS used by default. + */ + +L.Projection.SphericalMercator = { + MAX_LATITUDE: 85.0511287798, + + project: function (latlng) { // (LatLng) -> Point + var d = L.LatLng.DEG_TO_RAD, + max = this.MAX_LATITUDE, + lat = Math.max(Math.min(max, latlng.lat), -max), + x = latlng.lng * d, + y = lat * d; + + y = Math.log(Math.tan((Math.PI / 4) + (y / 2))); + + return new L.Point(x, y); + }, + + unproject: function (point) { // (Point, Boolean) -> LatLng + var d = L.LatLng.RAD_TO_DEG, + lng = point.x * d, + lat = (2 * Math.atan(Math.exp(point.y)) - (Math.PI / 2)) * d; + + return new L.LatLng(lat, lng); + } +}; + + +/* + * Simple equirectangular (Plate Carree) projection, used by CRS like EPSG:4326 and Simple. + */ + +L.Projection.LonLat = { + project: function (latlng) { + return new L.Point(latlng.lng, latlng.lat); + }, + + unproject: function (point) { + return new L.LatLng(point.y, point.x); + } +}; + + +/* + * L.CRS is a base object for all defined CRS (Coordinate Reference Systems) in Leaflet. + */ + +L.CRS = { + latLngToPoint: function (latlng, zoom) { // (LatLng, Number) -> Point + var projectedPoint = this.projection.project(latlng), + scale = this.scale(zoom); + + return this.transformation._transform(projectedPoint, scale); + }, + + pointToLatLng: function (point, zoom) { // (Point, Number[, Boolean]) -> LatLng + var scale = this.scale(zoom), + untransformedPoint = this.transformation.untransform(point, scale); + + return this.projection.unproject(untransformedPoint); + }, + + project: function (latlng) { + return this.projection.project(latlng); + }, + + scale: function (zoom) { + return 256 * Math.pow(2, zoom); + }, + + getSize: function (zoom) { + var s = this.scale(zoom); + return L.point(s, s); + } +}; + + +/* + * A simple CRS that can be used for flat non-Earth maps like panoramas or game maps. + */ + +L.CRS.Simple = L.extend({}, L.CRS, { + projection: L.Projection.LonLat, + transformation: new L.Transformation(1, 0, -1, 0), + + scale: function (zoom) { + return Math.pow(2, zoom); + } +}); + + +/* + * L.CRS.EPSG3857 (Spherical Mercator) is the most common CRS for web mapping + * and is used by Leaflet by default. + */ + +L.CRS.EPSG3857 = L.extend({}, L.CRS, { + code: 'EPSG:3857', + + projection: L.Projection.SphericalMercator, + transformation: new L.Transformation(0.5 / Math.PI, 0.5, -0.5 / Math.PI, 0.5), + + project: function (latlng) { // (LatLng) -> Point + var projectedPoint = this.projection.project(latlng), + earthRadius = 6378137; + return projectedPoint.multiplyBy(earthRadius); + } +}); + +L.CRS.EPSG900913 = L.extend({}, L.CRS.EPSG3857, { + code: 'EPSG:900913' +}); + + +/* + * L.CRS.EPSG4326 is a CRS popular among advanced GIS specialists. + */ + +L.CRS.EPSG4326 = L.extend({}, L.CRS, { + code: 'EPSG:4326', + + projection: L.Projection.LonLat, + transformation: new L.Transformation(1 / 360, 0.5, -1 / 360, 0.5) +}); + + +/* + * L.Map is the central class of the API - it is used to create a map. + */ + +L.Map = L.Class.extend({ + + includes: L.Mixin.Events, + + options: { + crs: L.CRS.EPSG3857, + + /* + center: LatLng, + zoom: Number, + layers: Array, + */ + + fadeAnimation: L.DomUtil.TRANSITION && !L.Browser.android23, + trackResize: true, + markerZoomAnimation: L.DomUtil.TRANSITION && L.Browser.any3d + }, + + initialize: function (id, options) { // (HTMLElement or String, Object) + options = L.setOptions(this, options); + + + this._initContainer(id); + this._initLayout(); + + // hack for https://github.com/Leaflet/Leaflet/issues/1980 + this._onResize = L.bind(this._onResize, this); + + this._initEvents(); + + if (options.maxBounds) { + this.setMaxBounds(options.maxBounds); + } + + if (options.center && options.zoom !== undefined) { + this.setView(L.latLng(options.center), options.zoom, {reset: true}); + } + + this._handlers = []; + + this._layers = {}; + this._zoomBoundLayers = {}; + this._tileLayersNum = 0; + + this.callInitHooks(); + + this._addLayers(options.layers); + }, + + + // public methods that modify map state + + // replaced by animation-powered implementation in Map.PanAnimation.js + setView: function (center, zoom) { + zoom = zoom === undefined ? this.getZoom() : zoom; + this._resetView(L.latLng(center), this._limitZoom(zoom)); + return this; + }, + + setZoom: function (zoom, options) { + if (!this._loaded) { + this._zoom = this._limitZoom(zoom); + return this; + } + return this.setView(this.getCenter(), zoom, {zoom: options}); + }, + + zoomIn: function (delta, options) { + return this.setZoom(this._zoom + (delta || 1), options); + }, + + zoomOut: function (delta, options) { + return this.setZoom(this._zoom - (delta || 1), options); + }, + + setZoomAround: function (latlng, zoom, options) { + var scale = this.getZoomScale(zoom), + viewHalf = this.getSize().divideBy(2), + containerPoint = latlng instanceof L.Point ? latlng : this.latLngToContainerPoint(latlng), + + centerOffset = containerPoint.subtract(viewHalf).multiplyBy(1 - 1 / scale), + newCenter = this.containerPointToLatLng(viewHalf.add(centerOffset)); + + return this.setView(newCenter, zoom, {zoom: options}); + }, + + fitBounds: function (bounds, options) { + + options = options || {}; + bounds = bounds.getBounds ? bounds.getBounds() : L.latLngBounds(bounds); + + var paddingTL = L.point(options.paddingTopLeft || options.padding || [0, 0]), + paddingBR = L.point(options.paddingBottomRight || options.padding || [0, 0]), + + zoom = this.getBoundsZoom(bounds, false, paddingTL.add(paddingBR)); + + zoom = (options.maxZoom) ? Math.min(options.maxZoom, zoom) : zoom; + + var paddingOffset = paddingBR.subtract(paddingTL).divideBy(2), + + swPoint = this.project(bounds.getSouthWest(), zoom), + nePoint = this.project(bounds.getNorthEast(), zoom), + center = this.unproject(swPoint.add(nePoint).divideBy(2).add(paddingOffset), zoom); + + return this.setView(center, zoom, options); + }, + + fitWorld: function (options) { + return this.fitBounds([[-90, -180], [90, 180]], options); + }, + + panTo: function (center, options) { // (LatLng) + return this.setView(center, this._zoom, {pan: options}); + }, + + panBy: function (offset) { // (Point) + // replaced with animated panBy in Map.PanAnimation.js + this.fire('movestart'); + + this._rawPanBy(L.point(offset)); + + this.fire('move'); + return this.fire('moveend'); + }, + + setMaxBounds: function (bounds) { + bounds = L.latLngBounds(bounds); + + this.options.maxBounds = bounds; + + if (!bounds) { + return this.off('moveend', this._panInsideMaxBounds, this); + } + + if (this._loaded) { + this._panInsideMaxBounds(); + } + + return this.on('moveend', this._panInsideMaxBounds, this); + }, + + panInsideBounds: function (bounds, options) { + var center = this.getCenter(), + newCenter = this._limitCenter(center, this._zoom, bounds); + + if (center.equals(newCenter)) { return this; } + + return this.panTo(newCenter, options); + }, + + addLayer: function (layer) { + // TODO method is too big, refactor + + var id = L.stamp(layer); + + if (this._layers[id]) { return this; } + + this._layers[id] = layer; + + // TODO getMaxZoom, getMinZoom in ILayer (instead of options) + if (layer.options && (!isNaN(layer.options.maxZoom) || !isNaN(layer.options.minZoom))) { + this._zoomBoundLayers[id] = layer; + this._updateZoomLevels(); + } + + // TODO looks ugly, refactor!!! + if (this.options.zoomAnimation && L.TileLayer && (layer instanceof L.TileLayer)) { + this._tileLayersNum++; + this._tileLayersToLoad++; + layer.on('load', this._onTileLayerLoad, this); + } + + if (this._loaded) { + this._layerAdd(layer); + } + + return this; + }, + + removeLayer: function (layer) { + var id = L.stamp(layer); + + if (!this._layers[id]) { return this; } + + if (this._loaded) { + layer.onRemove(this); + } + + delete this._layers[id]; + + if (this._loaded) { + this.fire('layerremove', {layer: layer}); + } + + if (this._zoomBoundLayers[id]) { + delete this._zoomBoundLayers[id]; + this._updateZoomLevels(); + } + + // TODO looks ugly, refactor + if (this.options.zoomAnimation && L.TileLayer && (layer instanceof L.TileLayer)) { + this._tileLayersNum--; + this._tileLayersToLoad--; + layer.off('load', this._onTileLayerLoad, this); + } + + return this; + }, + + hasLayer: function (layer) { + if (!layer) { return false; } + + return (L.stamp(layer) in this._layers); + }, + + eachLayer: function (method, context) { + for (var i in this._layers) { + method.call(context, this._layers[i]); + } + return this; + }, + + invalidateSize: function (options) { + if (!this._loaded) { return this; } + + options = L.extend({ + animate: false, + pan: true + }, options === true ? {animate: true} : options); + + var oldSize = this.getSize(); + this._sizeChanged = true; + this._initialCenter = null; + + var newSize = this.getSize(), + oldCenter = oldSize.divideBy(2).round(), + newCenter = newSize.divideBy(2).round(), + offset = oldCenter.subtract(newCenter); + + if (!offset.x && !offset.y) { return this; } + + if (options.animate && options.pan) { + this.panBy(offset); + + } else { + if (options.pan) { + this._rawPanBy(offset); + } + + this.fire('move'); + + if (options.debounceMoveend) { + clearTimeout(this._sizeTimer); + this._sizeTimer = setTimeout(L.bind(this.fire, this, 'moveend'), 200); + } else { + this.fire('moveend'); + } + } + + return this.fire('resize', { + oldSize: oldSize, + newSize: newSize + }); + }, + + // TODO handler.addTo + addHandler: function (name, HandlerClass) { + if (!HandlerClass) { return this; } + + var handler = this[name] = new HandlerClass(this); + + this._handlers.push(handler); + + if (this.options[name]) { + handler.enable(); + } + + return this; + }, + + remove: function () { + if (this._loaded) { + this.fire('unload'); + } + + this._initEvents('off'); + + try { + // throws error in IE6-8 + delete this._container._leaflet; + } catch (e) { + this._container._leaflet = undefined; + } + + this._clearPanes(); + if (this._clearControlPos) { + this._clearControlPos(); + } + + this._clearHandlers(); + + return this; + }, + + + // public methods for getting map state + + getCenter: function () { // (Boolean) -> LatLng + this._checkIfLoaded(); + + if (this._initialCenter && !this._moved()) { + return this._initialCenter; + } + return this.layerPointToLatLng(this._getCenterLayerPoint()); + }, + + getZoom: function () { + return this._zoom; + }, + + getBounds: function () { + var bounds = this.getPixelBounds(), + sw = this.unproject(bounds.getBottomLeft()), + ne = this.unproject(bounds.getTopRight()); + + return new L.LatLngBounds(sw, ne); + }, + + getMinZoom: function () { + return this.options.minZoom === undefined ? + (this._layersMinZoom === undefined ? 0 : this._layersMinZoom) : + this.options.minZoom; + }, + + getMaxZoom: function () { + return this.options.maxZoom === undefined ? + (this._layersMaxZoom === undefined ? Infinity : this._layersMaxZoom) : + this.options.maxZoom; + }, + + getBoundsZoom: function (bounds, inside, padding) { // (LatLngBounds[, Boolean, Point]) -> Number + bounds = L.latLngBounds(bounds); + + var zoom = this.getMinZoom() - (inside ? 1 : 0), + maxZoom = this.getMaxZoom(), + size = this.getSize(), + + nw = bounds.getNorthWest(), + se = bounds.getSouthEast(), + + zoomNotFound = true, + boundsSize; + + padding = L.point(padding || [0, 0]); + + do { + zoom++; + boundsSize = this.project(se, zoom).subtract(this.project(nw, zoom)).add(padding); + zoomNotFound = !inside ? size.contains(boundsSize) : boundsSize.x < size.x || boundsSize.y < size.y; + + } while (zoomNotFound && zoom <= maxZoom); + + if (zoomNotFound && inside) { + return null; + } + + return inside ? zoom : zoom - 1; + }, + + getSize: function () { + if (!this._size || this._sizeChanged) { + this._size = new L.Point( + this._container.clientWidth, + this._container.clientHeight); + + this._sizeChanged = false; + } + return this._size.clone(); + }, + + getPixelBounds: function () { + var topLeftPoint = this._getTopLeftPoint(); + return new L.Bounds(topLeftPoint, topLeftPoint.add(this.getSize())); + }, + + getPixelOrigin: function () { + this._checkIfLoaded(); + return this._initialTopLeftPoint; + }, + + getPanes: function () { + return this._panes; + }, + + getContainer: function () { + return this._container; + }, + + + // TODO replace with universal implementation after refactoring projections + + getZoomScale: function (toZoom) { + var crs = this.options.crs; + return crs.scale(toZoom) / crs.scale(this._zoom); + }, + + getScaleZoom: function (scale) { + return this._zoom + (Math.log(scale) / Math.LN2); + }, + + + // conversion methods + + project: function (latlng, zoom) { // (LatLng[, Number]) -> Point + zoom = zoom === undefined ? this._zoom : zoom; + return this.options.crs.latLngToPoint(L.latLng(latlng), zoom); + }, + + unproject: function (point, zoom) { // (Point[, Number]) -> LatLng + zoom = zoom === undefined ? this._zoom : zoom; + return this.options.crs.pointToLatLng(L.point(point), zoom); + }, + + layerPointToLatLng: function (point) { // (Point) + var projectedPoint = L.point(point).add(this.getPixelOrigin()); + return this.unproject(projectedPoint); + }, + + latLngToLayerPoint: function (latlng) { // (LatLng) + var projectedPoint = this.project(L.latLng(latlng))._round(); + return projectedPoint._subtract(this.getPixelOrigin()); + }, + + containerPointToLayerPoint: function (point) { // (Point) + return L.point(point).subtract(this._getMapPanePos()); + }, + + layerPointToContainerPoint: function (point) { // (Point) + return L.point(point).add(this._getMapPanePos()); + }, + + containerPointToLatLng: function (point) { + var layerPoint = this.containerPointToLayerPoint(L.point(point)); + return this.layerPointToLatLng(layerPoint); + }, + + latLngToContainerPoint: function (latlng) { + return this.layerPointToContainerPoint(this.latLngToLayerPoint(L.latLng(latlng))); + }, + + mouseEventToContainerPoint: function (e) { // (MouseEvent) + return L.DomEvent.getMousePosition(e, this._container); + }, + + mouseEventToLayerPoint: function (e) { // (MouseEvent) + return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(e)); + }, + + mouseEventToLatLng: function (e) { // (MouseEvent) + return this.layerPointToLatLng(this.mouseEventToLayerPoint(e)); + }, + + + // map initialization methods + + _initContainer: function (id) { + var container = this._container = L.DomUtil.get(id); + + if (!container) { + throw new Error('Map container not found.'); + } else if (container._leaflet) { + throw new Error('Map container is already initialized.'); + } + + container._leaflet = true; + }, + + _initLayout: function () { + var container = this._container; + + L.DomUtil.addClass(container, 'leaflet-container' + + (L.Browser.touch ? ' leaflet-touch' : '') + + (L.Browser.retina ? ' leaflet-retina' : '') + + (L.Browser.ielt9 ? ' leaflet-oldie' : '') + + (this.options.fadeAnimation ? ' leaflet-fade-anim' : '')); + + var position = L.DomUtil.getStyle(container, 'position'); + + if (position !== 'absolute' && position !== 'relative' && position !== 'fixed') { + container.style.position = 'relative'; + } + + this._initPanes(); + + if (this._initControlPos) { + this._initControlPos(); + } + }, + + _initPanes: function () { + var panes = this._panes = {}; + + this._mapPane = panes.mapPane = this._createPane('leaflet-map-pane', this._container); + + this._tilePane = panes.tilePane = this._createPane('leaflet-tile-pane', this._mapPane); + panes.objectsPane = this._createPane('leaflet-objects-pane', this._mapPane); + panes.shadowPane = this._createPane('leaflet-shadow-pane'); + panes.overlayPane = this._createPane('leaflet-overlay-pane'); + panes.markerPane = this._createPane('leaflet-marker-pane'); + panes.popupPane = this._createPane('leaflet-popup-pane'); + + var zoomHide = ' leaflet-zoom-hide'; + + if (!this.options.markerZoomAnimation) { + L.DomUtil.addClass(panes.markerPane, zoomHide); + L.DomUtil.addClass(panes.shadowPane, zoomHide); + L.DomUtil.addClass(panes.popupPane, zoomHide); + } + }, + + _createPane: function (className, container) { + return L.DomUtil.create('div', className, container || this._panes.objectsPane); + }, + + _clearPanes: function () { + this._container.removeChild(this._mapPane); + }, + + _addLayers: function (layers) { + layers = layers ? (L.Util.isArray(layers) ? layers : [layers]) : []; + + for (var i = 0, len = layers.length; i < len; i++) { + this.addLayer(layers[i]); + } + }, + + + // private methods that modify map state + + _resetView: function (center, zoom, preserveMapOffset, afterZoomAnim) { + + var zoomChanged = (this._zoom !== zoom); + + if (!afterZoomAnim) { + this.fire('movestart'); + + if (zoomChanged) { + this.fire('zoomstart'); + } + } + + this._zoom = zoom; + this._initialCenter = center; + + this._initialTopLeftPoint = this._getNewTopLeftPoint(center); + + if (!preserveMapOffset) { + L.DomUtil.setPosition(this._mapPane, new L.Point(0, 0)); + } else { + this._initialTopLeftPoint._add(this._getMapPanePos()); + } + + this._tileLayersToLoad = this._tileLayersNum; + + var loading = !this._loaded; + this._loaded = true; + + this.fire('viewreset', {hard: !preserveMapOffset}); + + if (loading) { + this.fire('load'); + this.eachLayer(this._layerAdd, this); + } + + this.fire('move'); + + if (zoomChanged || afterZoomAnim) { + this.fire('zoomend'); + } + + this.fire('moveend', {hard: !preserveMapOffset}); + }, + + _rawPanBy: function (offset) { + L.DomUtil.setPosition(this._mapPane, this._getMapPanePos().subtract(offset)); + }, + + _getZoomSpan: function () { + return this.getMaxZoom() - this.getMinZoom(); + }, + + _updateZoomLevels: function () { + var i, + minZoom = Infinity, + maxZoom = -Infinity, + oldZoomSpan = this._getZoomSpan(); + + for (i in this._zoomBoundLayers) { + var layer = this._zoomBoundLayers[i]; + if (!isNaN(layer.options.minZoom)) { + minZoom = Math.min(minZoom, layer.options.minZoom); + } + if (!isNaN(layer.options.maxZoom)) { + maxZoom = Math.max(maxZoom, layer.options.maxZoom); + } + } + + if (i === undefined) { // we have no tilelayers + this._layersMaxZoom = this._layersMinZoom = undefined; + } else { + this._layersMaxZoom = maxZoom; + this._layersMinZoom = minZoom; + } + + if (oldZoomSpan !== this._getZoomSpan()) { + this.fire('zoomlevelschange'); + } + }, + + _panInsideMaxBounds: function () { + this.panInsideBounds(this.options.maxBounds); + }, + + _checkIfLoaded: function () { + if (!this._loaded) { + throw new Error('Set map center and zoom first.'); + } + }, + + // map events + + _initEvents: function (onOff) { + if (!L.DomEvent) { return; } + + onOff = onOff || 'on'; + + L.DomEvent[onOff](this._container, 'click', this._onMouseClick, this); + + var events = ['dblclick', 'mousedown', 'mouseup', 'mouseenter', + 'mouseleave', 'mousemove', 'contextmenu'], + i, len; + + for (i = 0, len = events.length; i < len; i++) { + L.DomEvent[onOff](this._container, events[i], this._fireMouseEvent, this); + } + + if (this.options.trackResize) { + L.DomEvent[onOff](window, 'resize', this._onResize, this); + } + }, + + _onResize: function () { + L.Util.cancelAnimFrame(this._resizeRequest); + this._resizeRequest = L.Util.requestAnimFrame( + function () { this.invalidateSize({debounceMoveend: true}); }, this, false, this._container); + }, + + _onMouseClick: function (e) { + if (!this._loaded || (!e._simulated && + ((this.dragging && this.dragging.moved()) || + (this.boxZoom && this.boxZoom.moved()))) || + L.DomEvent._skipped(e)) { return; } + + this.fire('preclick'); + this._fireMouseEvent(e); + }, + + _fireMouseEvent: function (e) { + if (!this._loaded || L.DomEvent._skipped(e)) { return; } + + var type = e.type; + + type = (type === 'mouseenter' ? 'mouseover' : (type === 'mouseleave' ? 'mouseout' : type)); + + if (!this.hasEventListeners(type)) { return; } + + if (type === 'contextmenu') { + L.DomEvent.preventDefault(e); + } + + var containerPoint = this.mouseEventToContainerPoint(e), + layerPoint = this.containerPointToLayerPoint(containerPoint), + latlng = this.layerPointToLatLng(layerPoint); + + this.fire(type, { + latlng: latlng, + layerPoint: layerPoint, + containerPoint: containerPoint, + originalEvent: e + }); + }, + + _onTileLayerLoad: function () { + this._tileLayersToLoad--; + if (this._tileLayersNum && !this._tileLayersToLoad) { + this.fire('tilelayersload'); + } + }, + + _clearHandlers: function () { + for (var i = 0, len = this._handlers.length; i < len; i++) { + this._handlers[i].disable(); + } + }, + + whenReady: function (callback, context) { + if (this._loaded) { + callback.call(context || this, this); + } else { + this.on('load', callback, context); + } + return this; + }, + + _layerAdd: function (layer) { + layer.onAdd(this); + this.fire('layeradd', {layer: layer}); + }, + + + // private methods for getting map state + + _getMapPanePos: function () { + return L.DomUtil.getPosition(this._mapPane); + }, + + _moved: function () { + var pos = this._getMapPanePos(); + return pos && !pos.equals([0, 0]); + }, + + _getTopLeftPoint: function () { + return this.getPixelOrigin().subtract(this._getMapPanePos()); + }, + + _getNewTopLeftPoint: function (center, zoom) { + var viewHalf = this.getSize()._divideBy(2); + // TODO round on display, not calculation to increase precision? + return this.project(center, zoom)._subtract(viewHalf)._round(); + }, + + _latLngToNewLayerPoint: function (latlng, newZoom, newCenter) { + var topLeft = this._getNewTopLeftPoint(newCenter, newZoom).add(this._getMapPanePos()); + return this.project(latlng, newZoom)._subtract(topLeft); + }, + + // layer point of the current center + _getCenterLayerPoint: function () { + return this.containerPointToLayerPoint(this.getSize()._divideBy(2)); + }, + + // offset of the specified place to the current center in pixels + _getCenterOffset: function (latlng) { + return this.latLngToLayerPoint(latlng).subtract(this._getCenterLayerPoint()); + }, + + // adjust center for view to get inside bounds + _limitCenter: function (center, zoom, bounds) { + + if (!bounds) { return center; } + + var centerPoint = this.project(center, zoom), + viewHalf = this.getSize().divideBy(2), + viewBounds = new L.Bounds(centerPoint.subtract(viewHalf), centerPoint.add(viewHalf)), + offset = this._getBoundsOffset(viewBounds, bounds, zoom); + + return this.unproject(centerPoint.add(offset), zoom); + }, + + // adjust offset for view to get inside bounds + _limitOffset: function (offset, bounds) { + if (!bounds) { return offset; } + + var viewBounds = this.getPixelBounds(), + newBounds = new L.Bounds(viewBounds.min.add(offset), viewBounds.max.add(offset)); + + return offset.add(this._getBoundsOffset(newBounds, bounds)); + }, + + // returns offset needed for pxBounds to get inside maxBounds at a specified zoom + _getBoundsOffset: function (pxBounds, maxBounds, zoom) { + var nwOffset = this.project(maxBounds.getNorthWest(), zoom).subtract(pxBounds.min), + seOffset = this.project(maxBounds.getSouthEast(), zoom).subtract(pxBounds.max), + + dx = this._rebound(nwOffset.x, -seOffset.x), + dy = this._rebound(nwOffset.y, -seOffset.y); + + return new L.Point(dx, dy); + }, + + _rebound: function (left, right) { + return left + right > 0 ? + Math.round(left - right) / 2 : + Math.max(0, Math.ceil(left)) - Math.max(0, Math.floor(right)); + }, + + _limitZoom: function (zoom) { + var min = this.getMinZoom(), + max = this.getMaxZoom(); + + return Math.max(min, Math.min(max, zoom)); + } +}); + +L.map = function (id, options) { + return new L.Map(id, options); +}; + + +/* + * Mercator projection that takes into account that the Earth is not a perfect sphere. + * Less popular than spherical mercator; used by projections like EPSG:3395. + */ + +L.Projection.Mercator = { + MAX_LATITUDE: 85.0840591556, + + R_MINOR: 6356752.314245179, + R_MAJOR: 6378137, + + project: function (latlng) { // (LatLng) -> Point + var d = L.LatLng.DEG_TO_RAD, + max = this.MAX_LATITUDE, + lat = Math.max(Math.min(max, latlng.lat), -max), + r = this.R_MAJOR, + r2 = this.R_MINOR, + x = latlng.lng * d * r, + y = lat * d, + tmp = r2 / r, + eccent = Math.sqrt(1.0 - tmp * tmp), + con = eccent * Math.sin(y); + + con = Math.pow((1 - con) / (1 + con), eccent * 0.5); + + var ts = Math.tan(0.5 * ((Math.PI * 0.5) - y)) / con; + y = -r * Math.log(ts); + + return new L.Point(x, y); + }, + + unproject: function (point) { // (Point, Boolean) -> LatLng + var d = L.LatLng.RAD_TO_DEG, + r = this.R_MAJOR, + r2 = this.R_MINOR, + lng = point.x * d / r, + tmp = r2 / r, + eccent = Math.sqrt(1 - (tmp * tmp)), + ts = Math.exp(- point.y / r), + phi = (Math.PI / 2) - 2 * Math.atan(ts), + numIter = 15, + tol = 1e-7, + i = numIter, + dphi = 0.1, + con; + + while ((Math.abs(dphi) > tol) && (--i > 0)) { + con = eccent * Math.sin(phi); + dphi = (Math.PI / 2) - 2 * Math.atan(ts * + Math.pow((1.0 - con) / (1.0 + con), 0.5 * eccent)) - phi; + phi += dphi; + } + + return new L.LatLng(phi * d, lng); + } +}; + + + +L.CRS.EPSG3395 = L.extend({}, L.CRS, { + code: 'EPSG:3395', + + projection: L.Projection.Mercator, + + transformation: (function () { + var m = L.Projection.Mercator, + r = m.R_MAJOR, + scale = 0.5 / (Math.PI * r); + + return new L.Transformation(scale, 0.5, -scale, 0.5); + }()) +}); + + +/* + * L.TileLayer is used for standard xyz-numbered tile layers. + */ + +L.TileLayer = L.Class.extend({ + includes: L.Mixin.Events, + + options: { + minZoom: 0, + maxZoom: 18, + tileSize: 256, + subdomains: 'abc', + errorTileUrl: '', + attribution: '', + zoomOffset: 0, + opacity: 1, + /* + maxNativeZoom: null, + zIndex: null, + tms: false, + continuousWorld: false, + noWrap: false, + zoomReverse: false, + detectRetina: false, + reuseTiles: false, + bounds: false, + */ + unloadInvisibleTiles: L.Browser.mobile, + updateWhenIdle: L.Browser.mobile + }, + + initialize: function (url, options) { + options = L.setOptions(this, options); + + // detecting retina displays, adjusting tileSize and zoom levels + if (options.detectRetina && L.Browser.retina && options.maxZoom > 0) { + + options.tileSize = Math.floor(options.tileSize / 2); + options.zoomOffset++; + + if (options.minZoom > 0) { + options.minZoom--; + } + this.options.maxZoom--; + } + + if (options.bounds) { + options.bounds = L.latLngBounds(options.bounds); + } + + this._url = url; + + var subdomains = this.options.subdomains; + + if (typeof subdomains === 'string') { + this.options.subdomains = subdomains.split(''); + } + }, + + onAdd: function (map) { + this._map = map; + this._animated = map._zoomAnimated; + + // create a container div for tiles + this._initContainer(); + + // set up events + map.on({ + 'viewreset': this._reset, + 'moveend': this._update + }, this); + + if (this._animated) { + map.on({ + 'zoomanim': this._animateZoom, + 'zoomend': this._endZoomAnim + }, this); + } + + if (!this.options.updateWhenIdle) { + this._limitedUpdate = L.Util.limitExecByInterval(this._update, 150, this); + map.on('move', this._limitedUpdate, this); + } + + this._reset(); + this._update(); + }, + + addTo: function (map) { + map.addLayer(this); + return this; + }, + + onRemove: function (map) { + this._container.parentNode.removeChild(this._container); + + map.off({ + 'viewreset': this._reset, + 'moveend': this._update + }, this); + + if (this._animated) { + map.off({ + 'zoomanim': this._animateZoom, + 'zoomend': this._endZoomAnim + }, this); + } + + if (!this.options.updateWhenIdle) { + map.off('move', this._limitedUpdate, this); + } + + this._container = null; + this._map = null; + }, + + bringToFront: function () { + var pane = this._map._panes.tilePane; + + if (this._container) { + pane.appendChild(this._container); + this._setAutoZIndex(pane, Math.max); + } + + return this; + }, + + bringToBack: function () { + var pane = this._map._panes.tilePane; + + if (this._container) { + pane.insertBefore(this._container, pane.firstChild); + this._setAutoZIndex(pane, Math.min); + } + + return this; + }, + + getAttribution: function () { + return this.options.attribution; + }, + + getContainer: function () { + return this._container; + }, + + setOpacity: function (opacity) { + this.options.opacity = opacity; + + if (this._map) { + this._updateOpacity(); + } + + return this; + }, + + setZIndex: function (zIndex) { + this.options.zIndex = zIndex; + this._updateZIndex(); + + return this; + }, + + setUrl: function (url, noRedraw) { + this._url = url; + + if (!noRedraw) { + this.redraw(); + } + + return this; + }, + + redraw: function () { + if (this._map) { + this._reset({hard: true}); + this._update(); + } + return this; + }, + + _updateZIndex: function () { + if (this._container && this.options.zIndex !== undefined) { + this._container.style.zIndex = this.options.zIndex; + } + }, + + _setAutoZIndex: function (pane, compare) { + + var layers = pane.children, + edgeZIndex = -compare(Infinity, -Infinity), // -Infinity for max, Infinity for min + zIndex, i, len; + + for (i = 0, len = layers.length; i < len; i++) { + + if (layers[i] !== this._container) { + zIndex = parseInt(layers[i].style.zIndex, 10); + + if (!isNaN(zIndex)) { + edgeZIndex = compare(edgeZIndex, zIndex); + } + } + } + + this.options.zIndex = this._container.style.zIndex = + (isFinite(edgeZIndex) ? edgeZIndex : 0) + compare(1, -1); + }, + + _updateOpacity: function () { + var i, + tiles = this._tiles; + + if (L.Browser.ielt9) { + for (i in tiles) { + L.DomUtil.setOpacity(tiles[i], this.options.opacity); + } + } else { + L.DomUtil.setOpacity(this._container, this.options.opacity); + } + }, + + _initContainer: function () { + var tilePane = this._map._panes.tilePane; + + if (!this._container) { + this._container = L.DomUtil.create('div', 'leaflet-layer'); + + this._updateZIndex(); + + if (this._animated) { + var className = 'leaflet-tile-container'; + + this._bgBuffer = L.DomUtil.create('div', className, this._container); + this._tileContainer = L.DomUtil.create('div', className, this._container); + + } else { + this._tileContainer = this._container; + } + + tilePane.appendChild(this._container); + + if (this.options.opacity < 1) { + this._updateOpacity(); + } + } + }, + + _reset: function (e) { + for (var key in this._tiles) { + this.fire('tileunload', {tile: this._tiles[key]}); + } + + this._tiles = {}; + this._tilesToLoad = 0; + + if (this.options.reuseTiles) { + this._unusedTiles = []; + } + + this._tileContainer.innerHTML = ''; + + if (this._animated && e && e.hard) { + this._clearBgBuffer(); + } + + this._initContainer(); + }, + + _getTileSize: function () { + var map = this._map, + zoom = map.getZoom() + this.options.zoomOffset, + zoomN = this.options.maxNativeZoom, + tileSize = this.options.tileSize; + + if (zoomN && zoom > zoomN) { + tileSize = Math.round(map.getZoomScale(zoom) / map.getZoomScale(zoomN) * tileSize); + } + + return tileSize; + }, + + _update: function () { + + if (!this._map) { return; } + + var map = this._map, + bounds = map.getPixelBounds(), + zoom = map.getZoom(), + tileSize = this._getTileSize(); + + if (zoom > this.options.maxZoom || zoom < this.options.minZoom) { + return; + } + + var tileBounds = L.bounds( + bounds.min.divideBy(tileSize)._floor(), + bounds.max.divideBy(tileSize)._floor()); + + this._addTilesFromCenterOut(tileBounds); + + if (this.options.unloadInvisibleTiles || this.options.reuseTiles) { + this._removeOtherTiles(tileBounds); + } + }, + + _addTilesFromCenterOut: function (bounds) { + var queue = [], + center = bounds.getCenter(); + + var j, i, point; + + for (j = bounds.min.y; j <= bounds.max.y; j++) { + for (i = bounds.min.x; i <= bounds.max.x; i++) { + point = new L.Point(i, j); + + if (this._tileShouldBeLoaded(point)) { + queue.push(point); + } + } + } + + var tilesToLoad = queue.length; + + if (tilesToLoad === 0) { return; } + + // load tiles in order of their distance to center + queue.sort(function (a, b) { + return a.distanceTo(center) - b.distanceTo(center); + }); + + var fragment = document.createDocumentFragment(); + + // if its the first batch of tiles to load + if (!this._tilesToLoad) { + this.fire('loading'); + } + + this._tilesToLoad += tilesToLoad; + + for (i = 0; i < tilesToLoad; i++) { + this._addTile(queue[i], fragment); + } + + this._tileContainer.appendChild(fragment); + }, + + _tileShouldBeLoaded: function (tilePoint) { + if ((tilePoint.x + ':' + tilePoint.y) in this._tiles) { + return false; // already loaded + } + + var options = this.options; + + if (!options.continuousWorld) { + var limit = this._getWrapTileNum(); + + // don't load if exceeds world bounds + if ((options.noWrap && (tilePoint.x < 0 || tilePoint.x >= limit.x)) || + tilePoint.y < 0 || tilePoint.y >= limit.y) { return false; } + } + + if (options.bounds) { + var tileSize = this._getTileSize(), + nwPoint = tilePoint.multiplyBy(tileSize), + sePoint = nwPoint.add([tileSize, tileSize]), + nw = this._map.unproject(nwPoint), + se = this._map.unproject(sePoint); + + // TODO temporary hack, will be removed after refactoring projections + // https://github.com/Leaflet/Leaflet/issues/1618 + if (!options.continuousWorld && !options.noWrap) { + nw = nw.wrap(); + se = se.wrap(); + } + + if (!options.bounds.intersects([nw, se])) { return false; } + } + + return true; + }, + + _removeOtherTiles: function (bounds) { + var kArr, x, y, key; + + for (key in this._tiles) { + kArr = key.split(':'); + x = parseInt(kArr[0], 10); + y = parseInt(kArr[1], 10); + + // remove tile if it's out of bounds + if (x < bounds.min.x || x > bounds.max.x || y < bounds.min.y || y > bounds.max.y) { + this._removeTile(key); + } + } + }, + + _removeTile: function (key) { + var tile = this._tiles[key]; + + this.fire('tileunload', {tile: tile, url: tile.src}); + + if (this.options.reuseTiles) { + L.DomUtil.removeClass(tile, 'leaflet-tile-loaded'); + this._unusedTiles.push(tile); + + } else if (tile.parentNode === this._tileContainer) { + this._tileContainer.removeChild(tile); + } + + // for https://github.com/CloudMade/Leaflet/issues/137 + if (!L.Browser.android) { + tile.onload = null; + tile.src = L.Util.emptyImageUrl; + } + + delete this._tiles[key]; + }, + + _addTile: function (tilePoint, container) { + var tilePos = this._getTilePos(tilePoint); + + // get unused tile - or create a new tile + var tile = this._getTile(); + + /* + Chrome 20 layouts much faster with top/left (verify with timeline, frames) + Android 4 browser has display issues with top/left and requires transform instead + (other browsers don't currently care) - see debug/hacks/jitter.html for an example + */ + L.DomUtil.setPosition(tile, tilePos, L.Browser.chrome); + + this._tiles[tilePoint.x + ':' + tilePoint.y] = tile; + + this._loadTile(tile, tilePoint); + + if (tile.parentNode !== this._tileContainer) { + container.appendChild(tile); + } + }, + + _getZoomForUrl: function () { + + var options = this.options, + zoom = this._map.getZoom(); + + if (options.zoomReverse) { + zoom = options.maxZoom - zoom; + } + + zoom += options.zoomOffset; + + return options.maxNativeZoom ? Math.min(zoom, options.maxNativeZoom) : zoom; + }, + + _getTilePos: function (tilePoint) { + var origin = this._map.getPixelOrigin(), + tileSize = this._getTileSize(); + + return tilePoint.multiplyBy(tileSize).subtract(origin); + }, + + // image-specific code (override to implement e.g. Canvas or SVG tile layer) + + getTileUrl: function (tilePoint) { + return L.Util.template(this._url, L.extend({ + s: this._getSubdomain(tilePoint), + z: tilePoint.z, + x: tilePoint.x, + y: tilePoint.y + }, this.options)); + }, + + _getWrapTileNum: function () { + var crs = this._map.options.crs, + size = crs.getSize(this._map.getZoom()); + return size.divideBy(this._getTileSize())._floor(); + }, + + _adjustTilePoint: function (tilePoint) { + + var limit = this._getWrapTileNum(); + + // wrap tile coordinates + if (!this.options.continuousWorld && !this.options.noWrap) { + tilePoint.x = ((tilePoint.x % limit.x) + limit.x) % limit.x; + } + + if (this.options.tms) { + tilePoint.y = limit.y - tilePoint.y - 1; + } + + tilePoint.z = this._getZoomForUrl(); + }, + + _getSubdomain: function (tilePoint) { + var index = Math.abs(tilePoint.x + tilePoint.y) % this.options.subdomains.length; + return this.options.subdomains[index]; + }, + + _getTile: function () { + if (this.options.reuseTiles && this._unusedTiles.length > 0) { + var tile = this._unusedTiles.pop(); + this._resetTile(tile); + return tile; + } + return this._createTile(); + }, + + // Override if data stored on a tile needs to be cleaned up before reuse + _resetTile: function (/*tile*/) {}, + + _createTile: function () { + var tile = L.DomUtil.create('img', 'leaflet-tile'); + tile.style.width = tile.style.height = this._getTileSize() + 'px'; + tile.galleryimg = 'no'; + + tile.onselectstart = tile.onmousemove = L.Util.falseFn; + + if (L.Browser.ielt9 && this.options.opacity !== undefined) { + L.DomUtil.setOpacity(tile, this.options.opacity); + } + // without this hack, tiles disappear after zoom on Chrome for Android + // https://github.com/Leaflet/Leaflet/issues/2078 + if (L.Browser.mobileWebkit3d) { + tile.style.WebkitBackfaceVisibility = 'hidden'; + } + return tile; + }, + + _loadTile: function (tile, tilePoint) { + tile._layer = this; + tile.onload = this._tileOnLoad; + tile.onerror = this._tileOnError; + + this._adjustTilePoint(tilePoint); + tile.src = this.getTileUrl(tilePoint); + + this.fire('tileloadstart', { + tile: tile, + url: tile.src + }); + }, + + _tileLoaded: function () { + this._tilesToLoad--; + + if (this._animated) { + L.DomUtil.addClass(this._tileContainer, 'leaflet-zoom-animated'); + } + + if (!this._tilesToLoad) { + this.fire('load'); + + if (this._animated) { + // clear scaled tiles after all new tiles are loaded (for performance) + clearTimeout(this._clearBgBufferTimer); + this._clearBgBufferTimer = setTimeout(L.bind(this._clearBgBuffer, this), 500); + } + } + }, + + _tileOnLoad: function () { + var layer = this._layer; + + //Only if we are loading an actual image + if (this.src !== L.Util.emptyImageUrl) { + L.DomUtil.addClass(this, 'leaflet-tile-loaded'); + + layer.fire('tileload', { + tile: this, + url: this.src + }); + } + + layer._tileLoaded(); + }, + + _tileOnError: function () { + var layer = this._layer; + + layer.fire('tileerror', { + tile: this, + url: this.src + }); + + var newUrl = layer.options.errorTileUrl; + if (newUrl) { + this.src = newUrl; + } + + layer._tileLoaded(); + } +}); + +L.tileLayer = function (url, options) { + return new L.TileLayer(url, options); +}; + + +/* + * L.TileLayer.WMS is used for putting WMS tile layers on the map. + */ + +L.TileLayer.WMS = L.TileLayer.extend({ + + defaultWmsParams: { + service: 'WMS', + request: 'GetMap', + version: '1.1.1', + layers: '', + styles: '', + format: 'image/jpeg', + transparent: false + }, + + initialize: function (url, options) { // (String, Object) + + this._url = url; + + var wmsParams = L.extend({}, this.defaultWmsParams), + tileSize = options.tileSize || this.options.tileSize; + + if (options.detectRetina && L.Browser.retina) { + wmsParams.width = wmsParams.height = tileSize * 2; + } else { + wmsParams.width = wmsParams.height = tileSize; + } + + for (var i in options) { + // all keys that are not TileLayer options go to WMS params + if (!this.options.hasOwnProperty(i) && i !== 'crs') { + wmsParams[i] = options[i]; + } + } + + this.wmsParams = wmsParams; + + L.setOptions(this, options); + }, + + onAdd: function (map) { + + this._crs = this.options.crs || map.options.crs; + + this._wmsVersion = parseFloat(this.wmsParams.version); + + var projectionKey = this._wmsVersion >= 1.3 ? 'crs' : 'srs'; + this.wmsParams[projectionKey] = this._crs.code; + + L.TileLayer.prototype.onAdd.call(this, map); + }, + + getTileUrl: function (tilePoint) { // (Point, Number) -> String + + var map = this._map, + tileSize = this.options.tileSize, + + nwPoint = tilePoint.multiplyBy(tileSize), + sePoint = nwPoint.add([tileSize, tileSize]), + + nw = this._crs.project(map.unproject(nwPoint, tilePoint.z)), + se = this._crs.project(map.unproject(sePoint, tilePoint.z)), + bbox = this._wmsVersion >= 1.3 && this._crs === L.CRS.EPSG4326 ? + [se.y, nw.x, nw.y, se.x].join(',') : + [nw.x, se.y, se.x, nw.y].join(','), + + url = L.Util.template(this._url, {s: this._getSubdomain(tilePoint)}); + + return url + L.Util.getParamString(this.wmsParams, url, true) + '&BBOX=' + bbox; + }, + + setParams: function (params, noRedraw) { + + L.extend(this.wmsParams, params); + + if (!noRedraw) { + this.redraw(); + } + + return this; + } +}); + +L.tileLayer.wms = function (url, options) { + return new L.TileLayer.WMS(url, options); +}; + + +/* + * L.TileLayer.Canvas is a class that you can use as a base for creating + * dynamically drawn Canvas-based tile layers. + */ + +L.TileLayer.Canvas = L.TileLayer.extend({ + options: { + async: false + }, + + initialize: function (options) { + L.setOptions(this, options); + }, + + redraw: function () { + if (this._map) { + this._reset({hard: true}); + this._update(); + } + + for (var i in this._tiles) { + this._redrawTile(this._tiles[i]); + } + return this; + }, + + _redrawTile: function (tile) { + this.drawTile(tile, tile._tilePoint, this._map._zoom); + }, + + _createTile: function () { + var tile = L.DomUtil.create('canvas', 'leaflet-tile'); + tile.width = tile.height = this.options.tileSize; + tile.onselectstart = tile.onmousemove = L.Util.falseFn; + return tile; + }, + + _loadTile: function (tile, tilePoint) { + tile._layer = this; + tile._tilePoint = tilePoint; + + this._redrawTile(tile); + + if (!this.options.async) { + this.tileDrawn(tile); + } + }, + + drawTile: function (/*tile, tilePoint*/) { + // override with rendering code + }, + + tileDrawn: function (tile) { + this._tileOnLoad.call(tile); + } +}); + + +L.tileLayer.canvas = function (options) { + return new L.TileLayer.Canvas(options); +}; + + +/* + * L.ImageOverlay is used to overlay images over the map (to specific geographical bounds). + */ + +L.ImageOverlay = L.Class.extend({ + includes: L.Mixin.Events, + + options: { + opacity: 1 + }, + + initialize: function (url, bounds, options) { // (String, LatLngBounds, Object) + this._url = url; + this._bounds = L.latLngBounds(bounds); + + L.setOptions(this, options); + }, + + onAdd: function (map) { + this._map = map; + + if (!this._image) { + this._initImage(); + } + + map._panes.overlayPane.appendChild(this._image); + + map.on('viewreset', this._reset, this); + + if (map.options.zoomAnimation && L.Browser.any3d) { + map.on('zoomanim', this._animateZoom, this); + } + + this._reset(); + }, + + onRemove: function (map) { + map.getPanes().overlayPane.removeChild(this._image); + + map.off('viewreset', this._reset, this); + + if (map.options.zoomAnimation) { + map.off('zoomanim', this._animateZoom, this); + } + }, + + addTo: function (map) { + map.addLayer(this); + return this; + }, + + setOpacity: function (opacity) { + this.options.opacity = opacity; + this._updateOpacity(); + return this; + }, + + // TODO remove bringToFront/bringToBack duplication from TileLayer/Path + bringToFront: function () { + if (this._image) { + this._map._panes.overlayPane.appendChild(this._image); + } + return this; + }, + + bringToBack: function () { + var pane = this._map._panes.overlayPane; + if (this._image) { + pane.insertBefore(this._image, pane.firstChild); + } + return this; + }, + + setUrl: function (url) { + this._url = url; + this._image.src = this._url; + }, + + getAttribution: function () { + return this.options.attribution; + }, + + _initImage: function () { + this._image = L.DomUtil.create('img', 'leaflet-image-layer'); + + if (this._map.options.zoomAnimation && L.Browser.any3d) { + L.DomUtil.addClass(this._image, 'leaflet-zoom-animated'); + } else { + L.DomUtil.addClass(this._image, 'leaflet-zoom-hide'); + } + + this._updateOpacity(); + + //TODO createImage util method to remove duplication + L.extend(this._image, { + galleryimg: 'no', + onselectstart: L.Util.falseFn, + onmousemove: L.Util.falseFn, + onload: L.bind(this._onImageLoad, this), + src: this._url + }); + }, + + _animateZoom: function (e) { + var map = this._map, + image = this._image, + scale = map.getZoomScale(e.zoom), + nw = this._bounds.getNorthWest(), + se = this._bounds.getSouthEast(), + + topLeft = map._latLngToNewLayerPoint(nw, e.zoom, e.center), + size = map._latLngToNewLayerPoint(se, e.zoom, e.center)._subtract(topLeft), + origin = topLeft._add(size._multiplyBy((1 / 2) * (1 - 1 / scale))); + + image.style[L.DomUtil.TRANSFORM] = + L.DomUtil.getTranslateString(origin) + ' scale(' + scale + ') '; + }, + + _reset: function () { + var image = this._image, + topLeft = this._map.latLngToLayerPoint(this._bounds.getNorthWest()), + size = this._map.latLngToLayerPoint(this._bounds.getSouthEast())._subtract(topLeft); + + L.DomUtil.setPosition(image, topLeft); + + image.style.width = size.x + 'px'; + image.style.height = size.y + 'px'; + }, + + _onImageLoad: function () { + this.fire('load'); + }, + + _updateOpacity: function () { + L.DomUtil.setOpacity(this._image, this.options.opacity); + } +}); + +L.imageOverlay = function (url, bounds, options) { + return new L.ImageOverlay(url, bounds, options); +}; + + +/* + * L.Icon is an image-based icon class that you can use with L.Marker for custom markers. + */ + +L.Icon = L.Class.extend({ + options: { + /* + iconUrl: (String) (required) + iconRetinaUrl: (String) (optional, used for retina devices if detected) + iconSize: (Point) (can be set through CSS) + iconAnchor: (Point) (centered by default, can be set in CSS with negative margins) + popupAnchor: (Point) (if not specified, popup opens in the anchor point) + shadowUrl: (String) (no shadow by default) + shadowRetinaUrl: (String) (optional, used for retina devices if detected) + shadowSize: (Point) + shadowAnchor: (Point) + */ + className: '' + }, + + initialize: function (options) { + L.setOptions(this, options); + }, + + createIcon: function (oldIcon) { + return this._createIcon('icon', oldIcon); + }, + + createShadow: function (oldIcon) { + return this._createIcon('shadow', oldIcon); + }, + + _createIcon: function (name, oldIcon) { + var src = this._getIconUrl(name); + + if (!src) { + if (name === 'icon') { + throw new Error('iconUrl not set in Icon options (see the docs).'); + } + return null; + } + + var img; + if (!oldIcon || oldIcon.tagName !== 'IMG') { + img = this._createImg(src); + } else { + img = this._createImg(src, oldIcon); + } + this._setIconStyles(img, name); + + return img; + }, + + _setIconStyles: function (img, name) { + var options = this.options, + size = L.point(options[name + 'Size']), + anchor; + + if (name === 'shadow') { + anchor = L.point(options.shadowAnchor || options.iconAnchor); + } else { + anchor = L.point(options.iconAnchor); + } + + if (!anchor && size) { + anchor = size.divideBy(2, true); + } + + img.className = 'leaflet-marker-' + name + ' ' + options.className; + + if (anchor) { + img.style.marginLeft = (-anchor.x) + 'px'; + img.style.marginTop = (-anchor.y) + 'px'; + } + + if (size) { + img.style.width = size.x + 'px'; + img.style.height = size.y + 'px'; + } + }, + + _createImg: function (src, el) { + el = el || document.createElement('img'); + el.src = src; + return el; + }, + + _getIconUrl: function (name) { + if (L.Browser.retina && this.options[name + 'RetinaUrl']) { + return this.options[name + 'RetinaUrl']; + } + return this.options[name + 'Url']; + } +}); + +L.icon = function (options) { + return new L.Icon(options); +}; + + +/* + * L.Icon.Default is the blue marker icon used by default in Leaflet. + */ + +L.Icon.Default = L.Icon.extend({ + + options: { + iconSize: [25, 41], + iconAnchor: [12, 41], + popupAnchor: [1, -34], + + shadowSize: [41, 41] + }, + + _getIconUrl: function (name) { + var key = name + 'Url'; + + if (this.options[key]) { + return this.options[key]; + } + + if (L.Browser.retina && name === 'icon') { + name += '-2x'; + } + + var path = L.Icon.Default.imagePath; + + if (!path) { + throw new Error('Couldn\'t autodetect L.Icon.Default.imagePath, set it manually.'); + } + + return path + '/marker-' + name + '.png'; + } +}); + +L.Icon.Default.imagePath = (function () { + var scripts = document.getElementsByTagName('script'), + leafletRe = /[\/^]leaflet[\-\._]?([\w\-\._]*)\.js\??/; + + var i, len, src, matches, path; + + for (i = 0, len = scripts.length; i < len; i++) { + src = scripts[i].src; + matches = src.match(leafletRe); + + if (matches) { + path = src.split(leafletRe)[0]; + return (path ? path + '/' : '') + 'images'; + } + } +}()); + + +/* + * L.Marker is used to display clickable/draggable icons on the map. + */ + +L.Marker = L.Class.extend({ + + includes: L.Mixin.Events, + + options: { + icon: new L.Icon.Default(), + title: '', + alt: '', + clickable: true, + draggable: false, + keyboard: true, + zIndexOffset: 0, + opacity: 1, + riseOnHover: false, + riseOffset: 250 + }, + + initialize: function (latlng, options) { + L.setOptions(this, options); + this._latlng = L.latLng(latlng); + }, + + onAdd: function (map) { + this._map = map; + + map.on('viewreset', this.update, this); + + this._initIcon(); + this.update(); + this.fire('add'); + + if (map.options.zoomAnimation && map.options.markerZoomAnimation) { + map.on('zoomanim', this._animateZoom, this); + } + }, + + addTo: function (map) { + map.addLayer(this); + return this; + }, + + onRemove: function (map) { + if (this.dragging) { + this.dragging.disable(); + } + + this._removeIcon(); + this._removeShadow(); + + this.fire('remove'); + + map.off({ + 'viewreset': this.update, + 'zoomanim': this._animateZoom + }, this); + + this._map = null; + }, + + getLatLng: function () { + return this._latlng; + }, + + setLatLng: function (latlng) { + this._latlng = L.latLng(latlng); + + this.update(); + + return this.fire('move', { latlng: this._latlng }); + }, + + setZIndexOffset: function (offset) { + this.options.zIndexOffset = offset; + this.update(); + + return this; + }, + + setIcon: function (icon) { + + this.options.icon = icon; + + if (this._map) { + this._initIcon(); + this.update(); + } + + if (this._popup) { + this.bindPopup(this._popup); + } + + return this; + }, + + update: function () { + if (this._icon) { + this._setPos(this._map.latLngToLayerPoint(this._latlng).round()); + } + return this; + }, + + _initIcon: function () { + var options = this.options, + map = this._map, + animation = (map.options.zoomAnimation && map.options.markerZoomAnimation), + classToAdd = animation ? 'leaflet-zoom-animated' : 'leaflet-zoom-hide'; + + var icon = options.icon.createIcon(this._icon), + addIcon = false; + + // if we're not reusing the icon, remove the old one and init new one + if (icon !== this._icon) { + if (this._icon) { + this._removeIcon(); + } + addIcon = true; + + if (options.title) { + icon.title = options.title; + } + + if (options.alt) { + icon.alt = options.alt; + } + } + + L.DomUtil.addClass(icon, classToAdd); + + if (options.keyboard) { + icon.tabIndex = '0'; + } + + this._icon = icon; + + this._initInteraction(); + + if (options.riseOnHover) { + L.DomEvent + .on(icon, 'mouseover', this._bringToFront, this) + .on(icon, 'mouseout', this._resetZIndex, this); + } + + var newShadow = options.icon.createShadow(this._shadow), + addShadow = false; + + if (newShadow !== this._shadow) { + this._removeShadow(); + addShadow = true; + } + + if (newShadow) { + L.DomUtil.addClass(newShadow, classToAdd); + } + this._shadow = newShadow; + + + if (options.opacity < 1) { + this._updateOpacity(); + } + + + var panes = this._map._panes; + + if (addIcon) { + panes.markerPane.appendChild(this._icon); + } + + if (newShadow && addShadow) { + panes.shadowPane.appendChild(this._shadow); + } + }, + + _removeIcon: function () { + if (this.options.riseOnHover) { + L.DomEvent + .off(this._icon, 'mouseover', this._bringToFront) + .off(this._icon, 'mouseout', this._resetZIndex); + } + + this._map._panes.markerPane.removeChild(this._icon); + + this._icon = null; + }, + + _removeShadow: function () { + if (this._shadow) { + this._map._panes.shadowPane.removeChild(this._shadow); + } + this._shadow = null; + }, + + _setPos: function (pos) { + L.DomUtil.setPosition(this._icon, pos); + + if (this._shadow) { + L.DomUtil.setPosition(this._shadow, pos); + } + + this._zIndex = pos.y + this.options.zIndexOffset; + + this._resetZIndex(); + }, + + _updateZIndex: function (offset) { + this._icon.style.zIndex = this._zIndex + offset; + }, + + _animateZoom: function (opt) { + var pos = this._map._latLngToNewLayerPoint(this._latlng, opt.zoom, opt.center).round(); + + this._setPos(pos); + }, + + _initInteraction: function () { + + if (!this.options.clickable) { return; } + + // TODO refactor into something shared with Map/Path/etc. to DRY it up + + var icon = this._icon, + events = ['dblclick', 'mousedown', 'mouseover', 'mouseout', 'contextmenu']; + + L.DomUtil.addClass(icon, 'leaflet-clickable'); + L.DomEvent.on(icon, 'click', this._onMouseClick, this); + L.DomEvent.on(icon, 'keypress', this._onKeyPress, this); + + for (var i = 0; i < events.length; i++) { + L.DomEvent.on(icon, events[i], this._fireMouseEvent, this); + } + + if (L.Handler.MarkerDrag) { + this.dragging = new L.Handler.MarkerDrag(this); + + if (this.options.draggable) { + this.dragging.enable(); + } + } + }, + + _onMouseClick: function (e) { + var wasDragged = this.dragging && this.dragging.moved(); + + if (this.hasEventListeners(e.type) || wasDragged) { + L.DomEvent.stopPropagation(e); + } + + if (wasDragged) { return; } + + if ((!this.dragging || !this.dragging._enabled) && this._map.dragging && this._map.dragging.moved()) { return; } + + this.fire(e.type, { + originalEvent: e, + latlng: this._latlng + }); + }, + + _onKeyPress: function (e) { + if (e.keyCode === 13) { + this.fire('click', { + originalEvent: e, + latlng: this._latlng + }); + } + }, + + _fireMouseEvent: function (e) { + + this.fire(e.type, { + originalEvent: e, + latlng: this._latlng + }); + + // TODO proper custom event propagation + // this line will always be called if marker is in a FeatureGroup + if (e.type === 'contextmenu' && this.hasEventListeners(e.type)) { + L.DomEvent.preventDefault(e); + } + if (e.type !== 'mousedown') { + L.DomEvent.stopPropagation(e); + } else { + L.DomEvent.preventDefault(e); + } + }, + + setOpacity: function (opacity) { + this.options.opacity = opacity; + if (this._map) { + this._updateOpacity(); + } + + return this; + }, + + _updateOpacity: function () { + L.DomUtil.setOpacity(this._icon, this.options.opacity); + if (this._shadow) { + L.DomUtil.setOpacity(this._shadow, this.options.opacity); + } + }, + + _bringToFront: function () { + this._updateZIndex(this.options.riseOffset); + }, + + _resetZIndex: function () { + this._updateZIndex(0); + } +}); + +L.marker = function (latlng, options) { + return new L.Marker(latlng, options); +}; + + +/* + * L.DivIcon is a lightweight HTML-based icon class (as opposed to the image-based L.Icon) + * to use with L.Marker. + */ + +L.DivIcon = L.Icon.extend({ + options: { + iconSize: [12, 12], // also can be set through CSS + /* + iconAnchor: (Point) + popupAnchor: (Point) + html: (String) + bgPos: (Point) + */ + className: 'leaflet-div-icon', + html: false + }, + + createIcon: function (oldIcon) { + var div = (oldIcon && oldIcon.tagName === 'DIV') ? oldIcon : document.createElement('div'), + options = this.options; + + if (options.html !== false) { + div.innerHTML = options.html; + } else { + div.innerHTML = ''; + } + + if (options.bgPos) { + div.style.backgroundPosition = + (-options.bgPos.x) + 'px ' + (-options.bgPos.y) + 'px'; + } + + this._setIconStyles(div, 'icon'); + return div; + }, + + createShadow: function () { + return null; + } +}); + +L.divIcon = function (options) { + return new L.DivIcon(options); +}; + + +/* + * L.Popup is used for displaying popups on the map. + */ + +L.Map.mergeOptions({ + closePopupOnClick: true +}); + +L.Popup = L.Class.extend({ + includes: L.Mixin.Events, + + options: { + minWidth: 50, + maxWidth: 300, + // maxHeight: null, + autoPan: true, + closeButton: true, + offset: [0, 7], + autoPanPadding: [5, 5], + // autoPanPaddingTopLeft: null, + // autoPanPaddingBottomRight: null, + keepInView: false, + className: '', + zoomAnimation: true + }, + + initialize: function (options, source) { + L.setOptions(this, options); + + this._source = source; + this._animated = L.Browser.any3d && this.options.zoomAnimation; + this._isOpen = false; + }, + + onAdd: function (map) { + this._map = map; + + if (!this._container) { + this._initLayout(); + } + + var animFade = map.options.fadeAnimation; + + if (animFade) { + L.DomUtil.setOpacity(this._container, 0); + } + map._panes.popupPane.appendChild(this._container); + + map.on(this._getEvents(), this); + + this.update(); + + if (animFade) { + L.DomUtil.setOpacity(this._container, 1); + } + + this.fire('open'); + + map.fire('popupopen', {popup: this}); + + if (this._source) { + this._source.fire('popupopen', {popup: this}); + } + }, + + addTo: function (map) { + map.addLayer(this); + return this; + }, + + openOn: function (map) { + map.openPopup(this); + return this; + }, + + onRemove: function (map) { + map._panes.popupPane.removeChild(this._container); + + L.Util.falseFn(this._container.offsetWidth); // force reflow + + map.off(this._getEvents(), this); + + if (map.options.fadeAnimation) { + L.DomUtil.setOpacity(this._container, 0); + } + + this._map = null; + + this.fire('close'); + + map.fire('popupclose', {popup: this}); + + if (this._source) { + this._source.fire('popupclose', {popup: this}); + } + }, + + getLatLng: function () { + return this._latlng; + }, + + setLatLng: function (latlng) { + this._latlng = L.latLng(latlng); + if (this._map) { + this._updatePosition(); + this._adjustPan(); + } + return this; + }, + + getContent: function () { + return this._content; + }, + + setContent: function (content) { + this._content = content; + this.update(); + return this; + }, + + update: function () { + if (!this._map) { return; } + + this._container.style.visibility = 'hidden'; + + this._updateContent(); + this._updateLayout(); + this._updatePosition(); + + this._container.style.visibility = ''; + + this._adjustPan(); + }, + + _getEvents: function () { + var events = { + viewreset: this._updatePosition + }; + + if (this._animated) { + events.zoomanim = this._zoomAnimation; + } + if ('closeOnClick' in this.options ? this.options.closeOnClick : this._map.options.closePopupOnClick) { + events.preclick = this._close; + } + if (this.options.keepInView) { + events.moveend = this._adjustPan; + } + + return events; + }, + + _close: function () { + if (this._map) { + this._map.closePopup(this); + } + }, + + _initLayout: function () { + var prefix = 'leaflet-popup', + containerClass = prefix + ' ' + this.options.className + ' leaflet-zoom-' + + (this._animated ? 'animated' : 'hide'), + container = this._container = L.DomUtil.create('div', containerClass), + closeButton; + + if (this.options.closeButton) { + closeButton = this._closeButton = + L.DomUtil.create('a', prefix + '-close-button', container); + closeButton.href = '#close'; + closeButton.innerHTML = '×'; + L.DomEvent.disableClickPropagation(closeButton); + + L.DomEvent.on(closeButton, 'click', this._onCloseButtonClick, this); + } + + var wrapper = this._wrapper = + L.DomUtil.create('div', prefix + '-content-wrapper', container); + L.DomEvent.disableClickPropagation(wrapper); + + this._contentNode = L.DomUtil.create('div', prefix + '-content', wrapper); + + L.DomEvent.disableScrollPropagation(this._contentNode); + L.DomEvent.on(wrapper, 'contextmenu', L.DomEvent.stopPropagation); + + this._tipContainer = L.DomUtil.create('div', prefix + '-tip-container', container); + this._tip = L.DomUtil.create('div', prefix + '-tip', this._tipContainer); + }, + + _updateContent: function () { + if (!this._content) { return; } + + if (typeof this._content === 'string') { + this._contentNode.innerHTML = this._content; + } else { + while (this._contentNode.hasChildNodes()) { + this._contentNode.removeChild(this._contentNode.firstChild); + } + this._contentNode.appendChild(this._content); + } + this.fire('contentupdate'); + }, + + _updateLayout: function () { + var container = this._contentNode, + style = container.style; + + style.width = ''; + style.whiteSpace = 'nowrap'; + + var width = container.offsetWidth; + width = Math.min(width, this.options.maxWidth); + width = Math.max(width, this.options.minWidth); + + style.width = (width + 1) + 'px'; + style.whiteSpace = ''; + + style.height = ''; + + var height = container.offsetHeight, + maxHeight = this.options.maxHeight, + scrolledClass = 'leaflet-popup-scrolled'; + + if (maxHeight && height > maxHeight) { + style.height = maxHeight + 'px'; + L.DomUtil.addClass(container, scrolledClass); + } else { + L.DomUtil.removeClass(container, scrolledClass); + } + + this._containerWidth = this._container.offsetWidth; + }, + + _updatePosition: function () { + if (!this._map) { return; } + + var pos = this._map.latLngToLayerPoint(this._latlng), + animated = this._animated, + offset = L.point(this.options.offset); + + if (animated) { + L.DomUtil.setPosition(this._container, pos); + } + + this._containerBottom = -offset.y - (animated ? 0 : pos.y); + this._containerLeft = -Math.round(this._containerWidth / 2) + offset.x + (animated ? 0 : pos.x); + + // bottom position the popup in case the height of the popup changes (images loading etc) + this._container.style.bottom = this._containerBottom + 'px'; + this._container.style.left = this._containerLeft + 'px'; + }, + + _zoomAnimation: function (opt) { + var pos = this._map._latLngToNewLayerPoint(this._latlng, opt.zoom, opt.center); + + L.DomUtil.setPosition(this._container, pos); + }, + + _adjustPan: function () { + if (!this.options.autoPan) { return; } + + var map = this._map, + containerHeight = this._container.offsetHeight, + containerWidth = this._containerWidth, + + layerPos = new L.Point(this._containerLeft, -containerHeight - this._containerBottom); + + if (this._animated) { + layerPos._add(L.DomUtil.getPosition(this._container)); + } + + var containerPos = map.layerPointToContainerPoint(layerPos), + padding = L.point(this.options.autoPanPadding), + paddingTL = L.point(this.options.autoPanPaddingTopLeft || padding), + paddingBR = L.point(this.options.autoPanPaddingBottomRight || padding), + size = map.getSize(), + dx = 0, + dy = 0; + + if (containerPos.x + containerWidth + paddingBR.x > size.x) { // right + dx = containerPos.x + containerWidth - size.x + paddingBR.x; + } + if (containerPos.x - dx - paddingTL.x < 0) { // left + dx = containerPos.x - paddingTL.x; + } + if (containerPos.y + containerHeight + paddingBR.y > size.y) { // bottom + dy = containerPos.y + containerHeight - size.y + paddingBR.y; + } + if (containerPos.y - dy - paddingTL.y < 0) { // top + dy = containerPos.y - paddingTL.y; + } + + if (dx || dy) { + map + .fire('autopanstart') + .panBy([dx, dy]); + } + }, + + _onCloseButtonClick: function (e) { + this._close(); + L.DomEvent.stop(e); + } +}); + +L.popup = function (options, source) { + return new L.Popup(options, source); +}; + + +L.Map.include({ + openPopup: function (popup, latlng, options) { // (Popup) or (String || HTMLElement, LatLng[, Object]) + this.closePopup(); + + if (!(popup instanceof L.Popup)) { + var content = popup; + + popup = new L.Popup(options) + .setLatLng(latlng) + .setContent(content); + } + popup._isOpen = true; + + this._popup = popup; + return this.addLayer(popup); + }, + + closePopup: function (popup) { + if (!popup || popup === this._popup) { + popup = this._popup; + this._popup = null; + } + if (popup) { + this.removeLayer(popup); + popup._isOpen = false; + } + return this; + } +}); + + +/* + * Popup extension to L.Marker, adding popup-related methods. + */ + +L.Marker.include({ + openPopup: function () { + if (this._popup && this._map && !this._map.hasLayer(this._popup)) { + this._popup.setLatLng(this._latlng); + this._map.openPopup(this._popup); + } + + return this; + }, + + closePopup: function () { + if (this._popup) { + this._popup._close(); + } + return this; + }, + + togglePopup: function () { + if (this._popup) { + if (this._popup._isOpen) { + this.closePopup(); + } else { + this.openPopup(); + } + } + return this; + }, + + bindPopup: function (content, options) { + var anchor = L.point(this.options.icon.options.popupAnchor || [0, 0]); + + anchor = anchor.add(L.Popup.prototype.options.offset); + + if (options && options.offset) { + anchor = anchor.add(options.offset); + } + + options = L.extend({offset: anchor}, options); + + if (!this._popupHandlersAdded) { + this + .on('click', this.togglePopup, this) + .on('remove', this.closePopup, this) + .on('move', this._movePopup, this); + this._popupHandlersAdded = true; + } + + if (content instanceof L.Popup) { + L.setOptions(content, options); + this._popup = content; + content._source = this; + } else { + this._popup = new L.Popup(options, this) + .setContent(content); + } + + return this; + }, + + setPopupContent: function (content) { + if (this._popup) { + this._popup.setContent(content); + } + return this; + }, + + unbindPopup: function () { + if (this._popup) { + this._popup = null; + this + .off('click', this.togglePopup, this) + .off('remove', this.closePopup, this) + .off('move', this._movePopup, this); + this._popupHandlersAdded = false; + } + return this; + }, + + getPopup: function () { + return this._popup; + }, + + _movePopup: function (e) { + this._popup.setLatLng(e.latlng); + } +}); + + +/* + * L.LayerGroup is a class to combine several layers into one so that + * you can manipulate the group (e.g. add/remove it) as one layer. + */ + +L.LayerGroup = L.Class.extend({ + initialize: function (layers) { + this._layers = {}; + + var i, len; + + if (layers) { + for (i = 0, len = layers.length; i < len; i++) { + this.addLayer(layers[i]); + } + } + }, + + addLayer: function (layer) { + var id = this.getLayerId(layer); + + this._layers[id] = layer; + + if (this._map) { + this._map.addLayer(layer); + } + + return this; + }, + + removeLayer: function (layer) { + var id = layer in this._layers ? layer : this.getLayerId(layer); + + if (this._map && this._layers[id]) { + this._map.removeLayer(this._layers[id]); + } + + delete this._layers[id]; + + return this; + }, + + hasLayer: function (layer) { + if (!layer) { return false; } + + return (layer in this._layers || this.getLayerId(layer) in this._layers); + }, + + clearLayers: function () { + this.eachLayer(this.removeLayer, this); + return this; + }, + + invoke: function (methodName) { + var args = Array.prototype.slice.call(arguments, 1), + i, layer; + + for (i in this._layers) { + layer = this._layers[i]; + + if (layer[methodName]) { + layer[methodName].apply(layer, args); + } + } + + return this; + }, + + onAdd: function (map) { + this._map = map; + this.eachLayer(map.addLayer, map); + }, + + onRemove: function (map) { + this.eachLayer(map.removeLayer, map); + this._map = null; + }, + + addTo: function (map) { + map.addLayer(this); + return this; + }, + + eachLayer: function (method, context) { + for (var i in this._layers) { + method.call(context, this._layers[i]); + } + return this; + }, + + getLayer: function (id) { + return this._layers[id]; + }, + + getLayers: function () { + var layers = []; + + for (var i in this._layers) { + layers.push(this._layers[i]); + } + return layers; + }, + + setZIndex: function (zIndex) { + return this.invoke('setZIndex', zIndex); + }, + + getLayerId: function (layer) { + return L.stamp(layer); + } +}); + +L.layerGroup = function (layers) { + return new L.LayerGroup(layers); +}; + + +/* + * L.FeatureGroup extends L.LayerGroup by introducing mouse events and additional methods + * shared between a group of interactive layers (like vectors or markers). + */ + +L.FeatureGroup = L.LayerGroup.extend({ + includes: L.Mixin.Events, + + statics: { + EVENTS: 'click dblclick mouseover mouseout mousemove contextmenu popupopen popupclose' + }, + + addLayer: function (layer) { + if (this.hasLayer(layer)) { + return this; + } + + if ('on' in layer) { + layer.on(L.FeatureGroup.EVENTS, this._propagateEvent, this); + } + + L.LayerGroup.prototype.addLayer.call(this, layer); + + if (this._popupContent && layer.bindPopup) { + layer.bindPopup(this._popupContent, this._popupOptions); + } + + return this.fire('layeradd', {layer: layer}); + }, + + removeLayer: function (layer) { + if (!this.hasLayer(layer)) { + return this; + } + if (layer in this._layers) { + layer = this._layers[layer]; + } + + if ('off' in layer) { + layer.off(L.FeatureGroup.EVENTS, this._propagateEvent, this); + } + + L.LayerGroup.prototype.removeLayer.call(this, layer); + + if (this._popupContent) { + this.invoke('unbindPopup'); + } + + return this.fire('layerremove', {layer: layer}); + }, + + bindPopup: function (content, options) { + this._popupContent = content; + this._popupOptions = options; + return this.invoke('bindPopup', content, options); + }, + + openPopup: function (latlng) { + // open popup on the first layer + for (var id in this._layers) { + this._layers[id].openPopup(latlng); + break; + } + return this; + }, + + setStyle: function (style) { + return this.invoke('setStyle', style); + }, + + bringToFront: function () { + return this.invoke('bringToFront'); + }, + + bringToBack: function () { + return this.invoke('bringToBack'); + }, + + getBounds: function () { + var bounds = new L.LatLngBounds(); + + this.eachLayer(function (layer) { + bounds.extend(layer instanceof L.Marker ? layer.getLatLng() : layer.getBounds()); + }); + + return bounds; + }, + + _propagateEvent: function (e) { + e = L.extend({ + layer: e.target, + target: this + }, e); + this.fire(e.type, e); + } +}); + +L.featureGroup = function (layers) { + return new L.FeatureGroup(layers); +}; + + +/* + * L.Path is a base class for rendering vector paths on a map. Inherited by Polyline, Circle, etc. + */ + +L.Path = L.Class.extend({ + includes: [L.Mixin.Events], + + statics: { + // how much to extend the clip area around the map view + // (relative to its size, e.g. 0.5 is half the screen in each direction) + // set it so that SVG element doesn't exceed 1280px (vectors flicker on dragend if it is) + CLIP_PADDING: (function () { + var max = L.Browser.mobile ? 1280 : 2000, + target = (max / Math.max(window.outerWidth, window.outerHeight) - 1) / 2; + return Math.max(0, Math.min(0.5, target)); + })() + }, + + options: { + stroke: true, + color: '#0033ff', + dashArray: null, + lineCap: null, + lineJoin: null, + weight: 5, + opacity: 0.5, + + fill: false, + fillColor: null, //same as color by default + fillOpacity: 0.2, + + clickable: true + }, + + initialize: function (options) { + L.setOptions(this, options); + }, + + onAdd: function (map) { + this._map = map; + + if (!this._container) { + this._initElements(); + this._initEvents(); + } + + this.projectLatlngs(); + this._updatePath(); + + if (this._container) { + this._map._pathRoot.appendChild(this._container); + } + + this.fire('add'); + + map.on({ + 'viewreset': this.projectLatlngs, + 'moveend': this._updatePath + }, this); + }, + + addTo: function (map) { + map.addLayer(this); + return this; + }, + + onRemove: function (map) { + map._pathRoot.removeChild(this._container); + + // Need to fire remove event before we set _map to null as the event hooks might need the object + this.fire('remove'); + this._map = null; + + if (L.Browser.vml) { + this._container = null; + this._stroke = null; + this._fill = null; + } + + map.off({ + 'viewreset': this.projectLatlngs, + 'moveend': this._updatePath + }, this); + }, + + projectLatlngs: function () { + // do all projection stuff here + }, + + setStyle: function (style) { + L.setOptions(this, style); + + if (this._container) { + this._updateStyle(); + } + + return this; + }, + + redraw: function () { + if (this._map) { + this.projectLatlngs(); + this._updatePath(); + } + return this; + } +}); + +L.Map.include({ + _updatePathViewport: function () { + var p = L.Path.CLIP_PADDING, + size = this.getSize(), + panePos = L.DomUtil.getPosition(this._mapPane), + min = panePos.multiplyBy(-1)._subtract(size.multiplyBy(p)._round()), + max = min.add(size.multiplyBy(1 + p * 2)._round()); + + this._pathViewport = new L.Bounds(min, max); + } +}); + + +/* + * Extends L.Path with SVG-specific rendering code. + */ + +L.Path.SVG_NS = 'http://www.w3.org/2000/svg'; + +L.Browser.svg = !!(document.createElementNS && document.createElementNS(L.Path.SVG_NS, 'svg').createSVGRect); + +L.Path = L.Path.extend({ + statics: { + SVG: L.Browser.svg + }, + + bringToFront: function () { + var root = this._map._pathRoot, + path = this._container; + + if (path && root.lastChild !== path) { + root.appendChild(path); + } + return this; + }, + + bringToBack: function () { + var root = this._map._pathRoot, + path = this._container, + first = root.firstChild; + + if (path && first !== path) { + root.insertBefore(path, first); + } + return this; + }, + + getPathString: function () { + // form path string here + }, + + _createElement: function (name) { + return document.createElementNS(L.Path.SVG_NS, name); + }, + + _initElements: function () { + this._map._initPathRoot(); + this._initPath(); + this._initStyle(); + }, + + _initPath: function () { + this._container = this._createElement('g'); + + this._path = this._createElement('path'); + + if (this.options.className) { + L.DomUtil.addClass(this._path, this.options.className); + } + + this._container.appendChild(this._path); + }, + + _initStyle: function () { + if (this.options.stroke) { + this._path.setAttribute('stroke-linejoin', 'round'); + this._path.setAttribute('stroke-linecap', 'round'); + } + if (this.options.fill) { + this._path.setAttribute('fill-rule', 'evenodd'); + } + if (this.options.pointerEvents) { + this._path.setAttribute('pointer-events', this.options.pointerEvents); + } + if (!this.options.clickable && !this.options.pointerEvents) { + this._path.setAttribute('pointer-events', 'none'); + } + this._updateStyle(); + }, + + _updateStyle: function () { + if (this.options.stroke) { + this._path.setAttribute('stroke', this.options.color); + this._path.setAttribute('stroke-opacity', this.options.opacity); + this._path.setAttribute('stroke-width', this.options.weight); + if (this.options.dashArray) { + this._path.setAttribute('stroke-dasharray', this.options.dashArray); + } else { + this._path.removeAttribute('stroke-dasharray'); + } + if (this.options.lineCap) { + this._path.setAttribute('stroke-linecap', this.options.lineCap); + } + if (this.options.lineJoin) { + this._path.setAttribute('stroke-linejoin', this.options.lineJoin); + } + } else { + this._path.setAttribute('stroke', 'none'); + } + if (this.options.fill) { + this._path.setAttribute('fill', this.options.fillColor || this.options.color); + this._path.setAttribute('fill-opacity', this.options.fillOpacity); + } else { + this._path.setAttribute('fill', 'none'); + } + }, + + _updatePath: function () { + var str = this.getPathString(); + if (!str) { + // fix webkit empty string parsing bug + str = 'M0 0'; + } + this._path.setAttribute('d', str); + }, + + // TODO remove duplication with L.Map + _initEvents: function () { + if (this.options.clickable) { + if (L.Browser.svg || !L.Browser.vml) { + L.DomUtil.addClass(this._path, 'leaflet-clickable'); + } + + L.DomEvent.on(this._container, 'click', this._onMouseClick, this); + + var events = ['dblclick', 'mousedown', 'mouseover', + 'mouseout', 'mousemove', 'contextmenu']; + for (var i = 0; i < events.length; i++) { + L.DomEvent.on(this._container, events[i], this._fireMouseEvent, this); + } + } + }, + + _onMouseClick: function (e) { + if (this._map.dragging && this._map.dragging.moved()) { return; } + + this._fireMouseEvent(e); + }, + + _fireMouseEvent: function (e) { + if (!this._map || !this.hasEventListeners(e.type)) { return; } + + var map = this._map, + containerPoint = map.mouseEventToContainerPoint(e), + layerPoint = map.containerPointToLayerPoint(containerPoint), + latlng = map.layerPointToLatLng(layerPoint); + + this.fire(e.type, { + latlng: latlng, + layerPoint: layerPoint, + containerPoint: containerPoint, + originalEvent: e + }); + + if (e.type === 'contextmenu') { + L.DomEvent.preventDefault(e); + } + if (e.type !== 'mousemove') { + L.DomEvent.stopPropagation(e); + } + } +}); + +L.Map.include({ + _initPathRoot: function () { + if (!this._pathRoot) { + this._pathRoot = L.Path.prototype._createElement('svg'); + this._panes.overlayPane.appendChild(this._pathRoot); + + if (this.options.zoomAnimation && L.Browser.any3d) { + L.DomUtil.addClass(this._pathRoot, 'leaflet-zoom-animated'); + + this.on({ + 'zoomanim': this._animatePathZoom, + 'zoomend': this._endPathZoom + }); + } else { + L.DomUtil.addClass(this._pathRoot, 'leaflet-zoom-hide'); + } + + this.on('moveend', this._updateSvgViewport); + this._updateSvgViewport(); + } + }, + + _animatePathZoom: function (e) { + var scale = this.getZoomScale(e.zoom), + offset = this._getCenterOffset(e.center)._multiplyBy(-scale)._add(this._pathViewport.min); + + this._pathRoot.style[L.DomUtil.TRANSFORM] = + L.DomUtil.getTranslateString(offset) + ' scale(' + scale + ') '; + + this._pathZooming = true; + }, + + _endPathZoom: function () { + this._pathZooming = false; + }, + + _updateSvgViewport: function () { + + if (this._pathZooming) { + // Do not update SVGs while a zoom animation is going on otherwise the animation will break. + // When the zoom animation ends we will be updated again anyway + // This fixes the case where you do a momentum move and zoom while the move is still ongoing. + return; + } + + this._updatePathViewport(); + + var vp = this._pathViewport, + min = vp.min, + max = vp.max, + width = max.x - min.x, + height = max.y - min.y, + root = this._pathRoot, + pane = this._panes.overlayPane; + + // Hack to make flicker on drag end on mobile webkit less irritating + if (L.Browser.mobileWebkit) { + pane.removeChild(root); + } + + L.DomUtil.setPosition(root, min); + root.setAttribute('width', width); + root.setAttribute('height', height); + root.setAttribute('viewBox', [min.x, min.y, width, height].join(' ')); + + if (L.Browser.mobileWebkit) { + pane.appendChild(root); + } + } +}); + + +/* + * Popup extension to L.Path (polylines, polygons, circles), adding popup-related methods. + */ + +L.Path.include({ + + bindPopup: function (content, options) { + + if (content instanceof L.Popup) { + this._popup = content; + } else { + if (!this._popup || options) { + this._popup = new L.Popup(options, this); + } + this._popup.setContent(content); + } + + if (!this._popupHandlersAdded) { + this + .on('click', this._openPopup, this) + .on('remove', this.closePopup, this); + + this._popupHandlersAdded = true; + } + + return this; + }, + + unbindPopup: function () { + if (this._popup) { + this._popup = null; + this + .off('click', this._openPopup) + .off('remove', this.closePopup); + + this._popupHandlersAdded = false; + } + return this; + }, + + openPopup: function (latlng) { + + if (this._popup) { + // open the popup from one of the path's points if not specified + latlng = latlng || this._latlng || + this._latlngs[Math.floor(this._latlngs.length / 2)]; + + this._openPopup({latlng: latlng}); + } + + return this; + }, + + closePopup: function () { + if (this._popup) { + this._popup._close(); + } + return this; + }, + + _openPopup: function (e) { + this._popup.setLatLng(e.latlng); + this._map.openPopup(this._popup); + } +}); + + +/* + * Vector rendering for IE6-8 through VML. + * Thanks to Dmitry Baranovsky and his Raphael library for inspiration! + */ + +L.Browser.vml = !L.Browser.svg && (function () { + try { + var div = document.createElement('div'); + div.innerHTML = ''; + + var shape = div.firstChild; + shape.style.behavior = 'url(#default#VML)'; + + return shape && (typeof shape.adj === 'object'); + + } catch (e) { + return false; + } +}()); + +L.Path = L.Browser.svg || !L.Browser.vml ? L.Path : L.Path.extend({ + statics: { + VML: true, + CLIP_PADDING: 0.02 + }, + + _createElement: (function () { + try { + document.namespaces.add('lvml', 'urn:schemas-microsoft-com:vml'); + return function (name) { + return document.createElement(''); + }; + } catch (e) { + return function (name) { + return document.createElement( + '<' + name + ' xmlns="urn:schemas-microsoft.com:vml" class="lvml">'); + }; + } + }()), + + _initPath: function () { + var container = this._container = this._createElement('shape'); + + L.DomUtil.addClass(container, 'leaflet-vml-shape' + + (this.options.className ? ' ' + this.options.className : '')); + + if (this.options.clickable) { + L.DomUtil.addClass(container, 'leaflet-clickable'); + } + + container.coordsize = '1 1'; + + this._path = this._createElement('path'); + container.appendChild(this._path); + + this._map._pathRoot.appendChild(container); + }, + + _initStyle: function () { + this._updateStyle(); + }, + + _updateStyle: function () { + var stroke = this._stroke, + fill = this._fill, + options = this.options, + container = this._container; + + container.stroked = options.stroke; + container.filled = options.fill; + + if (options.stroke) { + if (!stroke) { + stroke = this._stroke = this._createElement('stroke'); + stroke.endcap = 'round'; + container.appendChild(stroke); + } + stroke.weight = options.weight + 'px'; + stroke.color = options.color; + stroke.opacity = options.opacity; + + if (options.dashArray) { + stroke.dashStyle = L.Util.isArray(options.dashArray) ? + options.dashArray.join(' ') : + options.dashArray.replace(/( *, *)/g, ' '); + } else { + stroke.dashStyle = ''; + } + if (options.lineCap) { + stroke.endcap = options.lineCap.replace('butt', 'flat'); + } + if (options.lineJoin) { + stroke.joinstyle = options.lineJoin; + } + + } else if (stroke) { + container.removeChild(stroke); + this._stroke = null; + } + + if (options.fill) { + if (!fill) { + fill = this._fill = this._createElement('fill'); + container.appendChild(fill); + } + fill.color = options.fillColor || options.color; + fill.opacity = options.fillOpacity; + + } else if (fill) { + container.removeChild(fill); + this._fill = null; + } + }, + + _updatePath: function () { + var style = this._container.style; + + style.display = 'none'; + this._path.v = this.getPathString() + ' '; // the space fixes IE empty path string bug + style.display = ''; + } +}); + +L.Map.include(L.Browser.svg || !L.Browser.vml ? {} : { + _initPathRoot: function () { + if (this._pathRoot) { return; } + + var root = this._pathRoot = document.createElement('div'); + root.className = 'leaflet-vml-container'; + this._panes.overlayPane.appendChild(root); + + this.on('moveend', this._updatePathViewport); + this._updatePathViewport(); + } +}); + + +/* + * Vector rendering for all browsers that support canvas. + */ + +L.Browser.canvas = (function () { + return !!document.createElement('canvas').getContext; +}()); + +L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path : L.Path.extend({ + statics: { + //CLIP_PADDING: 0.02, // not sure if there's a need to set it to a small value + CANVAS: true, + SVG: false + }, + + redraw: function () { + if (this._map) { + this.projectLatlngs(); + this._requestUpdate(); + } + return this; + }, + + setStyle: function (style) { + L.setOptions(this, style); + + if (this._map) { + this._updateStyle(); + this._requestUpdate(); + } + return this; + }, + + onRemove: function (map) { + map + .off('viewreset', this.projectLatlngs, this) + .off('moveend', this._updatePath, this); + + if (this.options.clickable) { + this._map.off('click', this._onClick, this); + this._map.off('mousemove', this._onMouseMove, this); + } + + this._requestUpdate(); + + this.fire('remove'); + this._map = null; + }, + + _requestUpdate: function () { + if (this._map && !L.Path._updateRequest) { + L.Path._updateRequest = L.Util.requestAnimFrame(this._fireMapMoveEnd, this._map); + } + }, + + _fireMapMoveEnd: function () { + L.Path._updateRequest = null; + this.fire('moveend'); + }, + + _initElements: function () { + this._map._initPathRoot(); + this._ctx = this._map._canvasCtx; + }, + + _updateStyle: function () { + var options = this.options; + + if (options.stroke) { + this._ctx.lineWidth = options.weight; + this._ctx.strokeStyle = options.color; + } + if (options.fill) { + this._ctx.fillStyle = options.fillColor || options.color; + } + + if (options.lineCap) { + this._ctx.lineCap = options.lineCap; + } + if (options.lineJoin) { + this._ctx.lineJoin = options.lineJoin; + } + }, + + _drawPath: function () { + var i, j, len, len2, point, drawMethod; + + this._ctx.beginPath(); + + for (i = 0, len = this._parts.length; i < len; i++) { + for (j = 0, len2 = this._parts[i].length; j < len2; j++) { + point = this._parts[i][j]; + drawMethod = (j === 0 ? 'move' : 'line') + 'To'; + + this._ctx[drawMethod](point.x, point.y); + } + // TODO refactor ugly hack + if (this instanceof L.Polygon) { + this._ctx.closePath(); + } + } + }, + + _checkIfEmpty: function () { + return !this._parts.length; + }, + + _updatePath: function () { + if (this._checkIfEmpty()) { return; } + + var ctx = this._ctx, + options = this.options; + + this._drawPath(); + ctx.save(); + this._updateStyle(); + + if (options.fill) { + ctx.globalAlpha = options.fillOpacity; + ctx.fill(options.fillRule || 'evenodd'); + } + + if (options.stroke) { + ctx.globalAlpha = options.opacity; + ctx.stroke(); + } + + ctx.restore(); + + // TODO optimization: 1 fill/stroke for all features with equal style instead of 1 for each feature + }, + + _initEvents: function () { + if (this.options.clickable) { + this._map.on('mousemove', this._onMouseMove, this); + this._map.on('click dblclick contextmenu', this._fireMouseEvent, this); + } + }, + + _fireMouseEvent: function (e) { + if (this._containsPoint(e.layerPoint)) { + this.fire(e.type, e); + } + }, + + _onMouseMove: function (e) { + if (!this._map || this._map._animatingZoom) { return; } + + // TODO don't do on each move + if (this._containsPoint(e.layerPoint)) { + this._ctx.canvas.style.cursor = 'pointer'; + this._mouseInside = true; + this.fire('mouseover', e); + + } else if (this._mouseInside) { + this._ctx.canvas.style.cursor = ''; + this._mouseInside = false; + this.fire('mouseout', e); + } + } +}); + +L.Map.include((L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? {} : { + _initPathRoot: function () { + var root = this._pathRoot, + ctx; + + if (!root) { + root = this._pathRoot = document.createElement('canvas'); + root.style.position = 'absolute'; + ctx = this._canvasCtx = root.getContext('2d'); + + ctx.lineCap = 'round'; + ctx.lineJoin = 'round'; + + this._panes.overlayPane.appendChild(root); + + if (this.options.zoomAnimation) { + this._pathRoot.className = 'leaflet-zoom-animated'; + this.on('zoomanim', this._animatePathZoom); + this.on('zoomend', this._endPathZoom); + } + this.on('moveend', this._updateCanvasViewport); + this._updateCanvasViewport(); + } + }, + + _updateCanvasViewport: function () { + // don't redraw while zooming. See _updateSvgViewport for more details + if (this._pathZooming) { return; } + this._updatePathViewport(); + + var vp = this._pathViewport, + min = vp.min, + size = vp.max.subtract(min), + root = this._pathRoot; + + //TODO check if this works properly on mobile webkit + L.DomUtil.setPosition(root, min); + root.width = size.x; + root.height = size.y; + root.getContext('2d').translate(-min.x, -min.y); + } +}); + + +/* + * L.LineUtil contains different utility functions for line segments + * and polylines (clipping, simplification, distances, etc.) + */ + +/*jshint bitwise:false */ // allow bitwise operations for this file + +L.LineUtil = { + + // Simplify polyline with vertex reduction and Douglas-Peucker simplification. + // Improves rendering performance dramatically by lessening the number of points to draw. + + simplify: function (/*Point[]*/ points, /*Number*/ tolerance) { + if (!tolerance || !points.length) { + return points.slice(); + } + + var sqTolerance = tolerance * tolerance; + + // stage 1: vertex reduction + points = this._reducePoints(points, sqTolerance); + + // stage 2: Douglas-Peucker simplification + points = this._simplifyDP(points, sqTolerance); + + return points; + }, + + // distance from a point to a segment between two points + pointToSegmentDistance: function (/*Point*/ p, /*Point*/ p1, /*Point*/ p2) { + return Math.sqrt(this._sqClosestPointOnSegment(p, p1, p2, true)); + }, + + closestPointOnSegment: function (/*Point*/ p, /*Point*/ p1, /*Point*/ p2) { + return this._sqClosestPointOnSegment(p, p1, p2); + }, + + // Douglas-Peucker simplification, see http://en.wikipedia.org/wiki/Douglas-Peucker_algorithm + _simplifyDP: function (points, sqTolerance) { + + var len = points.length, + ArrayConstructor = typeof Uint8Array !== undefined + '' ? Uint8Array : Array, + markers = new ArrayConstructor(len); + + markers[0] = markers[len - 1] = 1; + + this._simplifyDPStep(points, markers, sqTolerance, 0, len - 1); + + var i, + newPoints = []; + + for (i = 0; i < len; i++) { + if (markers[i]) { + newPoints.push(points[i]); + } + } + + return newPoints; + }, + + _simplifyDPStep: function (points, markers, sqTolerance, first, last) { + + var maxSqDist = 0, + index, i, sqDist; + + for (i = first + 1; i <= last - 1; i++) { + sqDist = this._sqClosestPointOnSegment(points[i], points[first], points[last], true); + + if (sqDist > maxSqDist) { + index = i; + maxSqDist = sqDist; + } + } + + if (maxSqDist > sqTolerance) { + markers[index] = 1; + + this._simplifyDPStep(points, markers, sqTolerance, first, index); + this._simplifyDPStep(points, markers, sqTolerance, index, last); + } + }, + + // reduce points that are too close to each other to a single point + _reducePoints: function (points, sqTolerance) { + var reducedPoints = [points[0]]; + + for (var i = 1, prev = 0, len = points.length; i < len; i++) { + if (this._sqDist(points[i], points[prev]) > sqTolerance) { + reducedPoints.push(points[i]); + prev = i; + } + } + if (prev < len - 1) { + reducedPoints.push(points[len - 1]); + } + return reducedPoints; + }, + + // Cohen-Sutherland line clipping algorithm. + // Used to avoid rendering parts of a polyline that are not currently visible. + + clipSegment: function (a, b, bounds, useLastCode) { + var codeA = useLastCode ? this._lastCode : this._getBitCode(a, bounds), + codeB = this._getBitCode(b, bounds), + + codeOut, p, newCode; + + // save 2nd code to avoid calculating it on the next segment + this._lastCode = codeB; + + while (true) { + // if a,b is inside the clip window (trivial accept) + if (!(codeA | codeB)) { + return [a, b]; + // if a,b is outside the clip window (trivial reject) + } else if (codeA & codeB) { + return false; + // other cases + } else { + codeOut = codeA || codeB; + p = this._getEdgeIntersection(a, b, codeOut, bounds); + newCode = this._getBitCode(p, bounds); + + if (codeOut === codeA) { + a = p; + codeA = newCode; + } else { + b = p; + codeB = newCode; + } + } + } + }, + + _getEdgeIntersection: function (a, b, code, bounds) { + var dx = b.x - a.x, + dy = b.y - a.y, + min = bounds.min, + max = bounds.max; + + if (code & 8) { // top + return new L.Point(a.x + dx * (max.y - a.y) / dy, max.y); + } else if (code & 4) { // bottom + return new L.Point(a.x + dx * (min.y - a.y) / dy, min.y); + } else if (code & 2) { // right + return new L.Point(max.x, a.y + dy * (max.x - a.x) / dx); + } else if (code & 1) { // left + return new L.Point(min.x, a.y + dy * (min.x - a.x) / dx); + } + }, + + _getBitCode: function (/*Point*/ p, bounds) { + var code = 0; + + if (p.x < bounds.min.x) { // left + code |= 1; + } else if (p.x > bounds.max.x) { // right + code |= 2; + } + if (p.y < bounds.min.y) { // bottom + code |= 4; + } else if (p.y > bounds.max.y) { // top + code |= 8; + } + + return code; + }, + + // square distance (to avoid unnecessary Math.sqrt calls) + _sqDist: function (p1, p2) { + var dx = p2.x - p1.x, + dy = p2.y - p1.y; + return dx * dx + dy * dy; + }, + + // return closest point on segment or distance to that point + _sqClosestPointOnSegment: function (p, p1, p2, sqDist) { + var x = p1.x, + y = p1.y, + dx = p2.x - x, + dy = p2.y - y, + dot = dx * dx + dy * dy, + t; + + if (dot > 0) { + t = ((p.x - x) * dx + (p.y - y) * dy) / dot; + + if (t > 1) { + x = p2.x; + y = p2.y; + } else if (t > 0) { + x += dx * t; + y += dy * t; + } + } + + dx = p.x - x; + dy = p.y - y; + + return sqDist ? dx * dx + dy * dy : new L.Point(x, y); + } +}; + + +/* + * L.Polyline is used to display polylines on a map. + */ + +L.Polyline = L.Path.extend({ + initialize: function (latlngs, options) { + L.Path.prototype.initialize.call(this, options); + + this._latlngs = this._convertLatLngs(latlngs); + }, + + options: { + // how much to simplify the polyline on each zoom level + // more = better performance and smoother look, less = more accurate + smoothFactor: 1.0, + noClip: false + }, + + projectLatlngs: function () { + this._originalPoints = []; + + for (var i = 0, len = this._latlngs.length; i < len; i++) { + this._originalPoints[i] = this._map.latLngToLayerPoint(this._latlngs[i]); + } + }, + + getPathString: function () { + for (var i = 0, len = this._parts.length, str = ''; i < len; i++) { + str += this._getPathPartStr(this._parts[i]); + } + return str; + }, + + getLatLngs: function () { + return this._latlngs; + }, + + setLatLngs: function (latlngs) { + this._latlngs = this._convertLatLngs(latlngs); + return this.redraw(); + }, + + addLatLng: function (latlng) { + this._latlngs.push(L.latLng(latlng)); + return this.redraw(); + }, + + spliceLatLngs: function () { // (Number index, Number howMany) + var removed = [].splice.apply(this._latlngs, arguments); + this._convertLatLngs(this._latlngs, true); + this.redraw(); + return removed; + }, + + closestLayerPoint: function (p) { + var minDistance = Infinity, parts = this._parts, p1, p2, minPoint = null; + + for (var j = 0, jLen = parts.length; j < jLen; j++) { + var points = parts[j]; + for (var i = 1, len = points.length; i < len; i++) { + p1 = points[i - 1]; + p2 = points[i]; + var sqDist = L.LineUtil._sqClosestPointOnSegment(p, p1, p2, true); + if (sqDist < minDistance) { + minDistance = sqDist; + minPoint = L.LineUtil._sqClosestPointOnSegment(p, p1, p2); + } + } + } + if (minPoint) { + minPoint.distance = Math.sqrt(minDistance); + } + return minPoint; + }, + + getBounds: function () { + return new L.LatLngBounds(this.getLatLngs()); + }, + + _convertLatLngs: function (latlngs, overwrite) { + var i, len, target = overwrite ? latlngs : []; + + for (i = 0, len = latlngs.length; i < len; i++) { + if (L.Util.isArray(latlngs[i]) && typeof latlngs[i][0] !== 'number') { + return; + } + target[i] = L.latLng(latlngs[i]); + } + return target; + }, + + _initEvents: function () { + L.Path.prototype._initEvents.call(this); + }, + + _getPathPartStr: function (points) { + var round = L.Path.VML; + + for (var j = 0, len2 = points.length, str = '', p; j < len2; j++) { + p = points[j]; + if (round) { + p._round(); + } + str += (j ? 'L' : 'M') + p.x + ' ' + p.y; + } + return str; + }, + + _clipPoints: function () { + var points = this._originalPoints, + len = points.length, + i, k, segment; + + if (this.options.noClip) { + this._parts = [points]; + return; + } + + this._parts = []; + + var parts = this._parts, + vp = this._map._pathViewport, + lu = L.LineUtil; + + for (i = 0, k = 0; i < len - 1; i++) { + segment = lu.clipSegment(points[i], points[i + 1], vp, i); + if (!segment) { + continue; + } + + parts[k] = parts[k] || []; + parts[k].push(segment[0]); + + // if segment goes out of screen, or it's the last one, it's the end of the line part + if ((segment[1] !== points[i + 1]) || (i === len - 2)) { + parts[k].push(segment[1]); + k++; + } + } + }, + + // simplify each clipped part of the polyline + _simplifyPoints: function () { + var parts = this._parts, + lu = L.LineUtil; + + for (var i = 0, len = parts.length; i < len; i++) { + parts[i] = lu.simplify(parts[i], this.options.smoothFactor); + } + }, + + _updatePath: function () { + if (!this._map) { return; } + + this._clipPoints(); + this._simplifyPoints(); + + L.Path.prototype._updatePath.call(this); + } +}); + +L.polyline = function (latlngs, options) { + return new L.Polyline(latlngs, options); +}; + + +/* + * L.PolyUtil contains utility functions for polygons (clipping, etc.). + */ + +/*jshint bitwise:false */ // allow bitwise operations here + +L.PolyUtil = {}; + +/* + * Sutherland-Hodgeman polygon clipping algorithm. + * Used to avoid rendering parts of a polygon that are not currently visible. + */ +L.PolyUtil.clipPolygon = function (points, bounds) { + var clippedPoints, + edges = [1, 4, 2, 8], + i, j, k, + a, b, + len, edge, p, + lu = L.LineUtil; + + for (i = 0, len = points.length; i < len; i++) { + points[i]._code = lu._getBitCode(points[i], bounds); + } + + // for each edge (left, bottom, right, top) + for (k = 0; k < 4; k++) { + edge = edges[k]; + clippedPoints = []; + + for (i = 0, len = points.length, j = len - 1; i < len; j = i++) { + a = points[i]; + b = points[j]; + + // if a is inside the clip window + if (!(a._code & edge)) { + // if b is outside the clip window (a->b goes out of screen) + if (b._code & edge) { + p = lu._getEdgeIntersection(b, a, edge, bounds); + p._code = lu._getBitCode(p, bounds); + clippedPoints.push(p); + } + clippedPoints.push(a); + + // else if b is inside the clip window (a->b enters the screen) + } else if (!(b._code & edge)) { + p = lu._getEdgeIntersection(b, a, edge, bounds); + p._code = lu._getBitCode(p, bounds); + clippedPoints.push(p); + } + } + points = clippedPoints; + } + + return points; +}; + + +/* + * L.Polygon is used to display polygons on a map. + */ + +L.Polygon = L.Polyline.extend({ + options: { + fill: true + }, + + initialize: function (latlngs, options) { + L.Polyline.prototype.initialize.call(this, latlngs, options); + this._initWithHoles(latlngs); + }, + + _initWithHoles: function (latlngs) { + var i, len, hole; + if (latlngs && L.Util.isArray(latlngs[0]) && (typeof latlngs[0][0] !== 'number')) { + this._latlngs = this._convertLatLngs(latlngs[0]); + this._holes = latlngs.slice(1); + + for (i = 0, len = this._holes.length; i < len; i++) { + hole = this._holes[i] = this._convertLatLngs(this._holes[i]); + if (hole[0].equals(hole[hole.length - 1])) { + hole.pop(); + } + } + } + + // filter out last point if its equal to the first one + latlngs = this._latlngs; + + if (latlngs.length >= 2 && latlngs[0].equals(latlngs[latlngs.length - 1])) { + latlngs.pop(); + } + }, + + projectLatlngs: function () { + L.Polyline.prototype.projectLatlngs.call(this); + + // project polygon holes points + // TODO move this logic to Polyline to get rid of duplication + this._holePoints = []; + + if (!this._holes) { return; } + + var i, j, len, len2; + + for (i = 0, len = this._holes.length; i < len; i++) { + this._holePoints[i] = []; + + for (j = 0, len2 = this._holes[i].length; j < len2; j++) { + this._holePoints[i][j] = this._map.latLngToLayerPoint(this._holes[i][j]); + } + } + }, + + setLatLngs: function (latlngs) { + if (latlngs && L.Util.isArray(latlngs[0]) && (typeof latlngs[0][0] !== 'number')) { + this._initWithHoles(latlngs); + return this.redraw(); + } else { + return L.Polyline.prototype.setLatLngs.call(this, latlngs); + } + }, + + _clipPoints: function () { + var points = this._originalPoints, + newParts = []; + + this._parts = [points].concat(this._holePoints); + + if (this.options.noClip) { return; } + + for (var i = 0, len = this._parts.length; i < len; i++) { + var clipped = L.PolyUtil.clipPolygon(this._parts[i], this._map._pathViewport); + if (clipped.length) { + newParts.push(clipped); + } + } + + this._parts = newParts; + }, + + _getPathPartStr: function (points) { + var str = L.Polyline.prototype._getPathPartStr.call(this, points); + return str + (L.Browser.svg ? 'z' : 'x'); + } +}); + +L.polygon = function (latlngs, options) { + return new L.Polygon(latlngs, options); +}; + + +/* + * Contains L.MultiPolyline and L.MultiPolygon layers. + */ + +(function () { + function createMulti(Klass) { + + return L.FeatureGroup.extend({ + + initialize: function (latlngs, options) { + this._layers = {}; + this._options = options; + this.setLatLngs(latlngs); + }, + + setLatLngs: function (latlngs) { + var i = 0, + len = latlngs.length; + + this.eachLayer(function (layer) { + if (i < len) { + layer.setLatLngs(latlngs[i++]); + } else { + this.removeLayer(layer); + } + }, this); + + while (i < len) { + this.addLayer(new Klass(latlngs[i++], this._options)); + } + + return this; + }, + + getLatLngs: function () { + var latlngs = []; + + this.eachLayer(function (layer) { + latlngs.push(layer.getLatLngs()); + }); + + return latlngs; + } + }); + } + + L.MultiPolyline = createMulti(L.Polyline); + L.MultiPolygon = createMulti(L.Polygon); + + L.multiPolyline = function (latlngs, options) { + return new L.MultiPolyline(latlngs, options); + }; + + L.multiPolygon = function (latlngs, options) { + return new L.MultiPolygon(latlngs, options); + }; +}()); + + +/* + * L.Rectangle extends Polygon and creates a rectangle when passed a LatLngBounds object. + */ + +L.Rectangle = L.Polygon.extend({ + initialize: function (latLngBounds, options) { + L.Polygon.prototype.initialize.call(this, this._boundsToLatLngs(latLngBounds), options); + }, + + setBounds: function (latLngBounds) { + this.setLatLngs(this._boundsToLatLngs(latLngBounds)); + }, + + _boundsToLatLngs: function (latLngBounds) { + latLngBounds = L.latLngBounds(latLngBounds); + return [ + latLngBounds.getSouthWest(), + latLngBounds.getNorthWest(), + latLngBounds.getNorthEast(), + latLngBounds.getSouthEast() + ]; + } +}); + +L.rectangle = function (latLngBounds, options) { + return new L.Rectangle(latLngBounds, options); +}; + + +/* + * L.Circle is a circle overlay (with a certain radius in meters). + */ + +L.Circle = L.Path.extend({ + initialize: function (latlng, radius, options) { + L.Path.prototype.initialize.call(this, options); + + this._latlng = L.latLng(latlng); + this._mRadius = radius; + }, + + options: { + fill: true + }, + + setLatLng: function (latlng) { + this._latlng = L.latLng(latlng); + return this.redraw(); + }, + + setRadius: function (radius) { + this._mRadius = radius; + return this.redraw(); + }, + + projectLatlngs: function () { + var lngRadius = this._getLngRadius(), + latlng = this._latlng, + pointLeft = this._map.latLngToLayerPoint([latlng.lat, latlng.lng - lngRadius]); + + this._point = this._map.latLngToLayerPoint(latlng); + this._radius = Math.max(this._point.x - pointLeft.x, 1); + }, + + getBounds: function () { + var lngRadius = this._getLngRadius(), + latRadius = (this._mRadius / 40075017) * 360, + latlng = this._latlng; + + return new L.LatLngBounds( + [latlng.lat - latRadius, latlng.lng - lngRadius], + [latlng.lat + latRadius, latlng.lng + lngRadius]); + }, + + getLatLng: function () { + return this._latlng; + }, + + getPathString: function () { + var p = this._point, + r = this._radius; + + if (this._checkIfEmpty()) { + return ''; + } + + if (L.Browser.svg) { + return 'M' + p.x + ',' + (p.y - r) + + 'A' + r + ',' + r + ',0,1,1,' + + (p.x - 0.1) + ',' + (p.y - r) + ' z'; + } else { + p._round(); + r = Math.round(r); + return 'AL ' + p.x + ',' + p.y + ' ' + r + ',' + r + ' 0,' + (65535 * 360); + } + }, + + getRadius: function () { + return this._mRadius; + }, + + // TODO Earth hardcoded, move into projection code! + + _getLatRadius: function () { + return (this._mRadius / 40075017) * 360; + }, + + _getLngRadius: function () { + return this._getLatRadius() / Math.cos(L.LatLng.DEG_TO_RAD * this._latlng.lat); + }, + + _checkIfEmpty: function () { + if (!this._map) { + return false; + } + var vp = this._map._pathViewport, + r = this._radius, + p = this._point; + + return p.x - r > vp.max.x || p.y - r > vp.max.y || + p.x + r < vp.min.x || p.y + r < vp.min.y; + } +}); + +L.circle = function (latlng, radius, options) { + return new L.Circle(latlng, radius, options); +}; + + +/* + * L.CircleMarker is a circle overlay with a permanent pixel radius. + */ + +L.CircleMarker = L.Circle.extend({ + options: { + radius: 10, + weight: 2 + }, + + initialize: function (latlng, options) { + L.Circle.prototype.initialize.call(this, latlng, null, options); + this._radius = this.options.radius; + }, + + projectLatlngs: function () { + this._point = this._map.latLngToLayerPoint(this._latlng); + }, + + _updateStyle : function () { + L.Circle.prototype._updateStyle.call(this); + this.setRadius(this.options.radius); + }, + + setLatLng: function (latlng) { + L.Circle.prototype.setLatLng.call(this, latlng); + if (this._popup && this._popup._isOpen) { + this._popup.setLatLng(latlng); + } + return this; + }, + + setRadius: function (radius) { + this.options.radius = this._radius = radius; + return this.redraw(); + }, + + getRadius: function () { + return this._radius; + } +}); + +L.circleMarker = function (latlng, options) { + return new L.CircleMarker(latlng, options); +}; + + +/* + * Extends L.Polyline to be able to manually detect clicks on Canvas-rendered polylines. + */ + +L.Polyline.include(!L.Path.CANVAS ? {} : { + _containsPoint: function (p, closed) { + var i, j, k, len, len2, dist, part, + w = this.options.weight / 2; + + if (L.Browser.touch) { + w += 10; // polyline click tolerance on touch devices + } + + for (i = 0, len = this._parts.length; i < len; i++) { + part = this._parts[i]; + for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) { + if (!closed && (j === 0)) { + continue; + } + + dist = L.LineUtil.pointToSegmentDistance(p, part[k], part[j]); + + if (dist <= w) { + return true; + } + } + } + return false; + } +}); + + +/* + * Extends L.Polygon to be able to manually detect clicks on Canvas-rendered polygons. + */ + +L.Polygon.include(!L.Path.CANVAS ? {} : { + _containsPoint: function (p) { + var inside = false, + part, p1, p2, + i, j, k, + len, len2; + + // TODO optimization: check if within bounds first + + if (L.Polyline.prototype._containsPoint.call(this, p, true)) { + // click on polygon border + return true; + } + + // ray casting algorithm for detecting if point is in polygon + + for (i = 0, len = this._parts.length; i < len; i++) { + part = this._parts[i]; + + for (j = 0, len2 = part.length, k = len2 - 1; j < len2; k = j++) { + p1 = part[j]; + p2 = part[k]; + + if (((p1.y > p.y) !== (p2.y > p.y)) && + (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x)) { + inside = !inside; + } + } + } + + return inside; + } +}); + + +/* + * Extends L.Circle with Canvas-specific code. + */ + +L.Circle.include(!L.Path.CANVAS ? {} : { + _drawPath: function () { + var p = this._point; + this._ctx.beginPath(); + this._ctx.arc(p.x, p.y, this._radius, 0, Math.PI * 2, false); + }, + + _containsPoint: function (p) { + var center = this._point, + w2 = this.options.stroke ? this.options.weight / 2 : 0; + + return (p.distanceTo(center) <= this._radius + w2); + } +}); + + +/* + * CircleMarker canvas specific drawing parts. + */ + +L.CircleMarker.include(!L.Path.CANVAS ? {} : { + _updateStyle: function () { + L.Path.prototype._updateStyle.call(this); + } +}); + + +/* + * L.GeoJSON turns any GeoJSON data into a Leaflet layer. + */ + +L.GeoJSON = L.FeatureGroup.extend({ + + initialize: function (geojson, options) { + L.setOptions(this, options); + + this._layers = {}; + + if (geojson) { + this.addData(geojson); + } + }, + + addData: function (geojson) { + var features = L.Util.isArray(geojson) ? geojson : geojson.features, + i, len, feature; + + if (features) { + for (i = 0, len = features.length; i < len; i++) { + // Only add this if geometry or geometries are set and not null + feature = features[i]; + if (feature.geometries || feature.geometry || feature.features || feature.coordinates) { + this.addData(features[i]); + } + } + return this; + } + + var options = this.options; + + if (options.filter && !options.filter(geojson)) { return; } + + var layer = L.GeoJSON.geometryToLayer(geojson, options.pointToLayer, options.coordsToLatLng, options); + layer.feature = L.GeoJSON.asFeature(geojson); + + layer.defaultOptions = layer.options; + this.resetStyle(layer); + + if (options.onEachFeature) { + options.onEachFeature(geojson, layer); + } + + return this.addLayer(layer); + }, + + resetStyle: function (layer) { + var style = this.options.style; + if (style) { + // reset any custom styles + L.Util.extend(layer.options, layer.defaultOptions); + + this._setLayerStyle(layer, style); + } + }, + + setStyle: function (style) { + this.eachLayer(function (layer) { + this._setLayerStyle(layer, style); + }, this); + }, + + _setLayerStyle: function (layer, style) { + if (typeof style === 'function') { + style = style(layer.feature); + } + if (layer.setStyle) { + layer.setStyle(style); + } + } +}); + +L.extend(L.GeoJSON, { + geometryToLayer: function (geojson, pointToLayer, coordsToLatLng, vectorOptions) { + var geometry = geojson.type === 'Feature' ? geojson.geometry : geojson, + coords = geometry.coordinates, + layers = [], + latlng, latlngs, i, len; + + coordsToLatLng = coordsToLatLng || this.coordsToLatLng; + + switch (geometry.type) { + case 'Point': + latlng = coordsToLatLng(coords); + return pointToLayer ? pointToLayer(geojson, latlng) : new L.Marker(latlng); + + case 'MultiPoint': + for (i = 0, len = coords.length; i < len; i++) { + latlng = coordsToLatLng(coords[i]); + layers.push(pointToLayer ? pointToLayer(geojson, latlng) : new L.Marker(latlng)); + } + return new L.FeatureGroup(layers); + + case 'LineString': + latlngs = this.coordsToLatLngs(coords, 0, coordsToLatLng); + return new L.Polyline(latlngs, vectorOptions); + + case 'Polygon': + if (coords.length === 2 && !coords[1].length) { + throw new Error('Invalid GeoJSON object.'); + } + latlngs = this.coordsToLatLngs(coords, 1, coordsToLatLng); + return new L.Polygon(latlngs, vectorOptions); + + case 'MultiLineString': + latlngs = this.coordsToLatLngs(coords, 1, coordsToLatLng); + return new L.MultiPolyline(latlngs, vectorOptions); + + case 'MultiPolygon': + latlngs = this.coordsToLatLngs(coords, 2, coordsToLatLng); + return new L.MultiPolygon(latlngs, vectorOptions); + + case 'GeometryCollection': + for (i = 0, len = geometry.geometries.length; i < len; i++) { + + layers.push(this.geometryToLayer({ + geometry: geometry.geometries[i], + type: 'Feature', + properties: geojson.properties + }, pointToLayer, coordsToLatLng, vectorOptions)); + } + return new L.FeatureGroup(layers); + + default: + throw new Error('Invalid GeoJSON object.'); + } + }, + + coordsToLatLng: function (coords) { // (Array[, Boolean]) -> LatLng + return new L.LatLng(coords[1], coords[0], coords[2]); + }, + + coordsToLatLngs: function (coords, levelsDeep, coordsToLatLng) { // (Array[, Number, Function]) -> Array + var latlng, i, len, + latlngs = []; + + for (i = 0, len = coords.length; i < len; i++) { + latlng = levelsDeep ? + this.coordsToLatLngs(coords[i], levelsDeep - 1, coordsToLatLng) : + (coordsToLatLng || this.coordsToLatLng)(coords[i]); + + latlngs.push(latlng); + } + + return latlngs; + }, + + latLngToCoords: function (latlng) { + var coords = [latlng.lng, latlng.lat]; + + if (latlng.alt !== undefined) { + coords.push(latlng.alt); + } + return coords; + }, + + latLngsToCoords: function (latLngs) { + var coords = []; + + for (var i = 0, len = latLngs.length; i < len; i++) { + coords.push(L.GeoJSON.latLngToCoords(latLngs[i])); + } + + return coords; + }, + + getFeature: function (layer, newGeometry) { + return layer.feature ? L.extend({}, layer.feature, {geometry: newGeometry}) : L.GeoJSON.asFeature(newGeometry); + }, + + asFeature: function (geoJSON) { + if (geoJSON.type === 'Feature') { + return geoJSON; + } + + return { + type: 'Feature', + properties: {}, + geometry: geoJSON + }; + } +}); + +var PointToGeoJSON = { + toGeoJSON: function () { + return L.GeoJSON.getFeature(this, { + type: 'Point', + coordinates: L.GeoJSON.latLngToCoords(this.getLatLng()) + }); + } +}; + +L.Marker.include(PointToGeoJSON); +L.Circle.include(PointToGeoJSON); +L.CircleMarker.include(PointToGeoJSON); + +L.Polyline.include({ + toGeoJSON: function () { + return L.GeoJSON.getFeature(this, { + type: 'LineString', + coordinates: L.GeoJSON.latLngsToCoords(this.getLatLngs()) + }); + } +}); + +L.Polygon.include({ + toGeoJSON: function () { + var coords = [L.GeoJSON.latLngsToCoords(this.getLatLngs())], + i, len, hole; + + coords[0].push(coords[0][0]); + + if (this._holes) { + for (i = 0, len = this._holes.length; i < len; i++) { + hole = L.GeoJSON.latLngsToCoords(this._holes[i]); + hole.push(hole[0]); + coords.push(hole); + } + } + + return L.GeoJSON.getFeature(this, { + type: 'Polygon', + coordinates: coords + }); + } +}); + +(function () { + function multiToGeoJSON(type) { + return function () { + var coords = []; + + this.eachLayer(function (layer) { + coords.push(layer.toGeoJSON().geometry.coordinates); + }); + + return L.GeoJSON.getFeature(this, { + type: type, + coordinates: coords + }); + }; + } + + L.MultiPolyline.include({toGeoJSON: multiToGeoJSON('MultiLineString')}); + L.MultiPolygon.include({toGeoJSON: multiToGeoJSON('MultiPolygon')}); + + L.LayerGroup.include({ + toGeoJSON: function () { + + var geometry = this.feature && this.feature.geometry, + jsons = [], + json; + + if (geometry && geometry.type === 'MultiPoint') { + return multiToGeoJSON('MultiPoint').call(this); + } + + var isGeometryCollection = geometry && geometry.type === 'GeometryCollection'; + + this.eachLayer(function (layer) { + if (layer.toGeoJSON) { + json = layer.toGeoJSON(); + jsons.push(isGeometryCollection ? json.geometry : L.GeoJSON.asFeature(json)); + } + }); + + if (isGeometryCollection) { + return L.GeoJSON.getFeature(this, { + geometries: jsons, + type: 'GeometryCollection' + }); + } + + return { + type: 'FeatureCollection', + features: jsons + }; + } + }); +}()); + +L.geoJson = function (geojson, options) { + return new L.GeoJSON(geojson, options); +}; + + +/* + * L.DomEvent contains functions for working with DOM events. + */ + +L.DomEvent = { + /* inspired by John Resig, Dean Edwards and YUI addEvent implementations */ + addListener: function (obj, type, fn, context) { // (HTMLElement, String, Function[, Object]) + + var id = L.stamp(fn), + key = '_leaflet_' + type + id, + handler, originalHandler, newType; + + if (obj[key]) { return this; } + + handler = function (e) { + return fn.call(context || obj, e || L.DomEvent._getEvent()); + }; + + if (L.Browser.pointer && type.indexOf('touch') === 0) { + return this.addPointerListener(obj, type, handler, id); + } + if (L.Browser.touch && (type === 'dblclick') && this.addDoubleTapListener) { + this.addDoubleTapListener(obj, handler, id); + } + + if ('addEventListener' in obj) { + + if (type === 'mousewheel') { + obj.addEventListener('DOMMouseScroll', handler, false); + obj.addEventListener(type, handler, false); + + } else if ((type === 'mouseenter') || (type === 'mouseleave')) { + + originalHandler = handler; + newType = (type === 'mouseenter' ? 'mouseover' : 'mouseout'); + + handler = function (e) { + if (!L.DomEvent._checkMouse(obj, e)) { return; } + return originalHandler(e); + }; + + obj.addEventListener(newType, handler, false); + + } else if (type === 'click' && L.Browser.android) { + originalHandler = handler; + handler = function (e) { + return L.DomEvent._filterClick(e, originalHandler); + }; + + obj.addEventListener(type, handler, false); + } else { + obj.addEventListener(type, handler, false); + } + + } else if ('attachEvent' in obj) { + obj.attachEvent('on' + type, handler); + } + + obj[key] = handler; + + return this; + }, + + removeListener: function (obj, type, fn) { // (HTMLElement, String, Function) + + var id = L.stamp(fn), + key = '_leaflet_' + type + id, + handler = obj[key]; + + if (!handler) { return this; } + + if (L.Browser.pointer && type.indexOf('touch') === 0) { + this.removePointerListener(obj, type, id); + } else if (L.Browser.touch && (type === 'dblclick') && this.removeDoubleTapListener) { + this.removeDoubleTapListener(obj, id); + + } else if ('removeEventListener' in obj) { + + if (type === 'mousewheel') { + obj.removeEventListener('DOMMouseScroll', handler, false); + obj.removeEventListener(type, handler, false); + + } else if ((type === 'mouseenter') || (type === 'mouseleave')) { + obj.removeEventListener((type === 'mouseenter' ? 'mouseover' : 'mouseout'), handler, false); + } else { + obj.removeEventListener(type, handler, false); + } + } else if ('detachEvent' in obj) { + obj.detachEvent('on' + type, handler); + } + + obj[key] = null; + + return this; + }, + + stopPropagation: function (e) { + + if (e.stopPropagation) { + e.stopPropagation(); + } else { + e.cancelBubble = true; + } + L.DomEvent._skipped(e); + + return this; + }, + + disableScrollPropagation: function (el) { + var stop = L.DomEvent.stopPropagation; + + return L.DomEvent + .on(el, 'mousewheel', stop) + .on(el, 'MozMousePixelScroll', stop); + }, + + disableClickPropagation: function (el) { + var stop = L.DomEvent.stopPropagation; + + for (var i = L.Draggable.START.length - 1; i >= 0; i--) { + L.DomEvent.on(el, L.Draggable.START[i], stop); + } + + return L.DomEvent + .on(el, 'click', L.DomEvent._fakeStop) + .on(el, 'dblclick', stop); + }, + + preventDefault: function (e) { + + if (e.preventDefault) { + e.preventDefault(); + } else { + e.returnValue = false; + } + return this; + }, + + stop: function (e) { + return L.DomEvent + .preventDefault(e) + .stopPropagation(e); + }, + + getMousePosition: function (e, container) { + if (!container) { + return new L.Point(e.clientX, e.clientY); + } + + var rect = container.getBoundingClientRect(); + + return new L.Point( + e.clientX - rect.left - container.clientLeft, + e.clientY - rect.top - container.clientTop); + }, + + getWheelDelta: function (e) { + + var delta = 0; + + if (e.wheelDelta) { + delta = e.wheelDelta / 120; + } + if (e.detail) { + delta = -e.detail / 3; + } + return delta; + }, + + _skipEvents: {}, + + _fakeStop: function (e) { + // fakes stopPropagation by setting a special event flag, checked/reset with L.DomEvent._skipped(e) + L.DomEvent._skipEvents[e.type] = true; + }, + + _skipped: function (e) { + var skipped = this._skipEvents[e.type]; + // reset when checking, as it's only used in map container and propagates outside of the map + this._skipEvents[e.type] = false; + return skipped; + }, + + // check if element really left/entered the event target (for mouseenter/mouseleave) + _checkMouse: function (el, e) { + + var related = e.relatedTarget; + + if (!related) { return true; } + + try { + while (related && (related !== el)) { + related = related.parentNode; + } + } catch (err) { + return false; + } + return (related !== el); + }, + + _getEvent: function () { // evil magic for IE + /*jshint noarg:false */ + var e = window.event; + if (!e) { + var caller = arguments.callee.caller; + while (caller) { + e = caller['arguments'][0]; + if (e && window.Event === e.constructor) { + break; + } + caller = caller.caller; + } + } + return e; + }, + + // this is a horrible workaround for a bug in Android where a single touch triggers two click events + _filterClick: function (e, handler) { + var timeStamp = (e.timeStamp || e.originalEvent.timeStamp), + elapsed = L.DomEvent._lastClick && (timeStamp - L.DomEvent._lastClick); + + // are they closer together than 500ms yet more than 100ms? + // Android typically triggers them ~300ms apart while multiple listeners + // on the same event should be triggered far faster; + // or check if click is simulated on the element, and if it is, reject any non-simulated events + + if ((elapsed && elapsed > 100 && elapsed < 500) || (e.target._simulatedClick && !e._simulated)) { + L.DomEvent.stop(e); + return; + } + L.DomEvent._lastClick = timeStamp; + + return handler(e); + } +}; + +L.DomEvent.on = L.DomEvent.addListener; +L.DomEvent.off = L.DomEvent.removeListener; + + +/* + * L.Draggable allows you to add dragging capabilities to any element. Supports mobile devices too. + */ + +L.Draggable = L.Class.extend({ + includes: L.Mixin.Events, + + statics: { + START: L.Browser.touch ? ['touchstart', 'mousedown'] : ['mousedown'], + END: { + mousedown: 'mouseup', + touchstart: 'touchend', + pointerdown: 'touchend', + MSPointerDown: 'touchend' + }, + MOVE: { + mousedown: 'mousemove', + touchstart: 'touchmove', + pointerdown: 'touchmove', + MSPointerDown: 'touchmove' + } + }, + + initialize: function (element, dragStartTarget) { + this._element = element; + this._dragStartTarget = dragStartTarget || element; + }, + + enable: function () { + if (this._enabled) { return; } + + for (var i = L.Draggable.START.length - 1; i >= 0; i--) { + L.DomEvent.on(this._dragStartTarget, L.Draggable.START[i], this._onDown, this); + } + + this._enabled = true; + }, + + disable: function () { + if (!this._enabled) { return; } + + for (var i = L.Draggable.START.length - 1; i >= 0; i--) { + L.DomEvent.off(this._dragStartTarget, L.Draggable.START[i], this._onDown, this); + } + + this._enabled = false; + this._moved = false; + }, + + _onDown: function (e) { + this._moved = false; + + if (e.shiftKey || ((e.which !== 1) && (e.button !== 1) && !e.touches)) { return; } + + L.DomEvent.stopPropagation(e); + + if (L.Draggable._disabled) { return; } + + L.DomUtil.disableImageDrag(); + L.DomUtil.disableTextSelection(); + + if (this._moving) { return; } + + var first = e.touches ? e.touches[0] : e; + + this._startPoint = new L.Point(first.clientX, first.clientY); + this._startPos = this._newPos = L.DomUtil.getPosition(this._element); + + L.DomEvent + .on(document, L.Draggable.MOVE[e.type], this._onMove, this) + .on(document, L.Draggable.END[e.type], this._onUp, this); + }, + + _onMove: function (e) { + if (e.touches && e.touches.length > 1) { + this._moved = true; + return; + } + + var first = (e.touches && e.touches.length === 1 ? e.touches[0] : e), + newPoint = new L.Point(first.clientX, first.clientY), + offset = newPoint.subtract(this._startPoint); + + if (!offset.x && !offset.y) { return; } + if (L.Browser.touch && Math.abs(offset.x) + Math.abs(offset.y) < 3) { return; } + + L.DomEvent.preventDefault(e); + + if (!this._moved) { + this.fire('dragstart'); + + this._moved = true; + this._startPos = L.DomUtil.getPosition(this._element).subtract(offset); + + L.DomUtil.addClass(document.body, 'leaflet-dragging'); + this._lastTarget = e.target || e.srcElement; + L.DomUtil.addClass(this._lastTarget, 'leaflet-drag-target'); + } + + this._newPos = this._startPos.add(offset); + this._moving = true; + + L.Util.cancelAnimFrame(this._animRequest); + this._animRequest = L.Util.requestAnimFrame(this._updatePosition, this, true, this._dragStartTarget); + }, + + _updatePosition: function () { + this.fire('predrag'); + L.DomUtil.setPosition(this._element, this._newPos); + this.fire('drag'); + }, + + _onUp: function () { + L.DomUtil.removeClass(document.body, 'leaflet-dragging'); + + if (this._lastTarget) { + L.DomUtil.removeClass(this._lastTarget, 'leaflet-drag-target'); + this._lastTarget = null; + } + + for (var i in L.Draggable.MOVE) { + L.DomEvent + .off(document, L.Draggable.MOVE[i], this._onMove) + .off(document, L.Draggable.END[i], this._onUp); + } + + L.DomUtil.enableImageDrag(); + L.DomUtil.enableTextSelection(); + + if (this._moved && this._moving) { + // ensure drag is not fired after dragend + L.Util.cancelAnimFrame(this._animRequest); + + this.fire('dragend', { + distance: this._newPos.distanceTo(this._startPos) + }); + } + + this._moving = false; + } +}); + + +/* + L.Handler is a base class for handler classes that are used internally to inject + interaction features like dragging to classes like Map and Marker. +*/ + +L.Handler = L.Class.extend({ + initialize: function (map) { + this._map = map; + }, + + enable: function () { + if (this._enabled) { return; } + + this._enabled = true; + this.addHooks(); + }, + + disable: function () { + if (!this._enabled) { return; } + + this._enabled = false; + this.removeHooks(); + }, + + enabled: function () { + return !!this._enabled; + } +}); + + +/* + * L.Handler.MapDrag is used to make the map draggable (with panning inertia), enabled by default. + */ + +L.Map.mergeOptions({ + dragging: true, + + inertia: !L.Browser.android23, + inertiaDeceleration: 3400, // px/s^2 + inertiaMaxSpeed: Infinity, // px/s + inertiaThreshold: L.Browser.touch ? 32 : 18, // ms + easeLinearity: 0.25, + + // TODO refactor, move to CRS + worldCopyJump: false +}); + +L.Map.Drag = L.Handler.extend({ + addHooks: function () { + if (!this._draggable) { + var map = this._map; + + this._draggable = new L.Draggable(map._mapPane, map._container); + + this._draggable.on({ + 'dragstart': this._onDragStart, + 'drag': this._onDrag, + 'dragend': this._onDragEnd + }, this); + + if (map.options.worldCopyJump) { + this._draggable.on('predrag', this._onPreDrag, this); + map.on('viewreset', this._onViewReset, this); + + map.whenReady(this._onViewReset, this); + } + } + this._draggable.enable(); + }, + + removeHooks: function () { + this._draggable.disable(); + }, + + moved: function () { + return this._draggable && this._draggable._moved; + }, + + _onDragStart: function () { + var map = this._map; + + if (map._panAnim) { + map._panAnim.stop(); + } + + map + .fire('movestart') + .fire('dragstart'); + + if (map.options.inertia) { + this._positions = []; + this._times = []; + } + }, + + _onDrag: function () { + if (this._map.options.inertia) { + var time = this._lastTime = +new Date(), + pos = this._lastPos = this._draggable._newPos; + + this._positions.push(pos); + this._times.push(time); + + if (time - this._times[0] > 200) { + this._positions.shift(); + this._times.shift(); + } + } + + this._map + .fire('move') + .fire('drag'); + }, + + _onViewReset: function () { + // TODO fix hardcoded Earth values + var pxCenter = this._map.getSize()._divideBy(2), + pxWorldCenter = this._map.latLngToLayerPoint([0, 0]); + + this._initialWorldOffset = pxWorldCenter.subtract(pxCenter).x; + this._worldWidth = this._map.project([0, 180]).x; + }, + + _onPreDrag: function () { + // TODO refactor to be able to adjust map pane position after zoom + var worldWidth = this._worldWidth, + halfWidth = Math.round(worldWidth / 2), + dx = this._initialWorldOffset, + x = this._draggable._newPos.x, + newX1 = (x - halfWidth + dx) % worldWidth + halfWidth - dx, + newX2 = (x + halfWidth + dx) % worldWidth - halfWidth - dx, + newX = Math.abs(newX1 + dx) < Math.abs(newX2 + dx) ? newX1 : newX2; + + this._draggable._newPos.x = newX; + }, + + _onDragEnd: function (e) { + var map = this._map, + options = map.options, + delay = +new Date() - this._lastTime, + + noInertia = !options.inertia || delay > options.inertiaThreshold || !this._positions[0]; + + map.fire('dragend', e); + + if (noInertia) { + map.fire('moveend'); + + } else { + + var direction = this._lastPos.subtract(this._positions[0]), + duration = (this._lastTime + delay - this._times[0]) / 1000, + ease = options.easeLinearity, + + speedVector = direction.multiplyBy(ease / duration), + speed = speedVector.distanceTo([0, 0]), + + limitedSpeed = Math.min(options.inertiaMaxSpeed, speed), + limitedSpeedVector = speedVector.multiplyBy(limitedSpeed / speed), + + decelerationDuration = limitedSpeed / (options.inertiaDeceleration * ease), + offset = limitedSpeedVector.multiplyBy(-decelerationDuration / 2).round(); + + if (!offset.x || !offset.y) { + map.fire('moveend'); + + } else { + offset = map._limitOffset(offset, map.options.maxBounds); + + L.Util.requestAnimFrame(function () { + map.panBy(offset, { + duration: decelerationDuration, + easeLinearity: ease, + noMoveStart: true + }); + }); + } + } + } +}); + +L.Map.addInitHook('addHandler', 'dragging', L.Map.Drag); + + +/* + * L.Handler.DoubleClickZoom is used to handle double-click zoom on the map, enabled by default. + */ + +L.Map.mergeOptions({ + doubleClickZoom: true +}); + +L.Map.DoubleClickZoom = L.Handler.extend({ + addHooks: function () { + this._map.on('dblclick', this._onDoubleClick, this); + }, + + removeHooks: function () { + this._map.off('dblclick', this._onDoubleClick, this); + }, + + _onDoubleClick: function (e) { + var map = this._map, + zoom = map.getZoom() + (e.originalEvent.shiftKey ? -1 : 1); + + if (map.options.doubleClickZoom === 'center') { + map.setZoom(zoom); + } else { + map.setZoomAround(e.containerPoint, zoom); + } + } +}); + +L.Map.addInitHook('addHandler', 'doubleClickZoom', L.Map.DoubleClickZoom); + + +/* + * L.Handler.ScrollWheelZoom is used by L.Map to enable mouse scroll wheel zoom on the map. + */ + +L.Map.mergeOptions({ + scrollWheelZoom: true +}); + +L.Map.ScrollWheelZoom = L.Handler.extend({ + addHooks: function () { + L.DomEvent.on(this._map._container, 'mousewheel', this._onWheelScroll, this); + L.DomEvent.on(this._map._container, 'MozMousePixelScroll', L.DomEvent.preventDefault); + this._delta = 0; + }, + + removeHooks: function () { + L.DomEvent.off(this._map._container, 'mousewheel', this._onWheelScroll); + L.DomEvent.off(this._map._container, 'MozMousePixelScroll', L.DomEvent.preventDefault); + }, + + _onWheelScroll: function (e) { + var delta = L.DomEvent.getWheelDelta(e); + + this._delta += delta; + this._lastMousePos = this._map.mouseEventToContainerPoint(e); + + if (!this._startTime) { + this._startTime = +new Date(); + } + + var left = Math.max(40 - (+new Date() - this._startTime), 0); + + clearTimeout(this._timer); + this._timer = setTimeout(L.bind(this._performZoom, this), left); + + L.DomEvent.preventDefault(e); + L.DomEvent.stopPropagation(e); + }, + + _performZoom: function () { + var map = this._map, + delta = this._delta, + zoom = map.getZoom(); + + delta = delta > 0 ? Math.ceil(delta) : Math.floor(delta); + delta = Math.max(Math.min(delta, 4), -4); + delta = map._limitZoom(zoom + delta) - zoom; + + this._delta = 0; + this._startTime = null; + + if (!delta) { return; } + + if (map.options.scrollWheelZoom === 'center') { + map.setZoom(zoom + delta); + } else { + map.setZoomAround(this._lastMousePos, zoom + delta); + } + } +}); + +L.Map.addInitHook('addHandler', 'scrollWheelZoom', L.Map.ScrollWheelZoom); + + +/* + * Extends the event handling code with double tap support for mobile browsers. + */ + +L.extend(L.DomEvent, { + + _touchstart: L.Browser.msPointer ? 'MSPointerDown' : L.Browser.pointer ? 'pointerdown' : 'touchstart', + _touchend: L.Browser.msPointer ? 'MSPointerUp' : L.Browser.pointer ? 'pointerup' : 'touchend', + + // inspired by Zepto touch code by Thomas Fuchs + addDoubleTapListener: function (obj, handler, id) { + var last, + doubleTap = false, + delay = 250, + touch, + pre = '_leaflet_', + touchstart = this._touchstart, + touchend = this._touchend, + trackedTouches = []; + + function onTouchStart(e) { + var count; + + if (L.Browser.pointer) { + trackedTouches.push(e.pointerId); + count = trackedTouches.length; + } else { + count = e.touches.length; + } + if (count > 1) { + return; + } + + var now = Date.now(), + delta = now - (last || now); + + touch = e.touches ? e.touches[0] : e; + doubleTap = (delta > 0 && delta <= delay); + last = now; + } + + function onTouchEnd(e) { + if (L.Browser.pointer) { + var idx = trackedTouches.indexOf(e.pointerId); + if (idx === -1) { + return; + } + trackedTouches.splice(idx, 1); + } + + if (doubleTap) { + if (L.Browser.pointer) { + // work around .type being readonly with MSPointer* events + var newTouch = { }, + prop; + + // jshint forin:false + for (var i in touch) { + prop = touch[i]; + if (typeof prop === 'function') { + newTouch[i] = prop.bind(touch); + } else { + newTouch[i] = prop; + } + } + touch = newTouch; + } + touch.type = 'dblclick'; + handler(touch); + last = null; + } + } + obj[pre + touchstart + id] = onTouchStart; + obj[pre + touchend + id] = onTouchEnd; + + // on pointer we need to listen on the document, otherwise a drag starting on the map and moving off screen + // will not come through to us, so we will lose track of how many touches are ongoing + var endElement = L.Browser.pointer ? document.documentElement : obj; + + obj.addEventListener(touchstart, onTouchStart, false); + endElement.addEventListener(touchend, onTouchEnd, false); + + if (L.Browser.pointer) { + endElement.addEventListener(L.DomEvent.POINTER_CANCEL, onTouchEnd, false); + } + + return this; + }, + + removeDoubleTapListener: function (obj, id) { + var pre = '_leaflet_'; + + obj.removeEventListener(this._touchstart, obj[pre + this._touchstart + id], false); + (L.Browser.pointer ? document.documentElement : obj).removeEventListener( + this._touchend, obj[pre + this._touchend + id], false); + + if (L.Browser.pointer) { + document.documentElement.removeEventListener(L.DomEvent.POINTER_CANCEL, obj[pre + this._touchend + id], + false); + } + + return this; + } +}); + + +/* + * Extends L.DomEvent to provide touch support for Internet Explorer and Windows-based devices. + */ + +L.extend(L.DomEvent, { + + //static + POINTER_DOWN: L.Browser.msPointer ? 'MSPointerDown' : 'pointerdown', + POINTER_MOVE: L.Browser.msPointer ? 'MSPointerMove' : 'pointermove', + POINTER_UP: L.Browser.msPointer ? 'MSPointerUp' : 'pointerup', + POINTER_CANCEL: L.Browser.msPointer ? 'MSPointerCancel' : 'pointercancel', + + _pointers: [], + _pointerDocumentListener: false, + + // Provides a touch events wrapper for (ms)pointer events. + // Based on changes by veproza https://github.com/CloudMade/Leaflet/pull/1019 + //ref http://www.w3.org/TR/pointerevents/ https://www.w3.org/Bugs/Public/show_bug.cgi?id=22890 + + addPointerListener: function (obj, type, handler, id) { + + switch (type) { + case 'touchstart': + return this.addPointerListenerStart(obj, type, handler, id); + case 'touchend': + return this.addPointerListenerEnd(obj, type, handler, id); + case 'touchmove': + return this.addPointerListenerMove(obj, type, handler, id); + default: + throw 'Unknown touch event type'; + } + }, + + addPointerListenerStart: function (obj, type, handler, id) { + var pre = '_leaflet_', + pointers = this._pointers; + + var cb = function (e) { + if (e.pointerType !== 'mouse' && e.pointerType !== e.MSPOINTER_TYPE_MOUSE) { + L.DomEvent.preventDefault(e); + } + + var alreadyInArray = false; + for (var i = 0; i < pointers.length; i++) { + if (pointers[i].pointerId === e.pointerId) { + alreadyInArray = true; + break; + } + } + if (!alreadyInArray) { + pointers.push(e); + } + + e.touches = pointers.slice(); + e.changedTouches = [e]; + + handler(e); + }; + + obj[pre + 'touchstart' + id] = cb; + obj.addEventListener(this.POINTER_DOWN, cb, false); + + // need to also listen for end events to keep the _pointers list accurate + // this needs to be on the body and never go away + if (!this._pointerDocumentListener) { + var internalCb = function (e) { + for (var i = 0; i < pointers.length; i++) { + if (pointers[i].pointerId === e.pointerId) { + pointers.splice(i, 1); + break; + } + } + }; + //We listen on the documentElement as any drags that end by moving the touch off the screen get fired there + document.documentElement.addEventListener(this.POINTER_UP, internalCb, false); + document.documentElement.addEventListener(this.POINTER_CANCEL, internalCb, false); + + this._pointerDocumentListener = true; + } + + return this; + }, + + addPointerListenerMove: function (obj, type, handler, id) { + var pre = '_leaflet_', + touches = this._pointers; + + function cb(e) { + + // don't fire touch moves when mouse isn't down + if ((e.pointerType === e.MSPOINTER_TYPE_MOUSE || e.pointerType === 'mouse') && e.buttons === 0) { return; } + + for (var i = 0; i < touches.length; i++) { + if (touches[i].pointerId === e.pointerId) { + touches[i] = e; + break; + } + } + + e.touches = touches.slice(); + e.changedTouches = [e]; + + handler(e); + } + + obj[pre + 'touchmove' + id] = cb; + obj.addEventListener(this.POINTER_MOVE, cb, false); + + return this; + }, + + addPointerListenerEnd: function (obj, type, handler, id) { + var pre = '_leaflet_', + touches = this._pointers; + + var cb = function (e) { + for (var i = 0; i < touches.length; i++) { + if (touches[i].pointerId === e.pointerId) { + touches.splice(i, 1); + break; + } + } + + e.touches = touches.slice(); + e.changedTouches = [e]; + + handler(e); + }; + + obj[pre + 'touchend' + id] = cb; + obj.addEventListener(this.POINTER_UP, cb, false); + obj.addEventListener(this.POINTER_CANCEL, cb, false); + + return this; + }, + + removePointerListener: function (obj, type, id) { + var pre = '_leaflet_', + cb = obj[pre + type + id]; + + switch (type) { + case 'touchstart': + obj.removeEventListener(this.POINTER_DOWN, cb, false); + break; + case 'touchmove': + obj.removeEventListener(this.POINTER_MOVE, cb, false); + break; + case 'touchend': + obj.removeEventListener(this.POINTER_UP, cb, false); + obj.removeEventListener(this.POINTER_CANCEL, cb, false); + break; + } + + return this; + } +}); + + +/* + * L.Handler.TouchZoom is used by L.Map to add pinch zoom on supported mobile browsers. + */ + +L.Map.mergeOptions({ + touchZoom: L.Browser.touch && !L.Browser.android23, + bounceAtZoomLimits: true +}); + +L.Map.TouchZoom = L.Handler.extend({ + addHooks: function () { + L.DomEvent.on(this._map._container, 'touchstart', this._onTouchStart, this); + }, + + removeHooks: function () { + L.DomEvent.off(this._map._container, 'touchstart', this._onTouchStart, this); + }, + + _onTouchStart: function (e) { + var map = this._map; + + if (!e.touches || e.touches.length !== 2 || map._animatingZoom || this._zooming) { return; } + + var p1 = map.mouseEventToLayerPoint(e.touches[0]), + p2 = map.mouseEventToLayerPoint(e.touches[1]), + viewCenter = map._getCenterLayerPoint(); + + this._startCenter = p1.add(p2)._divideBy(2); + this._startDist = p1.distanceTo(p2); + + this._moved = false; + this._zooming = true; + + this._centerOffset = viewCenter.subtract(this._startCenter); + + if (map._panAnim) { + map._panAnim.stop(); + } + + L.DomEvent + .on(document, 'touchmove', this._onTouchMove, this) + .on(document, 'touchend', this._onTouchEnd, this); + + L.DomEvent.preventDefault(e); + }, + + _onTouchMove: function (e) { + var map = this._map; + + if (!e.touches || e.touches.length !== 2 || !this._zooming) { return; } + + var p1 = map.mouseEventToLayerPoint(e.touches[0]), + p2 = map.mouseEventToLayerPoint(e.touches[1]); + + this._scale = p1.distanceTo(p2) / this._startDist; + this._delta = p1._add(p2)._divideBy(2)._subtract(this._startCenter); + + if (this._scale === 1) { return; } + + if (!map.options.bounceAtZoomLimits) { + if ((map.getZoom() === map.getMinZoom() && this._scale < 1) || + (map.getZoom() === map.getMaxZoom() && this._scale > 1)) { return; } + } + + if (!this._moved) { + L.DomUtil.addClass(map._mapPane, 'leaflet-touching'); + + map + .fire('movestart') + .fire('zoomstart'); + + this._moved = true; + } + + L.Util.cancelAnimFrame(this._animRequest); + this._animRequest = L.Util.requestAnimFrame( + this._updateOnMove, this, true, this._map._container); + + L.DomEvent.preventDefault(e); + }, + + _updateOnMove: function () { + var map = this._map, + origin = this._getScaleOrigin(), + center = map.layerPointToLatLng(origin), + zoom = map.getScaleZoom(this._scale); + + map._animateZoom(center, zoom, this._startCenter, this._scale, this._delta, false, true); + }, + + _onTouchEnd: function () { + if (!this._moved || !this._zooming) { + this._zooming = false; + return; + } + + var map = this._map; + + this._zooming = false; + L.DomUtil.removeClass(map._mapPane, 'leaflet-touching'); + L.Util.cancelAnimFrame(this._animRequest); + + L.DomEvent + .off(document, 'touchmove', this._onTouchMove) + .off(document, 'touchend', this._onTouchEnd); + + var origin = this._getScaleOrigin(), + center = map.layerPointToLatLng(origin), + + oldZoom = map.getZoom(), + floatZoomDelta = map.getScaleZoom(this._scale) - oldZoom, + roundZoomDelta = (floatZoomDelta > 0 ? + Math.ceil(floatZoomDelta) : Math.floor(floatZoomDelta)), + + zoom = map._limitZoom(oldZoom + roundZoomDelta), + scale = map.getZoomScale(zoom) / this._scale; + + map._animateZoom(center, zoom, origin, scale); + }, + + _getScaleOrigin: function () { + var centerOffset = this._centerOffset.subtract(this._delta).divideBy(this._scale); + return this._startCenter.add(centerOffset); + } +}); + +L.Map.addInitHook('addHandler', 'touchZoom', L.Map.TouchZoom); + + +/* + * L.Map.Tap is used to enable mobile hacks like quick taps and long hold. + */ + +L.Map.mergeOptions({ + tap: true, + tapTolerance: 15 +}); + +L.Map.Tap = L.Handler.extend({ + addHooks: function () { + L.DomEvent.on(this._map._container, 'touchstart', this._onDown, this); + }, + + removeHooks: function () { + L.DomEvent.off(this._map._container, 'touchstart', this._onDown, this); + }, + + _onDown: function (e) { + if (!e.touches) { return; } + + L.DomEvent.preventDefault(e); + + this._fireClick = true; + + // don't simulate click or track longpress if more than 1 touch + if (e.touches.length > 1) { + this._fireClick = false; + clearTimeout(this._holdTimeout); + return; + } + + var first = e.touches[0], + el = first.target; + + this._startPos = this._newPos = new L.Point(first.clientX, first.clientY); + + // if touching a link, highlight it + if (el.tagName && el.tagName.toLowerCase() === 'a') { + L.DomUtil.addClass(el, 'leaflet-active'); + } + + // simulate long hold but setting a timeout + this._holdTimeout = setTimeout(L.bind(function () { + if (this._isTapValid()) { + this._fireClick = false; + this._onUp(); + this._simulateEvent('contextmenu', first); + } + }, this), 1000); + + L.DomEvent + .on(document, 'touchmove', this._onMove, this) + .on(document, 'touchend', this._onUp, this); + }, + + _onUp: function (e) { + clearTimeout(this._holdTimeout); + + L.DomEvent + .off(document, 'touchmove', this._onMove, this) + .off(document, 'touchend', this._onUp, this); + + if (this._fireClick && e && e.changedTouches) { + + var first = e.changedTouches[0], + el = first.target; + + if (el && el.tagName && el.tagName.toLowerCase() === 'a') { + L.DomUtil.removeClass(el, 'leaflet-active'); + } + + // simulate click if the touch didn't move too much + if (this._isTapValid()) { + this._simulateEvent('click', first); + } + } + }, + + _isTapValid: function () { + return this._newPos.distanceTo(this._startPos) <= this._map.options.tapTolerance; + }, + + _onMove: function (e) { + var first = e.touches[0]; + this._newPos = new L.Point(first.clientX, first.clientY); + }, + + _simulateEvent: function (type, e) { + var simulatedEvent = document.createEvent('MouseEvents'); + + simulatedEvent._simulated = true; + e.target._simulatedClick = true; + + simulatedEvent.initMouseEvent( + type, true, true, window, 1, + e.screenX, e.screenY, + e.clientX, e.clientY, + false, false, false, false, 0, null); + + e.target.dispatchEvent(simulatedEvent); + } +}); + +if (L.Browser.touch && !L.Browser.pointer) { + L.Map.addInitHook('addHandler', 'tap', L.Map.Tap); +} + + +/* + * L.Handler.ShiftDragZoom is used to add shift-drag zoom interaction to the map + * (zoom to a selected bounding box), enabled by default. + */ + +L.Map.mergeOptions({ + boxZoom: true +}); + +L.Map.BoxZoom = L.Handler.extend({ + initialize: function (map) { + this._map = map; + this._container = map._container; + this._pane = map._panes.overlayPane; + this._moved = false; + }, + + addHooks: function () { + L.DomEvent.on(this._container, 'mousedown', this._onMouseDown, this); + }, + + removeHooks: function () { + L.DomEvent.off(this._container, 'mousedown', this._onMouseDown); + this._moved = false; + }, + + moved: function () { + return this._moved; + }, + + _onMouseDown: function (e) { + this._moved = false; + + if (!e.shiftKey || ((e.which !== 1) && (e.button !== 1))) { return false; } + + L.DomUtil.disableTextSelection(); + L.DomUtil.disableImageDrag(); + + this._startLayerPoint = this._map.mouseEventToLayerPoint(e); + + L.DomEvent + .on(document, 'mousemove', this._onMouseMove, this) + .on(document, 'mouseup', this._onMouseUp, this) + .on(document, 'keydown', this._onKeyDown, this); + }, + + _onMouseMove: function (e) { + if (!this._moved) { + this._box = L.DomUtil.create('div', 'leaflet-zoom-box', this._pane); + L.DomUtil.setPosition(this._box, this._startLayerPoint); + + //TODO refactor: move cursor to styles + this._container.style.cursor = 'crosshair'; + this._map.fire('boxzoomstart'); + } + + var startPoint = this._startLayerPoint, + box = this._box, + + layerPoint = this._map.mouseEventToLayerPoint(e), + offset = layerPoint.subtract(startPoint), + + newPos = new L.Point( + Math.min(layerPoint.x, startPoint.x), + Math.min(layerPoint.y, startPoint.y)); + + L.DomUtil.setPosition(box, newPos); + + this._moved = true; + + // TODO refactor: remove hardcoded 4 pixels + box.style.width = (Math.max(0, Math.abs(offset.x) - 4)) + 'px'; + box.style.height = (Math.max(0, Math.abs(offset.y) - 4)) + 'px'; + }, + + _finish: function () { + if (this._moved) { + this._pane.removeChild(this._box); + this._container.style.cursor = ''; + } + + L.DomUtil.enableTextSelection(); + L.DomUtil.enableImageDrag(); + + L.DomEvent + .off(document, 'mousemove', this._onMouseMove) + .off(document, 'mouseup', this._onMouseUp) + .off(document, 'keydown', this._onKeyDown); + }, + + _onMouseUp: function (e) { + + this._finish(); + + var map = this._map, + layerPoint = map.mouseEventToLayerPoint(e); + + if (this._startLayerPoint.equals(layerPoint)) { return; } + + var bounds = new L.LatLngBounds( + map.layerPointToLatLng(this._startLayerPoint), + map.layerPointToLatLng(layerPoint)); + + map.fitBounds(bounds); + + map.fire('boxzoomend', { + boxZoomBounds: bounds + }); + }, + + _onKeyDown: function (e) { + if (e.keyCode === 27) { + this._finish(); + } + } +}); + +L.Map.addInitHook('addHandler', 'boxZoom', L.Map.BoxZoom); + + +/* + * L.Map.Keyboard is handling keyboard interaction with the map, enabled by default. + */ + +L.Map.mergeOptions({ + keyboard: true, + keyboardPanOffset: 80, + keyboardZoomOffset: 1 +}); + +L.Map.Keyboard = L.Handler.extend({ + + keyCodes: { + left: [37], + right: [39], + down: [40], + up: [38], + zoomIn: [187, 107, 61, 171], + zoomOut: [189, 109, 173] + }, + + initialize: function (map) { + this._map = map; + + this._setPanOffset(map.options.keyboardPanOffset); + this._setZoomOffset(map.options.keyboardZoomOffset); + }, + + addHooks: function () { + var container = this._map._container; + + // make the container focusable by tabbing + if (container.tabIndex === -1) { + container.tabIndex = '0'; + } + + L.DomEvent + .on(container, 'focus', this._onFocus, this) + .on(container, 'blur', this._onBlur, this) + .on(container, 'mousedown', this._onMouseDown, this); + + this._map + .on('focus', this._addHooks, this) + .on('blur', this._removeHooks, this); + }, + + removeHooks: function () { + this._removeHooks(); + + var container = this._map._container; + + L.DomEvent + .off(container, 'focus', this._onFocus, this) + .off(container, 'blur', this._onBlur, this) + .off(container, 'mousedown', this._onMouseDown, this); + + this._map + .off('focus', this._addHooks, this) + .off('blur', this._removeHooks, this); + }, + + _onMouseDown: function () { + if (this._focused) { return; } + + var body = document.body, + docEl = document.documentElement, + top = body.scrollTop || docEl.scrollTop, + left = body.scrollLeft || docEl.scrollLeft; + + this._map._container.focus(); + + window.scrollTo(left, top); + }, + + _onFocus: function () { + this._focused = true; + this._map.fire('focus'); + }, + + _onBlur: function () { + this._focused = false; + this._map.fire('blur'); + }, + + _setPanOffset: function (pan) { + var keys = this._panKeys = {}, + codes = this.keyCodes, + i, len; + + for (i = 0, len = codes.left.length; i < len; i++) { + keys[codes.left[i]] = [-1 * pan, 0]; + } + for (i = 0, len = codes.right.length; i < len; i++) { + keys[codes.right[i]] = [pan, 0]; + } + for (i = 0, len = codes.down.length; i < len; i++) { + keys[codes.down[i]] = [0, pan]; + } + for (i = 0, len = codes.up.length; i < len; i++) { + keys[codes.up[i]] = [0, -1 * pan]; + } + }, + + _setZoomOffset: function (zoom) { + var keys = this._zoomKeys = {}, + codes = this.keyCodes, + i, len; + + for (i = 0, len = codes.zoomIn.length; i < len; i++) { + keys[codes.zoomIn[i]] = zoom; + } + for (i = 0, len = codes.zoomOut.length; i < len; i++) { + keys[codes.zoomOut[i]] = -zoom; + } + }, + + _addHooks: function () { + L.DomEvent.on(document, 'keydown', this._onKeyDown, this); + }, + + _removeHooks: function () { + L.DomEvent.off(document, 'keydown', this._onKeyDown, this); + }, + + _onKeyDown: function (e) { + var key = e.keyCode, + map = this._map; + + if (key in this._panKeys) { + + if (map._panAnim && map._panAnim._inProgress) { return; } + + map.panBy(this._panKeys[key]); + + if (map.options.maxBounds) { + map.panInsideBounds(map.options.maxBounds); + } + + } else if (key in this._zoomKeys) { + map.setZoom(map.getZoom() + this._zoomKeys[key]); + + } else { + return; + } + + L.DomEvent.stop(e); + } +}); + +L.Map.addInitHook('addHandler', 'keyboard', L.Map.Keyboard); + + +/* + * L.Handler.MarkerDrag is used internally by L.Marker to make the markers draggable. + */ + +L.Handler.MarkerDrag = L.Handler.extend({ + initialize: function (marker) { + this._marker = marker; + }, + + addHooks: function () { + var icon = this._marker._icon; + if (!this._draggable) { + this._draggable = new L.Draggable(icon, icon); + } + + this._draggable + .on('dragstart', this._onDragStart, this) + .on('drag', this._onDrag, this) + .on('dragend', this._onDragEnd, this); + this._draggable.enable(); + L.DomUtil.addClass(this._marker._icon, 'leaflet-marker-draggable'); + }, + + removeHooks: function () { + this._draggable + .off('dragstart', this._onDragStart, this) + .off('drag', this._onDrag, this) + .off('dragend', this._onDragEnd, this); + + this._draggable.disable(); + L.DomUtil.removeClass(this._marker._icon, 'leaflet-marker-draggable'); + }, + + moved: function () { + return this._draggable && this._draggable._moved; + }, + + _onDragStart: function () { + this._marker + .closePopup() + .fire('movestart') + .fire('dragstart'); + }, + + _onDrag: function () { + var marker = this._marker, + shadow = marker._shadow, + iconPos = L.DomUtil.getPosition(marker._icon), + latlng = marker._map.layerPointToLatLng(iconPos); + + // update shadow position + if (shadow) { + L.DomUtil.setPosition(shadow, iconPos); + } + + marker._latlng = latlng; + + marker + .fire('move', {latlng: latlng}) + .fire('drag'); + }, + + _onDragEnd: function (e) { + this._marker + .fire('moveend') + .fire('dragend', e); + } +}); + + +/* + * L.Control is a base class for implementing map controls. Handles positioning. + * All other controls extend from this class. + */ + +L.Control = L.Class.extend({ + options: { + position: 'topright' + }, + + initialize: function (options) { + L.setOptions(this, options); + }, + + getPosition: function () { + return this.options.position; + }, + + setPosition: function (position) { + var map = this._map; + + if (map) { + map.removeControl(this); + } + + this.options.position = position; + + if (map) { + map.addControl(this); + } + + return this; + }, + + getContainer: function () { + return this._container; + }, + + addTo: function (map) { + this._map = map; + + var container = this._container = this.onAdd(map), + pos = this.getPosition(), + corner = map._controlCorners[pos]; + + L.DomUtil.addClass(container, 'leaflet-control'); + + if (pos.indexOf('bottom') !== -1) { + corner.insertBefore(container, corner.firstChild); + } else { + corner.appendChild(container); + } + + return this; + }, + + removeFrom: function (map) { + var pos = this.getPosition(), + corner = map._controlCorners[pos]; + + corner.removeChild(this._container); + this._map = null; + + if (this.onRemove) { + this.onRemove(map); + } + + return this; + }, + + _refocusOnMap: function () { + if (this._map) { + this._map.getContainer().focus(); + } + } +}); + +L.control = function (options) { + return new L.Control(options); +}; + + +// adds control-related methods to L.Map + +L.Map.include({ + addControl: function (control) { + control.addTo(this); + return this; + }, + + removeControl: function (control) { + control.removeFrom(this); + return this; + }, + + _initControlPos: function () { + var corners = this._controlCorners = {}, + l = 'leaflet-', + container = this._controlContainer = + L.DomUtil.create('div', l + 'control-container', this._container); + + function createCorner(vSide, hSide) { + var className = l + vSide + ' ' + l + hSide; + + corners[vSide + hSide] = L.DomUtil.create('div', className, container); + } + + createCorner('top', 'left'); + createCorner('top', 'right'); + createCorner('bottom', 'left'); + createCorner('bottom', 'right'); + }, + + _clearControlPos: function () { + this._container.removeChild(this._controlContainer); + } +}); + + +/* + * L.Control.Zoom is used for the default zoom buttons on the map. + */ + +L.Control.Zoom = L.Control.extend({ + options: { + position: 'topleft', + zoomInText: '+', + zoomInTitle: 'Zoom in', + zoomOutText: '-', + zoomOutTitle: 'Zoom out' + }, + + onAdd: function (map) { + var zoomName = 'leaflet-control-zoom', + container = L.DomUtil.create('div', zoomName + ' leaflet-bar'); + + this._map = map; + + this._zoomInButton = this._createButton( + this.options.zoomInText, this.options.zoomInTitle, + zoomName + '-in', container, this._zoomIn, this); + this._zoomOutButton = this._createButton( + this.options.zoomOutText, this.options.zoomOutTitle, + zoomName + '-out', container, this._zoomOut, this); + + this._updateDisabled(); + map.on('zoomend zoomlevelschange', this._updateDisabled, this); + + return container; + }, + + onRemove: function (map) { + map.off('zoomend zoomlevelschange', this._updateDisabled, this); + }, + + _zoomIn: function (e) { + this._map.zoomIn(e.shiftKey ? 3 : 1); + }, + + _zoomOut: function (e) { + this._map.zoomOut(e.shiftKey ? 3 : 1); + }, + + _createButton: function (html, title, className, container, fn, context) { + var link = L.DomUtil.create('a', className, container); + link.innerHTML = html; + link.href = '#'; + link.title = title; + + var stop = L.DomEvent.stopPropagation; + + L.DomEvent + .on(link, 'click', stop) + .on(link, 'mousedown', stop) + .on(link, 'dblclick', stop) + .on(link, 'click', L.DomEvent.preventDefault) + .on(link, 'click', fn, context) + .on(link, 'click', this._refocusOnMap, context); + + return link; + }, + + _updateDisabled: function () { + var map = this._map, + className = 'leaflet-disabled'; + + L.DomUtil.removeClass(this._zoomInButton, className); + L.DomUtil.removeClass(this._zoomOutButton, className); + + if (map._zoom === map.getMinZoom()) { + L.DomUtil.addClass(this._zoomOutButton, className); + } + if (map._zoom === map.getMaxZoom()) { + L.DomUtil.addClass(this._zoomInButton, className); + } + } +}); + +L.Map.mergeOptions({ + zoomControl: true +}); + +L.Map.addInitHook(function () { + if (this.options.zoomControl) { + this.zoomControl = new L.Control.Zoom(); + this.addControl(this.zoomControl); + } +}); + +L.control.zoom = function (options) { + return new L.Control.Zoom(options); +}; + + + +/* + * L.Control.Attribution is used for displaying attribution on the map (added by default). + */ + +L.Control.Attribution = L.Control.extend({ + options: { + position: 'bottomright', + prefix: 'Leaflet' + }, + + initialize: function (options) { + L.setOptions(this, options); + + this._attributions = {}; + }, + + onAdd: function (map) { + this._container = L.DomUtil.create('div', 'leaflet-control-attribution'); + L.DomEvent.disableClickPropagation(this._container); + + for (var i in map._layers) { + if (map._layers[i].getAttribution) { + this.addAttribution(map._layers[i].getAttribution()); + } + } + + map + .on('layeradd', this._onLayerAdd, this) + .on('layerremove', this._onLayerRemove, this); + + this._update(); + + return this._container; + }, + + onRemove: function (map) { + map + .off('layeradd', this._onLayerAdd) + .off('layerremove', this._onLayerRemove); + + }, + + setPrefix: function (prefix) { + this.options.prefix = prefix; + this._update(); + return this; + }, + + addAttribution: function (text) { + if (!text) { return; } + + if (!this._attributions[text]) { + this._attributions[text] = 0; + } + this._attributions[text]++; + + this._update(); + + return this; + }, + + removeAttribution: function (text) { + if (!text) { return; } + + if (this._attributions[text]) { + this._attributions[text]--; + this._update(); + } + + return this; + }, + + _update: function () { + if (!this._map) { return; } + + var attribs = []; + + for (var i in this._attributions) { + if (this._attributions[i]) { + attribs.push(i); + } + } + + var prefixAndAttribs = []; + + if (this.options.prefix) { + prefixAndAttribs.push(this.options.prefix); + } + if (attribs.length) { + prefixAndAttribs.push(attribs.join(', ')); + } + + this._container.innerHTML = prefixAndAttribs.join(' | '); + }, + + _onLayerAdd: function (e) { + if (e.layer.getAttribution) { + this.addAttribution(e.layer.getAttribution()); + } + }, + + _onLayerRemove: function (e) { + if (e.layer.getAttribution) { + this.removeAttribution(e.layer.getAttribution()); + } + } +}); + +L.Map.mergeOptions({ + attributionControl: true +}); + +L.Map.addInitHook(function () { + if (this.options.attributionControl) { + this.attributionControl = (new L.Control.Attribution()).addTo(this); + } +}); + +L.control.attribution = function (options) { + return new L.Control.Attribution(options); +}; + + +/* + * L.Control.Scale is used for displaying metric/imperial scale on the map. + */ + +L.Control.Scale = L.Control.extend({ + options: { + position: 'bottomleft', + maxWidth: 100, + metric: true, + imperial: true, + updateWhenIdle: false + }, + + onAdd: function (map) { + this._map = map; + + var className = 'leaflet-control-scale', + container = L.DomUtil.create('div', className), + options = this.options; + + this._addScales(options, className, container); + + map.on(options.updateWhenIdle ? 'moveend' : 'move', this._update, this); + map.whenReady(this._update, this); + + return container; + }, + + onRemove: function (map) { + map.off(this.options.updateWhenIdle ? 'moveend' : 'move', this._update, this); + }, + + _addScales: function (options, className, container) { + if (options.metric) { + this._mScale = L.DomUtil.create('div', className + '-line', container); + } + if (options.imperial) { + this._iScale = L.DomUtil.create('div', className + '-line', container); + } + }, + + _update: function () { + var bounds = this._map.getBounds(), + centerLat = bounds.getCenter().lat, + halfWorldMeters = 6378137 * Math.PI * Math.cos(centerLat * Math.PI / 180), + dist = halfWorldMeters * (bounds.getNorthEast().lng - bounds.getSouthWest().lng) / 180, + + size = this._map.getSize(), + options = this.options, + maxMeters = 0; + + if (size.x > 0) { + maxMeters = dist * (options.maxWidth / size.x); + } + + this._updateScales(options, maxMeters); + }, + + _updateScales: function (options, maxMeters) { + if (options.metric && maxMeters) { + this._updateMetric(maxMeters); + } + + if (options.imperial && maxMeters) { + this._updateImperial(maxMeters); + } + }, + + _updateMetric: function (maxMeters) { + var meters = this._getRoundNum(maxMeters); + + this._mScale.style.width = this._getScaleWidth(meters / maxMeters) + 'px'; + this._mScale.innerHTML = meters < 1000 ? meters + ' m' : (meters / 1000) + ' km'; + }, + + _updateImperial: function (maxMeters) { + var maxFeet = maxMeters * 3.2808399, + scale = this._iScale, + maxMiles, miles, feet; + + if (maxFeet > 5280) { + maxMiles = maxFeet / 5280; + miles = this._getRoundNum(maxMiles); + + scale.style.width = this._getScaleWidth(miles / maxMiles) + 'px'; + scale.innerHTML = miles + ' mi'; + + } else { + feet = this._getRoundNum(maxFeet); + + scale.style.width = this._getScaleWidth(feet / maxFeet) + 'px'; + scale.innerHTML = feet + ' ft'; + } + }, + + _getScaleWidth: function (ratio) { + return Math.round(this.options.maxWidth * ratio) - 10; + }, + + _getRoundNum: function (num) { + var pow10 = Math.pow(10, (Math.floor(num) + '').length - 1), + d = num / pow10; + + d = d >= 10 ? 10 : d >= 5 ? 5 : d >= 3 ? 3 : d >= 2 ? 2 : 1; + + return pow10 * d; + } +}); + +L.control.scale = function (options) { + return new L.Control.Scale(options); +}; + + +/* + * L.Control.Layers is a control to allow users to switch between different layers on the map. + */ + +L.Control.Layers = L.Control.extend({ + options: { + collapsed: true, + position: 'topright', + autoZIndex: true + }, + + initialize: function (baseLayers, overlays, options) { + L.setOptions(this, options); + + this._layers = {}; + this._lastZIndex = 0; + this._handlingClick = false; + + for (var i in baseLayers) { + this._addLayer(baseLayers[i], i); + } + + for (i in overlays) { + this._addLayer(overlays[i], i, true); + } + }, + + onAdd: function (map) { + this._initLayout(); + this._update(); + + map + .on('layeradd', this._onLayerChange, this) + .on('layerremove', this._onLayerChange, this); + + return this._container; + }, + + onRemove: function (map) { + map + .off('layeradd', this._onLayerChange, this) + .off('layerremove', this._onLayerChange, this); + }, + + addBaseLayer: function (layer, name) { + this._addLayer(layer, name); + this._update(); + return this; + }, + + addOverlay: function (layer, name) { + this._addLayer(layer, name, true); + this._update(); + return this; + }, + + removeLayer: function (layer) { + var id = L.stamp(layer); + delete this._layers[id]; + this._update(); + return this; + }, + + _initLayout: function () { + var className = 'leaflet-control-layers', + container = this._container = L.DomUtil.create('div', className); + + //Makes this work on IE10 Touch devices by stopping it from firing a mouseout event when the touch is released + container.setAttribute('aria-haspopup', true); + + if (!L.Browser.touch) { + L.DomEvent + .disableClickPropagation(container) + .disableScrollPropagation(container); + } else { + L.DomEvent.on(container, 'click', L.DomEvent.stopPropagation); + } + + var form = this._form = L.DomUtil.create('form', className + '-list'); + + if (this.options.collapsed) { + if (!L.Browser.android) { + L.DomEvent + .on(container, 'mouseover', this._expand, this) + .on(container, 'mouseout', this._collapse, this); + } + var link = this._layersLink = L.DomUtil.create('a', className + '-toggle', container); + link.href = '#'; + link.title = 'Layers'; + + if (L.Browser.touch) { + L.DomEvent + .on(link, 'click', L.DomEvent.stop) + .on(link, 'click', this._expand, this); + } + else { + L.DomEvent.on(link, 'focus', this._expand, this); + } + //Work around for Firefox android issue https://github.com/Leaflet/Leaflet/issues/2033 + L.DomEvent.on(form, 'click', function () { + setTimeout(L.bind(this._onInputClick, this), 0); + }, this); + + this._map.on('click', this._collapse, this); + // TODO keyboard accessibility + } else { + this._expand(); + } + + this._baseLayersList = L.DomUtil.create('div', className + '-base', form); + this._separator = L.DomUtil.create('div', className + '-separator', form); + this._overlaysList = L.DomUtil.create('div', className + '-overlays', form); + + container.appendChild(form); + }, + + _addLayer: function (layer, name, overlay) { + var id = L.stamp(layer); + + this._layers[id] = { + layer: layer, + name: name, + overlay: overlay + }; + + if (this.options.autoZIndex && layer.setZIndex) { + this._lastZIndex++; + layer.setZIndex(this._lastZIndex); + } + }, + + _update: function () { + if (!this._container) { + return; + } + + this._baseLayersList.innerHTML = ''; + this._overlaysList.innerHTML = ''; + + var baseLayersPresent = false, + overlaysPresent = false, + i, obj; + + for (i in this._layers) { + obj = this._layers[i]; + this._addItem(obj); + overlaysPresent = overlaysPresent || obj.overlay; + baseLayersPresent = baseLayersPresent || !obj.overlay; + } + + this._separator.style.display = overlaysPresent && baseLayersPresent ? '' : 'none'; + }, + + _onLayerChange: function (e) { + var obj = this._layers[L.stamp(e.layer)]; + + if (!obj) { return; } + + if (!this._handlingClick) { + this._update(); + } + + var type = obj.overlay ? + (e.type === 'layeradd' ? 'overlayadd' : 'overlayremove') : + (e.type === 'layeradd' ? 'baselayerchange' : null); + + if (type) { + this._map.fire(type, obj); + } + }, + + // IE7 bugs out if you create a radio dynamically, so you have to do it this hacky way (see http://bit.ly/PqYLBe) + _createRadioElement: function (name, checked) { + + var radioHtml = '= 0) { + this._onZoomTransitionEnd(); + } + }, + + _nothingToAnimate: function () { + return !this._container.getElementsByClassName('leaflet-zoom-animated').length; + }, + + _tryAnimatedZoom: function (center, zoom, options) { + + if (this._animatingZoom) { return true; } + + options = options || {}; + + // don't animate if disabled, not supported or zoom difference is too large + if (!this._zoomAnimated || options.animate === false || this._nothingToAnimate() || + Math.abs(zoom - this._zoom) > this.options.zoomAnimationThreshold) { return false; } + + // offset is the pixel coords of the zoom origin relative to the current center + var scale = this.getZoomScale(zoom), + offset = this._getCenterOffset(center)._divideBy(1 - 1 / scale), + origin = this._getCenterLayerPoint()._add(offset); + + // don't animate if the zoom origin isn't within one screen from the current center, unless forced + if (options.animate !== true && !this.getSize().contains(offset)) { return false; } + + this + .fire('movestart') + .fire('zoomstart'); + + this._animateZoom(center, zoom, origin, scale, null, true); + + return true; + }, + + _animateZoom: function (center, zoom, origin, scale, delta, backwards, forTouchZoom) { + + if (!forTouchZoom) { + this._animatingZoom = true; + } + + // put transform transition on all layers with leaflet-zoom-animated class + L.DomUtil.addClass(this._mapPane, 'leaflet-zoom-anim'); + + // remember what center/zoom to set after animation + this._animateToCenter = center; + this._animateToZoom = zoom; + + // disable any dragging during animation + if (L.Draggable) { + L.Draggable._disabled = true; + } + + L.Util.requestAnimFrame(function () { + this.fire('zoomanim', { + center: center, + zoom: zoom, + origin: origin, + scale: scale, + delta: delta, + backwards: backwards + }); + // horrible hack to work around a Chrome bug https://github.com/Leaflet/Leaflet/issues/3689 + setTimeout(L.bind(this._onZoomTransitionEnd, this), 250); + }, this); + }, + + _onZoomTransitionEnd: function () { + if (!this._animatingZoom) { return; } + + this._animatingZoom = false; + + L.DomUtil.removeClass(this._mapPane, 'leaflet-zoom-anim'); + + L.Util.requestAnimFrame(function () { + this._resetView(this._animateToCenter, this._animateToZoom, true, true); + + if (L.Draggable) { + L.Draggable._disabled = false; + } + }, this); + } +}); + + +/* + Zoom animation logic for L.TileLayer. +*/ + +L.TileLayer.include({ + _animateZoom: function (e) { + if (!this._animating) { + this._animating = true; + this._prepareBgBuffer(); + } + + var bg = this._bgBuffer, + transform = L.DomUtil.TRANSFORM, + initialTransform = e.delta ? L.DomUtil.getTranslateString(e.delta) : bg.style[transform], + scaleStr = L.DomUtil.getScaleString(e.scale, e.origin); + + bg.style[transform] = e.backwards ? + scaleStr + ' ' + initialTransform : + initialTransform + ' ' + scaleStr; + }, + + _endZoomAnim: function () { + var front = this._tileContainer, + bg = this._bgBuffer; + + front.style.visibility = ''; + front.parentNode.appendChild(front); // Bring to fore + + // force reflow + L.Util.falseFn(bg.offsetWidth); + + var zoom = this._map.getZoom(); + if (zoom > this.options.maxZoom || zoom < this.options.minZoom) { + this._clearBgBuffer(); + } + + this._animating = false; + }, + + _clearBgBuffer: function () { + var map = this._map; + + if (map && !map._animatingZoom && !map.touchZoom._zooming) { + this._bgBuffer.innerHTML = ''; + this._bgBuffer.style[L.DomUtil.TRANSFORM] = ''; + } + }, + + _prepareBgBuffer: function () { + + var front = this._tileContainer, + bg = this._bgBuffer; + + // if foreground layer doesn't have many tiles but bg layer does, + // keep the existing bg layer and just zoom it some more + + var bgLoaded = this._getLoadedTilesPercentage(bg), + frontLoaded = this._getLoadedTilesPercentage(front); + + if (bg && bgLoaded > 0.5 && frontLoaded < 0.5) { + + front.style.visibility = 'hidden'; + this._stopLoadingImages(front); + return; + } + + // prepare the buffer to become the front tile pane + bg.style.visibility = 'hidden'; + bg.style[L.DomUtil.TRANSFORM] = ''; + + // switch out the current layer to be the new bg layer (and vice-versa) + this._tileContainer = bg; + bg = this._bgBuffer = front; + + this._stopLoadingImages(bg); + + //prevent bg buffer from clearing right after zoom + clearTimeout(this._clearBgBufferTimer); + }, + + _getLoadedTilesPercentage: function (container) { + var tiles = container.getElementsByTagName('img'), + i, len, count = 0; + + for (i = 0, len = tiles.length; i < len; i++) { + if (tiles[i].complete) { + count++; + } + } + return count / len; + }, + + // stops loading all tiles in the background layer + _stopLoadingImages: function (container) { + var tiles = Array.prototype.slice.call(container.getElementsByTagName('img')), + i, len, tile; + + for (i = 0, len = tiles.length; i < len; i++) { + tile = tiles[i]; + + if (!tile.complete) { + tile.onload = L.Util.falseFn; + tile.onerror = L.Util.falseFn; + tile.src = L.Util.emptyImageUrl; + + tile.parentNode.removeChild(tile); + } + } + } +}); + + +/* + * Provides L.Map with convenient shortcuts for using browser geolocation features. + */ + +L.Map.include({ + _defaultLocateOptions: { + watch: false, + setView: false, + maxZoom: Infinity, + timeout: 10000, + maximumAge: 0, + enableHighAccuracy: false + }, + + locate: function (/*Object*/ options) { + + options = this._locateOptions = L.extend(this._defaultLocateOptions, options); + + if (!navigator.geolocation) { + this._handleGeolocationError({ + code: 0, + message: 'Geolocation not supported.' + }); + return this; + } + + var onResponse = L.bind(this._handleGeolocationResponse, this), + onError = L.bind(this._handleGeolocationError, this); + + if (options.watch) { + this._locationWatchId = + navigator.geolocation.watchPosition(onResponse, onError, options); + } else { + navigator.geolocation.getCurrentPosition(onResponse, onError, options); + } + return this; + }, + + stopLocate: function () { + if (navigator.geolocation) { + navigator.geolocation.clearWatch(this._locationWatchId); + } + if (this._locateOptions) { + this._locateOptions.setView = false; + } + return this; + }, + + _handleGeolocationError: function (error) { + var c = error.code, + message = error.message || + (c === 1 ? 'permission denied' : + (c === 2 ? 'position unavailable' : 'timeout')); + + if (this._locateOptions.setView && !this._loaded) { + this.fitWorld(); + } + + this.fire('locationerror', { + code: c, + message: 'Geolocation error: ' + message + '.' + }); + }, + + _handleGeolocationResponse: function (pos) { + var lat = pos.coords.latitude, + lng = pos.coords.longitude, + latlng = new L.LatLng(lat, lng), + + latAccuracy = 180 * pos.coords.accuracy / 40075017, + lngAccuracy = latAccuracy / Math.cos(L.LatLng.DEG_TO_RAD * lat), + + bounds = L.latLngBounds( + [lat - latAccuracy, lng - lngAccuracy], + [lat + latAccuracy, lng + lngAccuracy]), + + options = this._locateOptions; + + if (options.setView) { + var zoom = Math.min(this.getBoundsZoom(bounds), options.maxZoom); + this.setView(latlng, zoom); + } + + var data = { + latlng: latlng, + bounds: bounds, + timestamp: pos.timestamp + }; + + for (var i in pos.coords) { + if (typeof pos.coords[i] === 'number') { + data[i] = pos.coords[i]; + } + } + + this.fire('locationfound', data); + } +}); + + +}(window, document)); \ No newline at end of file diff --git a/src/Leaflet/widget/Leaflet.js b/src/Leaflet/widget/Leaflet.js new file mode 100644 index 0000000..efddfa0 --- /dev/null +++ b/src/Leaflet/widget/Leaflet.js @@ -0,0 +1,471 @@ +define([ + "dojo/_base/declare", + "mxui/widget/_WidgetBase", + "dijit/_TemplatedMixin", + "dojo/dom-style", + "dojo/dom-construct", + "dojo/_base/array", + "dojo/_base/lang", + "dojo/text!Leaflet/widget/template/Leaflet.html", + // Leaflet + "Leaflet/lib/leaflet-src", + + // Plugins + "Leaflet/lib/leaflet-providers", + "Leaflet/lib/leaflet-locatecontrol", + "Leaflet/lib/leaflet-fullscreen" + +], function (declare, _WidgetBase, _TemplatedMixin, domStyle, domConstruct, dojoArray, lang, widgetTemplate, Leaflet) { + "use strict"; + + var LL = Leaflet.noConflict(); + LL.Icon.Default.imagePath = require.toUrl("Leaflet/widget/ui/").split("?")[0]; + + return declare("Leaflet.widget.Leaflet", [_WidgetBase, _TemplatedMixin], { + + // Template + templateString: widgetTemplate, + + // DOM node + mapContainer: null, + + // Set by modeler + gotocontext: false, + defaultLat: 0, + defaultLng: 0, + minZoom: 0, + maxZoom: 20, + lowestZoom: 10, + updateRefresh: false, + + mapEntity: "", + xpathConstraint: "", + markerDisplayAttr: "", + latAttr: "", + lngAttr: "", + onClickMarkerMf: "", + + mapHeight: "", + mapWidth: "", + markerTemplate: "

{Marker}

", + + mapType: "OpenStreetMap_Mapnik", + customMapType: false, + customMapTypeUrl: "//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", + customMapTypOptions: "{subdomains:'abc'}", + + controlDragging: true, + controlTouchZoom: true, + controlScrollWheelZoom: true, + controlZoomControl: true, + controlZoomControlPosition: "topleft", + controlAttribution: true, + controlAttributionPosition: "bottomright", + controlFullscreen: false, + controlFullscreenPosition: "topright", + + locateControl: false, + locateControlPosition: "topleft", + locateControlDrawCircle: true, + locateControlKeepZoomLevel: false, + + scaleControl: false, + scaleControlPosition: "bottomleft", + scaleControlMetric: true, + scaleControlImperial: true, + scaleControlMaxWidth: 100, + + // Internal variables + _markerCache: [], + _layerGroup: null, + _minZoom: 0, + _maxZoom: 20, + + _defaultPosition: [], + _handle: null, + _contextObj: null, + _map: null, + + postCreate: function () { + logger.debug(this.id + ".postCreate"); + + this._defaultPosition = [ + parseFloat(this.defaultLat), + parseFloat(this.defaultLng) + ]; + + this._minZoom = this.minZoom >= 0 ? this.minZoom : 0; + this._maxZoom = this.maxZoom > this.minZoom ? this.maxZoom : this.minZoom; + + this._layerGroup = new LL.layerGroup(); + }, + + update: function (obj, callback) { + logger.debug(this.id + ".update"); + this._contextObj = obj; + this._resetSubscriptions(); + + if (!this._map) { + this._loadMap(callback); + } else { + this._fetchMarkers(callback); + } + }, + + resize: function (box) { + logger.debug(this.id + ".resize"); + if (this._map) { + this._map.invalidateSize(); + } + }, + + _resetSubscriptions: function () { + logger.debug(this.id + "._resetSubscriptions"); + + if (this._handle) { + logger.debug(this.id + "._resetSubscriptions unsubscribe", this._handle); + this.unsubscribe(this._handle); + this._handle = null; + } + + if (this._contextObj) { + logger.debug(this.id + "._resetSubscriptions subscribe", this._contextObj.getGuid()); + this._handle = this.subscribe({ + guid: this._contextObj.getGuid(), + callback: lang.hitch(this, function (guid) { + this._fetchMarkers(); + }) + }); + } else { + this._handle = this.subscribe({ + entity: this.mapEntity, + callback: lang.hitch(this, function (entity) { + this._fetchMarkers(); + }) + }); + } + }, + + _getMapLayer: function () { + var tileLayer = null; + + if (this.customMapType && this.customMapTypeUrl) { + var options = null; + + try { + options = JSON.parse(this.customMapTypeOptions); + } catch (e) { + console.error(this.id + "._getMapLayer error parsing Custom Map Options: " + e.toString()); + options = {}; + } + + tileLayer = LL.tileLayer(this.customMapTypeUrl, options); + + } else { + var providerName = this.mapType.replace(/_/g, "."); + tileLayer = LL.tileLayer.provider(providerName); + } + + if (tileLayer.options.minZoom < this._minZoom) { + tileLayer.options.minZoom = this._minZoom; + } + + if (tileLayer.options.maxZoom > this._maxZoom) { + tileLayer.options.maxZoom = this._maxZoom; + } + + return tileLayer; + }, + + _loadMap: function (callback) { + logger.debug(this.id + "._loadMap"); + + domStyle.set(this.domNode, { height: this.mapHeight }); + domStyle.set(this.mapContainer, { + height: this.mapHeight, + width: this.mapWidth + }); + + this._map = LL.map(this.mapContainer, { + dragging: this.controlDragging, + touchZoom: this.controlTouchZoom, + scrollWheelZoom: this.controlScrollWheelZoom, + zoomControl: this.controlZoomControl, + attributionControl: this.controlAttribution + }).setView(this._defaultPosition, this.lowestZoom); + + if (this.controlZoomControl) { + this._map.zoomControl.setPosition(this.controlZoomControlPosition); + } + + if (this.controlAttribution) { + this._map.attributionControl.setPosition(this.controlAttributionPosition); + } + + if (this.controlFullscreen) { + LL.control.fullscreen({ + position: "topright", + forceSeparateButton: true + }).addTo(this._map); + } + + if (this.scaleControl) { + LL.control.scale({ + position: this.scaleControlPosition, + maxWidth: this.scaleControlMaxWidth > 0 ? this.scaleControlMaxWidth : 100, + metric: this.scaleControlMetric, + imperial: this.scaleControlImperial + }).addTo(this._map); + } + + if (this.locateControl) { + LL.control.locate({ + position: this.locateControlPosition, + drawCircle: this.locateControlDrawCircle, + keepCurrentZoomLevel: this.locateControlKeepZoomLevel, + icon: "glyphicon glyphicon-screenshot", // Using glyphicons that are part of Mendix + iconLoading: "glyphicon glyphicon-refresh" + }).addTo(this._map); + } + + this._map.addLayer(this._getMapLayer()); + this._map.setZoom(this.lowestZoom); // trigger setzoom to make sure it is rendered + this._layerGroup.addTo(this._map); + + this._fetchMarkers(callback); + }, + + _fetchMarkers: function (callback) { + logger.debug(this.id + "._fetchMarkers"); + if (this.gotocontext) { + this._goToContext(callback); + } else { + if (this.updateRefresh) { + this._fetchFromDB(callback); + } else { + if (this._markerCache) { + this._fetchFromCache(callback); + } else { + this._fetchFromDB(callback); + } + } + } + }, + + _refreshMap: function (objs, callback) { + logger.debug(this.id + "._refreshMap"); + var panPosition = this._defaultPosition, + positions = []; + + dojoArray.forEach(objs, lang.hitch(this, function (obj) { + this._addMarker(obj); + var position = this._getLatLng(obj); + if (position) { + positions.push(position); // reversing lat lng for boundingExtent + panPosition = position; + } else { + logger.error(this.id + ": " + "Incorrect coordinates (" + this.checkAttrForDecimal(obj, this.latAttr) + "," + this.checkAttrForDecimal(obj, this.lngAttr) + ")"); + } + })); + + if (positions.length < 2) { + this._map.setZoom(this.lowestZoom); + this._map.panTo(panPosition); + } else { + this._map.fitBounds(positions); + } + + mendix.lang.nullExec(callback); + }, + + _fetchFromDB: function (callback) { + logger.debug(this.id + "._fetchFromDB"); + var xpath = "//" + this.mapEntity + this.xpathConstraint; + + this._removeAllMarkers(); + + if (this._contextObj) { + xpath = xpath.replace("[%CurrentObject%]", this._contextObj.getGuid()); + mx.data.get({ + xpath: xpath, + callback: lang.hitch(this, function (objs) { + this._refreshMap(objs, callback); + }) + }); + } else if (!this._contextObj && (xpath.indexOf("[%CurrentObject%]") > -1)) { + console.warn("No context for xpath, not fetching."); + if (typeof callback === "function") { + callback(); + } + } else { + mx.data.get({ + xpath: xpath, + callback: lang.hitch(this, function (objs) { + this._refreshMap(objs, callback); + }) + }); + } + }, + + _fetchFromCache: function (callback) { + logger.debug(this.id + "._fetchFromCache"); + var cached = false, + bounds = []; + + this._removeAllMarkers(); + + dojoArray.forEach(this._markerCache, lang.hitch(this, function (markerObj, index) { + if (this._contextObj) { + if (markerObj.id === this._contextObj.getGuid()) { + markerObj.marker.addTo(this._map); + bounds.push(markerObj.loc); + cached = true; + } + } else { + markerObj.marker.addTo(this._map); + } + if (index === this._markerCache.length - 1) { + this._map.fitBounds(bounds); + } + })); + + if (!cached) { + this._fetchFromDB(callback); + } else if (typeof callback === "function") { + callback(); + } + }, + + _removeAllMarkers: function () { + logger.debug(this.id + "._removeAllMarkers"); + if (this._map) { + this._layerGroup.clearLayers(); + } + }, + + _addMarker: function (obj) { + logger.debug(this.id + "._addMarker"); + + var id = this._contextObj ? this._contextObj.getGuid() : null, + lat = parseFloat(this.checkAttrForDecimal(obj, this.latAttr)), + lng = parseFloat(this.checkAttrForDecimal(obj, this.lngAttr)), + loc = [lat, lng], + markerObj = { + context: id, + obj: obj, + marker: null, + loc: loc + }; + + var marker = LL.marker(loc); + + if (this.onClickMarkerMf !== "") { + marker.on("click", lang.hitch(this, function (e) { + this._executeMf(this.onClickMarkerMf, obj); + })); + } + + if (this.markerDisplayAttr) { + var template = this.markerTemplate !== "" ? + this.markerTemplate.replace("{Marker}", obj.get(this.markerDisplayAttr)) : + "

" + obj.get(this.markerDisplayAttr) + "

"; + + marker.bindPopup(template, { + closeButton: false + }); + } + + this._layerGroup.addLayer(marker); + markerObj.marker = marker; + + if (!this._markerCache) { + this._markerCache = []; + } + + var found = false; + dojoArray.forEach(this._markerCache, lang.hitch(this, function (markerObj) { + if (markerObj.obj.getGuid() === obj.getGuid()) { + found = true; + } + })); + + if (!found) { + this._markerCache.push(markerObj); + } + }, + + checkAttrForDecimal: function (obj, attr) { + logger.debug(this.id + ".checkAttrForDecimal"); + if (obj.get(attr) === "Decimal") { + return obj.get(attr).toFixed(5); + } else { + return obj.get(attr); + } + }, + + _getLatLng: function (obj) { + logger.debug(this.id + "._getLatLng"); + var lat = this.checkAttrForDecimal(obj, this.latAttr), + lng = this.checkAttrForDecimal(obj, this.lngAttr); + + if (lat === "" && lng === "") { + return this._defaultPosition; + } else if (!isNaN(lat) && !isNaN(lng) && lat !== "" && lng !== "") { + return [ + parseFloat(lat), + parseFloat(lng) + ]; + } else { + return null; + } + }, + + _goToContext: function (callback) { + logger.debug(this.id + "._goToContext"); + this._removeAllMarkers(); + if (this._map && this._contextObj) { + var objs = []; + if (this._contextObj) { + objs = [ this._contextObj ]; + } else { + logger.error(this.id + "._goToContext: no Context object while you have set \"Pan to context\" in the Modeler! Showing default position"); + } + this._refreshMap(objs, callback); + } else { + mendix.lang.nullExec(callback); + } + }, + + _executeMf: function(mf, obj) { + logger.debug(this.id + "._executeMf"); + if (mf && obj && obj.getGuid()) { + mx.data.action({ + store: { + caller: this.mxform + }, + params: { + guids: [ obj.getGuid() ], + applyto: "selection", + actionname: mf + }, + callback: lang.hitch(this, function() { + logger.debug(this.id + "._executeMf success"); + }), + error: lang.hitch(this, function(e) { + console.error(this.id + "._executeMf failed, error: ", e.toString()); + }) + }); + } + }, + + uninitialize: function () { + logger.debug(this.id + ".uninitialize"); + if (this._map) { + this._map.remove(); + this._markerCache = []; + } + } + }); +}); + +require(["Leaflet/widget/Leaflet"], function() {}); diff --git a/src/Leaflet/widget/template/Leaflet.html b/src/Leaflet/widget/template/Leaflet.html new file mode 100644 index 0000000..99975de --- /dev/null +++ b/src/Leaflet/widget/template/Leaflet.html @@ -0,0 +1,3 @@ +

+
+
diff --git a/src/Leaflet/widget/ui/Leaflet.css b/src/Leaflet/widget/ui/Leaflet.css new file mode 100644 index 0000000..c618483 --- /dev/null +++ b/src/Leaflet/widget/ui/Leaflet.css @@ -0,0 +1,520 @@ +/* required styles */ + +.leaflet-map-pane, +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-tile-pane, +.leaflet-tile-container, +.leaflet-overlay-pane, +.leaflet-shadow-pane, +.leaflet-marker-pane, +.leaflet-popup-pane, +.leaflet-overlay-pane svg, +.leaflet-zoom-box, +.leaflet-image-layer, +.leaflet-layer { + position: absolute; + left: 0; + top: 0; +} +.leaflet-container { + overflow: hidden; + -ms-touch-action: none; + touch-action: none; +} +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; +} +.leaflet-marker-icon, +.leaflet-marker-shadow { + display: block; +} +/* map is broken in FF if you have max-width: 100% on tiles */ +.leaflet-container img { + max-width: none !important; +} +/* stupid Android 2 doesn't understand "max-width: none" properly */ +.leaflet-container img.leaflet-image-layer { + max-width: 15000px !important; +} +.leaflet-tile { + filter: inherit; + visibility: hidden; +} +.leaflet-tile-loaded { + visibility: inherit; +} +.leaflet-zoom-box { + width: 0; + height: 0; +} +/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ +.leaflet-overlay-pane svg { + -moz-user-select: none; +} + +.leaflet-tile-pane { z-index: 2; } +.leaflet-objects-pane { z-index: 3; } +.leaflet-overlay-pane { z-index: 4; } +.leaflet-shadow-pane { z-index: 5; } +.leaflet-marker-pane { z-index: 6; } +.leaflet-popup-pane { z-index: 7; } + +.leaflet-vml-shape { + width: 1px; + height: 1px; +} +.lvml { + behavior: url(#default#VML); + display: inline-block; + position: absolute; +} + + +/* control positioning */ + +.leaflet-control { + position: relative; + z-index: 7; + pointer-events: auto; +} +.leaflet-top, +.leaflet-bottom { + position: absolute; + z-index: 1000; + pointer-events: none; +} +.leaflet-top { + top: 0; +} +.leaflet-right { + right: 0; +} +.leaflet-bottom { + bottom: 0; +} +.leaflet-left { + left: 0; +} +.leaflet-control { + float: left; + clear: both; +} +.leaflet-right .leaflet-control { + float: right; +} +.leaflet-top .leaflet-control { + margin-top: 10px; +} +.leaflet-bottom .leaflet-control { + margin-bottom: 10px; +} +.leaflet-left .leaflet-control { + margin-left: 10px; +} +.leaflet-right .leaflet-control { + margin-right: 10px; +} + + +/* zoom and fade animations */ + +.leaflet-fade-anim .leaflet-tile, +.leaflet-fade-anim .leaflet-popup { + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + -o-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; +} +.leaflet-fade-anim .leaflet-tile-loaded, +.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { + opacity: 1; +} + +.leaflet-zoom-anim .leaflet-zoom-animated { + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); + -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1); + transition: transform 0.25s cubic-bezier(0,0,0.25,1); +} +.leaflet-zoom-anim .leaflet-tile, +.leaflet-pan-anim .leaflet-tile, +.leaflet-touching .leaflet-zoom-animated { + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} + +.leaflet-zoom-anim .leaflet-zoom-hide { + visibility: hidden; +} + + +/* cursors */ + +.leaflet-clickable { + cursor: pointer; +} +.leaflet-container { + cursor: -webkit-grab; + cursor: -moz-grab; +} +.leaflet-popup-pane, +.leaflet-control { + cursor: auto; +} +.leaflet-dragging .leaflet-container, +.leaflet-dragging .leaflet-clickable { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; +} + + +/* visual tweaks */ + +.leaflet-container { + background: #ddd; + outline: 0; +} +.leaflet-container a { + color: #0078A8; +} +.leaflet-container a.leaflet-active { + outline: 2px solid orange; +} +.leaflet-zoom-box { + border: 2px dotted #38f; + background: rgba(255,255,255,0.5); +} + + +/* general typography */ +.leaflet-container { + font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; +} + + +/* general toolbar styles */ + +.leaflet-bar { + box-shadow: 0 1px 5px rgba(0,0,0,0.65); + border-radius: 4px; +} +.leaflet-bar a, +.leaflet-bar a:hover { + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; +} +.leaflet-bar a, +.leaflet-control-layers-toggle { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; +} +.leaflet-bar a:hover { + background-color: #f4f4f4; +} +.leaflet-bar a:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.leaflet-bar a:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; +} +.leaflet-bar a.leaflet-disabled { + cursor: default; + background-color: #f4f4f4; + color: #bbb; +} + +.leaflet-touch .leaflet-bar a { + width: 30px; + height: 30px; + line-height: 30px; +} + + +/* zoom control */ + +.leaflet-control-zoom-in, +.leaflet-control-zoom-out { + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; +} +.leaflet-control-zoom-out { + font-size: 20px; +} + +.leaflet-touch .leaflet-control-zoom-in { + font-size: 22px; +} +.leaflet-touch .leaflet-control-zoom-out { + font-size: 24px; +} + + +/* layers control */ + +.leaflet-control-layers { + box-shadow: 0 1px 5px rgba(0,0,0,0.4); + background: #fff; + border-radius: 5px; +} +.leaflet-control-layers-toggle { + background-image: url(images/layers.png); + width: 36px; + height: 36px; +} +.leaflet-retina .leaflet-control-layers-toggle { + background-image: url(images/layers-2x.png); + background-size: 26px 26px; +} +.leaflet-touch .leaflet-control-layers-toggle { + width: 44px; + height: 44px; +} +.leaflet-control-layers .leaflet-control-layers-list, +.leaflet-control-layers-expanded .leaflet-control-layers-toggle { + display: none; +} +.leaflet-control-layers-expanded .leaflet-control-layers-list { + display: block; + position: relative; +} +.leaflet-control-layers-expanded { + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; +} +.leaflet-control-layers-selector { + margin-top: 2px; + position: relative; + top: 1px; +} +.leaflet-control-layers label { + display: block; +} +.leaflet-control-layers-separator { + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; +} + + +/* attribution and scale controls */ + +.leaflet-container .leaflet-control-attribution { + background: #fff; + background: rgba(255, 255, 255, 0.7); + margin: 0; +} +.leaflet-control-attribution, +.leaflet-control-scale-line { + padding: 0 5px; + color: #333; +} +.leaflet-control-attribution a { + text-decoration: none; +} +.leaflet-control-attribution a:hover { + text-decoration: underline; +} +.leaflet-container .leaflet-control-attribution, +.leaflet-container .leaflet-control-scale { + font-size: 11px; +} +.leaflet-left .leaflet-control-scale { + margin-left: 5px; +} +.leaflet-bottom .leaflet-control-scale { + margin-bottom: 5px; +} +.leaflet-control-scale-line { + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + font-size: 11px; + white-space: nowrap; + overflow: hidden; + -moz-box-sizing: content-box; + box-sizing: content-box; + + background: #fff; + background: rgba(255, 255, 255, 0.5); +} +.leaflet-control-scale-line:not(:first-child) { + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; +} +.leaflet-control-scale-line:not(:first-child):not(:last-child) { + border-bottom: 2px solid #777; +} + +.leaflet-touch .leaflet-control-attribution, +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + box-shadow: none; +} +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; +} + + +/* popup */ + +.leaflet-popup { + position: absolute; + text-align: center; +} +.leaflet-popup-content-wrapper { + padding: 1px; + text-align: left; + border-radius: 12px; +} +.leaflet-popup-content { + margin: 13px 19px; + line-height: 1.4; +} +.leaflet-popup-content p { + margin: 18px 0; +} +.leaflet-popup-tip-container { + margin: 0 auto; + width: 40px; + height: 20px; + position: relative; + overflow: hidden; +} +.leaflet-popup-tip { + width: 17px; + height: 17px; + padding: 1px; + + margin: -10px auto 0; + + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); +} +.leaflet-popup-content-wrapper, +.leaflet-popup-tip { + background: white; + + box-shadow: 0 3px 14px rgba(0,0,0,0.4); +} +.leaflet-container a.leaflet-popup-close-button { + position: absolute; + top: 0; + right: 0; + padding: 4px 4px 0 0; + text-align: center; + width: 18px; + height: 14px; + font: 16px/14px Tahoma, Verdana, sans-serif; + color: #c3c3c3; + text-decoration: none; + font-weight: bold; + background: transparent; +} +.leaflet-container a.leaflet-popup-close-button:hover { + color: #999; +} +.leaflet-popup-scrolled { + overflow: auto; + border-bottom: 1px solid #ddd; + border-top: 1px solid #ddd; +} + +.leaflet-oldie .leaflet-popup-content-wrapper { + zoom: 1; +} +.leaflet-oldie .leaflet-popup-tip { + width: 24px; + margin: 0 auto; + + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); +} +.leaflet-oldie .leaflet-popup-tip-container { + margin-top: -1px; +} + +.leaflet-oldie .leaflet-control-zoom, +.leaflet-oldie .leaflet-control-layers, +.leaflet-oldie .leaflet-popup-content-wrapper, +.leaflet-oldie .leaflet-popup-tip { + border: 1px solid #999; +} + + +/* div icon */ + +.leaflet-div-icon { + background: #fff; + border: 1px solid #666; +} + +/* Leaflet Locate Control */ +.leaflet-control-locate .glyphicon { + top: 4px; +} + +.leaflet-control-locate a { + font-size: 1.4em; + color: #444; +} +.leaflet-control-locate.active a { + color: #2074B6; +} +.leaflet-control-locate.active.following a { + color: #FC8428; +} + +/* Leaflet Fullscreen */ +.fullscreen-icon { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAYElEQVR42u2UwQkAIAwDHckROpobdgRHURQRQcgngn3kIL9o+kibhAhFO+TA56eXDTLgs5dBFfgqG+Rj2vVRBr68PDbfkJQ98a3ytBhICvoQRJQhQr35hQ19gvijKkQYOnXBYeFRr/ZKAAAAAElFTkSuQmCC'); +} + +.leaflet-retina .fullscreen-icon { + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAYAAADFeBvrAAAAq0lEQVR42u2Y0QmAMAwFHcHR3DAjOUJH6AhV/CgE0UJK6wPv4H0aOFtjmwUAAAAAfkV5yR6otzdqjqUhswbqrVVKSCg7mZhUVlshW+KYzgr1S5nKN5QHCuV5Qr4B2IAtZ65RDOfezaxH5qlOlfqY7Uyqb7uddD0jhZcpkahKpQ6hpChUeoIQQggh5ELb5scqcvThcMr1YdIFjys4Q5IJYywGjYyCAQAAAECZA/11ewjNJ8u0AAAAAElFTkSuQmCC'); + background-size: 26px 26px; +} + +.leaflet-container:-webkit-full-screen { + width: 100% !important; + height: 100% !important; + z-index: 99999; +} + +.leaflet-pseudo-fullscreen { + position: fixed !important; + width: 100% !important; + height: 100% !important; + top: 0px !important; + left: 0px !important; + z-index: 99999; +} diff --git a/src/Leaflet/widget/ui/layers-2x.png b/src/Leaflet/widget/ui/layers-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a2cf7f9efef65d2e021f382f47ef50d51d51a0df GIT binary patch literal 2898 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 literal 0 HcmV?d00001 diff --git a/src/Leaflet/widget/ui/marker-shadow.png b/src/Leaflet/widget/ui/marker-shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..d1e773c715a9b508ebea055c4bb4b0a2ad7f6e52 GIT binary patch literal 797 zcmV+&1LFLNP)oNwbRQ6Eq$4M3RDU@$ z<4cV9zWLV=bA&uX9wCpA{{f^4$D#k>GcX53-UQqf>_LzMU@frMz|MwbfQGbY0?ccG zBj_wh0?6Tv;HWR0`x;m^Bm<;sCm_85SGspFBn6|A!tDh$nR`wGorGkyL7j?F3#OJq zIswLIz;iF7f|LMnF(pXPAY*GYpsw%&e_WjlnV`C$6@#Q7GZu1$Q8>&p8=(iJj8o|T~0u%hM*Yg_d(Av{WS$h&pM%nlEAonVL0;DkN|xc zn)9F+aMDk#VtAMb0c=kIb1pU-$e4$3pwo&qVh(Umlw3_IU_dFcFe(In6*x}D4LHLhFZ4N=V2ZR+>XHU5D&uY$npJ7Eu?{iAK>UxC?4uyg4+iD z!nst**H%2zhOBxc7C7Tv{f^`%hqT1KpU@Vf6+C2|bGaR(1~TU5D-1;&HXT~PMc2Lu z{Q%^i6vvox&EMFT7I_)R$xq1779I8kE@?|D*cLWnP0a@a)xJA`o*^$^V(yN)b`kV7 z=o@jbFF4j{KeuQh + + + + + + + + + + diff --git a/test/Test.mpr b/test/Test.mpr new file mode 100644 index 0000000000000000000000000000000000000000..251716a0567f3cc82ddd54f1eb3639f27829d15a GIT binary patch literal 1377280 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%0AS*Hy<^I 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 z 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

Ebp6NxudISmyhq2jlaO@iH?vTQ_|ZM8#0Q7Vb+W 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ẩdN`)otwMFQ%Mvn}0c(*LB|u?c_#~nc68u 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 xf^WlTPa6O3shHlE|Shb?K$05-F@*~cD?oM zejf!Ha0nQX|1lIjgCzgo!~a^K{@Y~%hNjj4XGVqpC^QhL|K|Tmq5f~w|DqY(ZLF_! zEu8ix6TiQ|VU}?_Sy2CJtQvqfZgneibN-|5Q}<0rB7!(Z!q{g*eb{*!r_qJ7Ua)!L z;cF~BZBbD-1*oZ+s;NnNz3xmoCupQk8=1`T=VWD<$e|opnY~D`TpWzg<9{abyzR*U zyw?#t(J%asdMA{xC}B=ZyDlH&eoCMWPq%o+T>ppPE+4_?G!^}EXJR0WaV!PKX&MFzwb4^0xgUj|8`WDyy!)x+%5qC2MsWpQpN~j^*dCl-VfZr$5vu zUbpcN(;iJ;CPdl?(v`iPrzNl}hxR@K3HnxtlZ|6|A$h zZ0ufR6zbF?kAD)Y9mITg|4aZB_Z?|7uD`s?t!wXh$VKKZnIFsbPN5>uC{^i_A{|Ri zYghih?Q0oYUFm57$bWCk=sZrqotYfn<$DNB+?qB|cl^Lfw7L3}T;8PcRoY&!0d@U} z=MSx9YPO{7Oe?M;9E3N!x5%Gxr*^hZQjz8V z=J~dlSzE5j`d|JkhRF7^&gj#?B7L$E(jdO`RhE)F(U;m*;B@v>w_83k$;}THzx#&*sQI zFLky`R{uJ9Zv!qel=J`(0cMK##HB;(uuk1vljPX6;~htL%asyc$qh=$&J37pPuS(3 zxMzL?Vig3**|bvKHdER!@@DM=6sr0GxmED(Q4#{oT-23j`!-#>hW^64;5E zx%U11LW!;i)UVsDlWlKmS(|SrMHX&~F()pVd`VMwG6a4L`l7^!l^%XPOdh1qSd|Fn z+BU{1zbY7@uPZm_b=T5@gx()MX;d;~JJ|jWsAb?9JI&?emw@eEF>7wK&a?CAH&vfJ zj84$xV4tk6+M(sh%CVL8eg9l5rYwL>m?t`za=Co~kuR&!Cv z{1(0g0o0|tzsoJ#qLnzWB;u-hRj{dh`~~38NZdm`0*M}pb4T@{$IB@z`B^f~OdRR0 z(I0=K32G1w+|eFv2N4=FKUAp7HB&wt7Y%uSTAliZADmZ}>GIbkACokzv9{}+jUD)} zAGJX7Bes$j2^hcsk*gnNjJ2-!3BU`GkLs7tb4i{>FEGp_g{n#WnMIVv>FYIGA#cIQ zG`0q4z3Ay_5U;SWu^R?M|WeARn%2S!csF9nn&(E$evG)G8LjJ@rmb z^=WkjPB>+1p2D)xvSG^BU&5S}Ggi(-W*OkV>i<`0d6hfM4+kWKUv4xYsn{q1jWa6| zwA@wZ4;SC<1+|e2pt*qr_?-_+sR9hzUN(#sb2w)IU^PYbPDvH|8;J%nSx4!iufGX8Gj6y6Etx|7&Oi`tU$m#FOAy(7 zHzYzy%JdHEWC_oS{munYi`I)bzX>|kItFx8Ogh_GUgJKl#{t5GdVH?PCG?}+N{J0idD-j(r0e%kMAZk5b)j*e+)_gcxGgpHKM zto|B5t{9y62^c(r=hL$moV5-hpDm^0n!S#zdiVB^6|;iZ8s!_}CZ`bLeUO)qt)ySw ztH{)8%&_!cMyFLaPxO^Eg3$}b{KRV@=eZ!VjU@^!$jQqd%~nLD_s;3RcH+X{9LzUs z_0Ll3#K$9M_dvNV@D`+4va4Yz`pUa_$p=qz=`a|-kbBCpsMaeV`a{pfGKlwZReQpC zoq!{SAGhY6eL8*ye&`J6O_KrZGv~zA`lTVwi9rQ_5#G_$>+h1Sl~&-43!c?!}Q(XyH?IXljhdY`|Q3cY;?#v+mv%OBXQ zg8aS0t`gWnoYg^PmPvO}vVP^HX4Q~Rok5m>Ib;>K4U(IHe*$Ew)xs~0`re8X^TiSJ zW*O>2GSo%rzP8W{Vi=E>nc*FHHZe%bHo!LgXVZJRs?{}~J!dBK+sPS_DU0cjBxn31Q z(H`0&Qf-f#(nei{xb*Hzjq6}^nT3vCvhq|Gmdo zvshr|XF$!*$oysA-CXJv$VIZqQWXky(Q9 zYj8!Em-IKOR`_SVIX5-eEaM!Whfnga^5+pfNm>-`zkuqG4pVIPbyJ7twJMvZZ@LqH zounIUPu0F>D8P8-&t~)k z*{(O!s8ntNs@0H@HzmhFqXAvOd+3QXlp7?UeMR}E-*RvL1$M`vR=YN^DSC*#g=@Eu zcc4Od1`RGkUZ+I7`ERj6*>>H`!iKAEPiShl>DjjHxaHq77GtWH5qSdbij(N5s79l7 zymQFK*vCL~s53zw_Ne(NVXdW1CYv9!hAM=%GeM7y4XQTN&b-B zQNufa(MM*Q2xibPjjo{@br+DvjQJ(O0=A4e$n_KS3$(pTZ8pvNnn>#`Y8tg-RVAgV z;jIH8i|+JJi{nv=-etW1jM{*p zO5$y2||0)v&tHY~pZ(aBhJhYT0z&UJX5``mnn@zZOYMT2@c;`}&|G}s|Q+jm8j!0W2 z;vV6fXfWqj2LhpKDli!R~eUj1CJ29KHF23$*U+$7;%V%K{hDcSM=1FLAccMg2_xfM<4=7cLajx_K+!=wNx2tS@v!>qM?KY zl(y>7z8THMN(58hTsxjsCkrF#13A`U9e)s8IMxAB&&*}0pSaYdlf=e7)aWb>0j2A4 zl=<=tAqs?XAAVk!eRP=~JCxlxm54Uw&EpTAdR1%xhAEEMQGImk`ukT%U7Rkex@_)s z^UFS?@U#L>K5dmui<0+*%2o$ zjAdev@2rsNkGuVFljgWd&!rx8?dwK)jz#jpSNAyYbpz}?NMZqlPlt()B;GF@!Nz~B zNdJYs|I^i{_<$s-9X$o%!i=RSOaScyFX@Xp%5Y=qAK(u|82z5-4ErM5cAGm<5V)Si z9M7b5Le}yw<4g^xAL@`UZR}ZLwcGs}uIY9~POGmVIolH%II&QO{=jzIIFu&Tv#Dr} z#YBW8JFG*nuN)Z(%ne0_Fbrmhex#3)DUz}cV~;*6VtB+&CA}r{C?Av1e@o9a@A<)- z7wLMudv)tg*=1RC8Y-Xd{+tkki+enCIyf7Q-T|E}rL8y+5sjy`l=;bbsw?d-aoX~q zK`s}M^`waUbEM^YdDd;pE`i~vAGC85nA+@A=rHunW8R&lz!?7U#=}pddVHlQck*a| z)g+L_876-#t`)y^a^V|2t*}qGBX?>_*fXPysEF6X@Qg9oPEby`NMFgC^0uVB{&v~) zGSlj~T6+O9+8GzjPKj3Vs!);lFk2z!zq(ob=h+ zyKfWPg&-d=IOj8i(J7|oVw7_sp2W&3U zOr5mTx#b{~EeCQF1>~z`nRvw1RSG$s7gA#K+ghS{i|e{{&uWl<1U(e$OpE@sXF1`6 zc!wb*{!p$*+?V|mH9ts(V*EkOP9fQF7x!FT{Rrd_?Vb1%??tfl;}7UGQacocm_N#c+>xs?a{GBHXIu)h}*6BZo&`#{Hk z@zd{oLOdt7yCl}R%1W104#WGDlfmAQ!0GHQ0q;7m6SJ*4s+79-tc$PGTB%z=45N3O z4&;(|BJANg#Nq}sd{!T!#iM;i-u+y9>+BdTD07vq?z^XPOIAnN9uYe&*x51$Hv2;S=%EULH~h}= zVjxP%)|_S_s(-1Y=lqCzdbIqdXY4yWj!7W=qH{2xkp#`W(zW zW?D&5&f*5~4*Jw?s6;Sk_OB3bFX6ZDBQVywq8D@HeuL?Wq<4a0b7pO>Lib`x>t%IA zv2afmztaQ=l%$eoukUt$0z;<SnMdmoNxU|iN{kymaeNwDf5~Uqe}M> zil!EctX*-2HN)@SY&VH{_6UiQbMV(vuM3(t0AOsefToJLNG_xsC7Z`}It;hW~nemy-weip|m; zG?NnKLx5qA0r6SNMspYK9)x=a;sdnscm_&!J($ElFzo`Wx>My{`VOqUmwGmzF|Q=X z594A#9x4ct0u%-8{y8Jwcpjf%Jhy$_!PDYB4Sj*NPz9#SA>85C6aKDW$~P`Xlc8)i ztJ=;c{v97*my*YaJ>Lt2?fD@(I#a$STzkPZkAd0} zvZ8mf-)=K^Z5~y{dA9F>eNJAC_W=sShEO--wmJkdyXl{40k|%=-;NdR2J3f9WtdZtf{6fMgEo-+1almUE6I@apRu0 z3@WIahQu}IA&Vu^UDd%3VAtIDNvGNgwQ1VtC zKfiyjZ!}2UI99dQuEl)d>ylUr$f5V#E+`|Mo(!vw@Z0|*e6y!%Nq_*-nddGx*al*U zVTKkO;@eyNqSdf8d3atQucu}=wJyo+i+5m55DT<1*Hsc(B}iH^rsGsAHGX?>N<)uty*K9c$H$a$y2r6=gmGw)q#~OKVHcQ3N7=R zAuf;mVafko9y)ZCo;Gli%2eESr1OrN#I3`3n?s~Z_wkiS7(S+Wt>7$YYcrdIzE*|U zp;b#HH93PT{S(ep*GW={cL9)ZtOLof8p&Pwm65J|E?X?8_)AgMU#D6q6@1evHx_{eTmcX;PaE z_qqFT1V@%iqW$6nFGc%gcCJJ=>A|Q}j;<_B4GYK4NAp&zM7dxiLPU+tDo=M`ShG0u zXp8DI7B*^+P*hh}+9izDlWM(_l(or6XFUy863N9zElqXRR=Gbv1enn$>UtA=ch3)| zpgc8JB5JGxE7h`^y88Mw7drimwX_Wxiqy*qb_UT}zMDp0y}Y5ON!3XMCN?y>u1?lW zz4m`LB4#+w;jO*Vzv;bx2E7MGgMS83yfh4R==CmM^P*L0DKp);#BcCx8aApP{iTXoG)g^zPa)9nwwHK ziDGq_3b)(klE=-~O<@{*5=$C8&>Id`Nt4u4CuK#NqYe#R*XTrSF)uCl3}SdvKSl+= z;Rw9Ivt~|f%$TX$Rb9fII4eK2d_cB1{-qT|PdAEWDd$B6e>>gt`Fp$9@l~<%(2pG4cOH830HYB;3Xe9UKmB4 zbhYuSNa4@(Ot8;AJ|0c1v5}WGc1<|V1UKe#u!|Z;S=+zpASM!i$~OyRJYbL39B4)* zC_+rgC3Nnuyvj(q;`L6L%CE;+Lr{HeaJ3Q_DAOh&!+6DE>g$}I|KwuEA=}JPKgDG* zNV^Ey@@De1E#P1^O=*8k$CQf(8u4YwqBuGK)983!w3pyB{sY{%pWQs&bLyk=9%v0k zRUX97oVF-{qX{V#D=?$;3#$ve`30*nVpN}%F~&ZNn*>~Zf9)4DX4NK(8iGKN(iC8> z2i>sOHCxo}I6i}tt|is&!u ziQWY4c?A<*zuNT$pP4_ewUqM1 zil?=woL!FhJ1HsPPKhfUC#-^r8yVI78~>O94eiY`LZHJe2?VmDmifq%6Cn-8v$1C9 z`n``LM$?G`w)Z$@eQ6_o+Uo^FnjEbFA*=8 zI0a_fi`M>4!`0x*w-^thhbUye;cYa5wOVV$SKw;BBlcP)t4$r!wq^TBn7hgJ9%n9n zp191V;H0q?#79l}9T9Ml=Zb(Opw$Kqf7~MWFsB5|(P%Pmn`lVp0pw z`T$2+CzlVk8N>#r@yb$%u57#X&6 zoaW465Kv+~MBLQnumY_wWgO0~Ln#JJ)4j`^&w@i}r|&LGD96MdE5iiSt1rkf>7-oW zkB|Ae*+;vb03%OXUzaKut9_-8Pm$sCJsWq0ziyu}*0^{4iiHq=BB=fke(fK;TiGfL zmR^+gZX{Gi;TuUQb(gApIu)U%L+`DB;0IBAOC7&z!DnC+Y+1o$;1yAlE|{@bDhXfOwuXl8B+2td0jA z<&lSgP=0+tJ;f-ezDbz_>=G&zPmh&{w}KJQi0WO3R&cA^P@x`Um*J9wK+U%usQ_rJ z=JoZO#7D`_F8Be`eMcv2O&1hXU7f+__!d+1Ltg|i{aTw3ARq6Q&_f`4moRcoUP68! z&Y@0Jw4-Bnv)R>-Ju5p|1+N0@8S@x=%(<~)H4P^q_UAYj`l1LS_LFk}aWZ~JfyOK(PA`DHJbIvvH@iwV+JFY$HS#Xq*%78?o{C-^sO z0cN`N$>#sMme`HP%*se|(A?*T6;1#aaeMr!77{$RvWS%#KAiAzNirRbQ@1|mxEt}n z2BBXSPB?^vgZ6X}3cWk?_dU?K3HJ(2^|hFuLn8s-^i7lINq@#6i{r-?PC@}``i!7A zH-4*-iel|1O}Q#Y_cLhC*2^k_=+Zm@^fm?6zw%L9Vfo>sZvMnzCzFu5J;F0Robauq zcxr`S;OieCZePg0Rd+N;@Rz&cVmqI{$D9_;fz^l=-Hq?7uHWZDD8ympkd0Wpxt6Ee*W{g)|YHkfiI-?%AkqX~p8E>Fh&?X*l5chZux<)}BiR{`AU!ib;ZW^&6!q;Brx zvedk5ykf_7w2)Cw_dWCa`IBhG-!1L)F|(r_C?r1Y$qP@!dJ+)bhzUOylrJhwM}cUe zbyoK=;v^zQBi75k_$2(UD1*()ueMaG^f3}k+wkuGnTecW@gKI5($R8w;0@bQJ;pOO za5W&8Zp~ zr)9TW3N6U-EEJIL*l1n26*OQ`u$*;iS)EaEFx&8|#%Iqq8=6DRZ*MmtWzb7@Mu?Q+ z@u^?GS+S7u?^IGn-&@5yUGJ$goFcMbz@}x*g2ir(!Y4BSodX5e~yl0GKAcdZcH%SGq=v00sME%*nz}sZO(hSnVi*p zkYG(akXrhzIlI;-K8&^y%3P`kXO4$zDwW0v8|+g}gbkT)bgCO8gY`kZ-mSh+YijxW zAeTIR;ak1skH>9i^9NFx9@2*GUtXT(2Bb9rIq_qn2-1unhOmsm(qGwO;Usqt+Yxzl zgKxyxX67Y_{dW#wrrqdXTlSG9Qvm4Yev!J&H#Iao_c`VqG~<>(dA`DiFi!d+4f+I{ zpLodVr}UVdZ4fAh7sIt{xg|?YAQ+krZ-#yN55eHNdb`l(vHDmjU=V)pzGsw+z{!On zz5%&Mk*iM#q~#cKVdzR79#n4o;N9s4iOQYfTId_f4TtwApNB8Qe&2e&)opJ4j)iew z5)`9>|L!35r&3P=?zhsXeU?;$kN&5Fw7I+ur&3waueZgt-1QjpubwZFckjR-dEcyQ zWQGG+s@xL45+{l#yoj^+LG_;mYO>yfg+c+i`%-J3{2Yiyw# zC;H0;qIm1eAfW`)n8?$&Y{6LYs(>y8WTUWcHpOc?Bn*IrE+ShdaNuuYk8jNW=+4h8 z^e71O3r~Olc%r_%J5$87p#%Z~{X87;pQqhxx0fQopz3}=*4T71{&N+9{C_+h| z_h*%zwQU|rT97ZQHuQJ#{?NKfK?V02PP^!hgm(%sSjtLf%RXM$dK1Pt*tWm zLS7{E@EQm^#)o~c2e^4IHc>xGhy#@A0=>Zo24WJy9ZAw_&Ir`k6y8d zl{P965xvk)Jptk@3p>#yp{{18&-QrshYZ{N^rR+U{Y_B_d-2LF0b?gC0xXZY*d3kf zH`w_Dj(_}{IsRH3^>7O5^FCq=-~GD&qC6!!EjObgZG6O*ap)?5fll-8--KKIiAQA_ z+HX9|1-{L6MKMBD!Uwy=aK|&%Q=dC!&3x>Cl7pM4hXKI};PN>7^|A+5Yxz~ZT-dOB z(*2I)^|K(LkwQv0yMv92IP?YD-CiF65AQNMhC{62!d^Sy=CQAl?yqpP2p(m~p;v^l zX)%O%E2f3lNjD}x+PwStnxZBq)lqnOCho)MJ!suTMDBK!^+Ww4J}7Z|`ul=AZu>C2 z1gAm$90G3xY=0ySM{o6@HBG+fVd$+$w>-qHW0_`nbSl%1vr@8EJ-+VHN4m?dp%f1J zT3-N|1xzemg0dOTreAR7;0*f`h!RW=Z7czpijTYS7Tfw=Bv%m}DagbRM&P)N{4QSh zWVZ6_uLYBe#}Fqh6gPmsoK@=B8x&Cznz8KNu)(S2W&S@ch(>SvjGBr@y?v}uUw7oo z{tND1xo*5NIr(3N#`eyy$MP({756IVJTto07uRH5{p6#mL-(f;xgDc+8(4ElEbk^< z_cD*Jpy&z6TX~16-MF0|?;Rgh10)EtbQ2`z`@X)-MFV42W+r3VIj2PQm;d`8d6n3CIu+QX@4nr@+q{K6@w=%rj6J2w zL?1)^;hcbkHqk8kIMe@uRFHv$LhB)f5TXD9an1q(`5y+_|J_rA``-*SYYU_QA6Jd| z{~)dZr`<+x>SAr}Wb6n4*fLl;O=;TLZL*_$b zi3mXW_b0b?K1vtSDEUb3{rIrpNs|=oj!y4g(_raUbK*@;vM^?3&#VR8X6j_sMK?Ed zrO&L)+pYsrE-ZVjwTe?8lx|h2ty?T7=MSTiEPLqofWy(~Q=hW58>fFf!6z|oxjO%Z zLWV*<)FL8c>D0nni1nwqUFtq-k6?Jws}R?=Tz1kbYQ-mS1rpNev<)}@j8vJT@4%R@ zi!)iQMccN7Z237WF?S+gZX&bf*8mF9t(!w3^=IyOotG*$rK>g8&23`WB2Lse+$1hz z2LsI&kKE1l<3NWi~m!mQqjHRJY-^=N|&yN^q{w-|I;Loi<3*S?5%5Y>c2zEE>6`6+s| z(o41${p!TpkenqXBjTiQpxzgJ-K%eF28l*H6n)$)wh|5G68c#{eb=`lbvOzlS6eC8 zSUcn_shdwh!h;UTMDB1)$Z|-IM1j)Z0aGK))3XR`fmM76(Y||G*5dUZ1_dch#NYEI zT^AaF4vqVb{m0}iJ7n$&Zz~&EYQjVJ2br52Z5oGpior7+ zgktOL^~~7n@P)Zk>{(jEW zai`eGt@en7V#sQ-*v&ZRF6gaSXi_?a+G#wbn5&t7!aRgHW<<9g-e>>#7Ik;;*@$tU zL%l~g!!P0FfkQ0ESXT2Ujo;iT_+_dYe$b*UyP42XxqGy2eq-TpwOCOfuj~UY(Kvb7 zWdx8?MYc$Eu?sH6UGTQ0J}wO@N;bOOI3f{&?4%;xAJGm=PUGy+8iod6fXh+;A!vBk zYZe9UZhi%+U-j;*>yh&-i>8I-BJ4SlsNDVWvcl`jS=Tx1H^vakLH8~{hT;BZ9d9!PkMiE?45srx;P-T!)cX- z-b>_0H}oW*-b-STgFo{D(rRod?-TJ6&vdE!4ka7vR(Z+RPn2hVUH}D5L%XcOldq{|7iukYrAF7aGe_*NIAt>II;S5&!TCrMH4|W znbqY|@;?972x8pQj{P}k&RPOknX1QeXYzFE%N&&$u)>NkiV($1&0Q8DHnke`37j&| z%SLhr9h=i3k1UJ$U;GugW?_QgRdoNWrd3gZt;aUT`SW>`6K1;M9IMxT&E@j$Itr9UoclDH}%7D7>nBBp-$So^LFqy2P# zO(47pz~79-;>xmvP$_mX>2!NeCY4oamNpzaU{h{_Ai0csqWguN#^|SM)Rl<$#&N&x zcMvAMSH~}Y$&_7ooe}4FdCgXg5!9w_om9zqp8lYiifzRA8S*_NUCeW~SEzJU}j)P?=WlkHK7(^Gd*z4k+6&o4Yu;5^=%I-izc{%ry=B`QaMshTOm*5?(-SK z*uz=O5@3?B#`;Tn_uTyomx~y>f=hS8x}z8$2kEf=CE!hQwmlxeaUZ`GpQfR>$)7^3 z*z3Z`mxS%c6jC+>96B)h+=baT*x&#qlIRktgOI5orcD3C+DSzz{zOs8y&;BUiYZC6 zGl<6wiA(t)whG=Yq)lNgu1_Pbv&2(=MOwf+!m`zhNSE?^#<|k5ASmhm;4E;GW?E zZrT&mA5X1PE)22XiMmO4G5f)uC4!xTt+;i9F&&Vu^gdhV@UwD#g$?KV6MODRQVDSg z1t~|OK!aQFLXySa{_^T{>y`b&{U1>#r!`4V=|7`>1n+-Fng6>?Pxk*2P^|5Y4V?kT zcDBxrcGmx8lx7`IyAAP{AAww>46tPD)uxTSPHoJ7vGdjLc7==rDF%Bx1*|5{gjI#2 zl%j$TP2ZQVY^P(XXp`b89P@)X7PILOwoopf@BKMIV~5q`TY>t)S^WF)=S6S%$y7tt zl7VRr5yIk%9?KK?9 z$@HhII%A^|u>I7*_W`_r9>o;M{(gNPeyFt8^lG<`a4Gf|M3~@)1THsK%zEpoWrLwa znijr`yLflzJYT3)ZaP@2R-XW}`Sz>(%4c`MFc#0(CQqdM0x5yDTDr*@{n2n+q}wXf zi*3Ey7GVR{KJSm^IGPAii|YF6n3_FwcwYwobcDUQn$nf`%XdvyrG@(PNrpRfFWOiY zlcwzu4nGg?M65T-HQZD&qiR1rmg_yrQMOJpD1^bMzhuN*&tXZTlEU0om;m<_nL)Tx zT?6g^vJIiJ(Cqs3h}4`;$#Y!_od=)oJpSGO1FrTrKAF8eft4wlF|SwqgB-zDB( z^j3yf2^Xuz@;YFx1VeNyOK8uAgK?gwD&`w~ocFP0ttvj{S~0CZ=vq))y4jrl(-*8Q zH4DbfSJRP*O*$vLylXe0H0F*oCmXWW-i7-!oV^yS$}3ErKoJC&4)K5x2RE4Ku_c-V z4KQsr8S-E#S5V*Mcv#ts{ux#w>dO!6PY>+5JbiV_RHdNskfUjRU75+iFnY_zSAui`%T%DI8;ot$XWn?G?4JA%?HA~-|1Sq?LC9>4 z<#Um8j;r=}B!3J|T{R#ie7cEp%A5?wF7(^_ zYkWW%rKWI?#@g`{9&r$;sKi*|$`?NL&PDN@2$BlhY~x(2zQEf?W96hj#ypK^&G~(v zYOUH^)8!4rBJlaCwLS(pFS>*inBTMJv-Fz1Bfh#bY9+Pn5^bJl5WxGc6Xf%7*-5Fc z&a;Y)^!|d?KX~?O>uH>cd4v;jiv(K&i^2|97CtmBj?(}+BB~jxf!D;bPgkGt5LHrh ztx{duadH0~<3|$zs(_IZU8HY78dIRLPM_hTO2x$wMj;UvS&xDhCYKUsyFrc&XSB7J zzA$=mVYZW#O9^4`ieYj1^n`e#f$5Kfr#oPozu$<*aE;dU>nA=E4_iM~h5}*-n9)j~ zfRLuy#1!zik3v$X4+FAM8+xNY(g&aDFHa3k_oB;B$mU*IAm#909LSgWX!0DgQG>uq zFy8(3r)c&MPUWQ1iw)ObpwoaHNk4j+zr_X;`?3vB)XRXABxX;n4k_&rYb}kt?(2X> zjC&v)b?r@7pfbq9(B80+e+-Di77?VXcl*$`3*&`xtTgVubSvLp61~*JF}Eb_>6c(g zPL=vaPoQhhKXn1tF-rr+7~z9##Daz;+P}!ZChVY&XHkQdjLqZip*Wo6#Otki`!cs- zZCsP3KK4zdEtk7s93q9~N7yj*9|u(&Gk6FJ~^GmW3?`SHZCZJ$(6* zm_U-Sb01(3EuUxwX2k~#Y#w}-ryBdw7^?F}aBL~nFK*N{jSBk`?kqKWs8N&ARJ-5tyd5QM%O$0g7;jzarcrTAyv8{SXy7&pW;(s>qz}J`vB|w z?zGs3l=`u!M~0~y4Kg>q($a9E78A0ByxPa-9HKLZ0Yi*Pb-~lPl`CZo&TUN9L zE4tl1&J36Z3J7FXYT40PkQ5BK%@tv{ST; zd9!ry$C1|A66?GM&k26_aP_)e!LQ^9g7%s$pjJ4{2h&w(fV>$&Q;IINY7%fpQi=V$ zFc#FH4gVKeIaMcgzo9<2k0I7(Hdm2BgOxMH+NQjHUWBz&gq(3V08)JQysHfs5dqov zmyGTBsDdf=NcT9hdY@_;zXwF$_&Vvo#?T*VA!K-pQ8fQBi7{JQbVw$h3q@uaHE>mF zIR~XM@XGWp!v^GabOPsN_A%i$^c$)X5!CHJ?u8PAE=9189dkqPlp1qGCdMm=j`@#4 zGF8_lUxupXS<$^v;j7+oUM-66Ng{uGxD~j#iCZdf@j^3=5vq4c^zL7`B#FJ6znX18 zp^P~CoGA%B;r5jNDE?76N8vR9Be*d}w{)_mx6^f#+^X)``X6rGqWut#S-^ZOY-`F#g~~l5y_$D zzek2RysNFAV>qS;Tlp>#1t-S#ZNDbJ7)h4=4X0>F$eBH+X0W|`n@si%n{~v7(tcvO z;%{b7j_s@ZjWao=vNsz52VL@rL^*y8QRb|Bj2$RZ6J&(sMk2kThmZhN6r+NO)^W;H zl@MozL>Om>h*cZsT8*d|`o4>J-rdh0X}UkgfeNrbQUy$KB5eNSFN+T*Oo8ykS}iQA zP+=*20X?5wF)xG-oK^kz%N={kl9vBnz*P#e;?o>^(^b@)`n@LWH=%A*g_3Ltd1Z=L+n3 zSX0MZA&?Wc84W=?Gt(QBW7k@0XgA&_f5j%5gCyj#y|9O-VgHrPEKp75FusTK_hVqH`KhL!LE7-+^E{4|u zZEpyGlZ97|IvcB-l~+8sC!TkMqhis3-fIh+_+Ljx^wT8ovZ%79*^eEbW(%uIS*TKZ z-ayvSwjV^yP;mZE0=OrNWu_s*=|kwk3-qW+Le28*P0a6r7Fi{=kwr`P`>Bm z`V>hvZ7)SSGVE#vZZ@nL51~+-gmi1mgoJ?+mExeSbEgkL+lIbJwM_pe3-&ChSDY`U zloEi7iksGGEma;sRom5SF0V-Zd^)WZ%4aA-86vbX@|j0`Q$)3`CC6R~`B-MeKHwyEm)*&a{ z(Q8}m=_&I9FP_c)D&Hg5rwUZx@5t?d8e+5n&n-ZNyC$^^B@%;MysS&ss=shX!w>H0 zE|f7MBtSzA>_g4SP>IwMBCd+zd7FK0>DPRq$N3r=Z|kgcqr-D4rUBYJK!$D z^I3p!5g=#5Lb3BtG$Z?-yZe_8OA{b9ipaLM$Pc;B^t3fy|6KoP;OO}` zC-aPtb>`D@vM$IV1To2*Aw60yQxjm>GRojSwjyZxoaltnk<*9njs zuU~^>zar@!kw2nzCg1t=>}UZowwcO8r|Z-+rdq*`h;lqC+vvKs-01R#uF899)^q3B z(>UH-IJe=Qd|g3yxX@d5Nv+hsdu45ku>;VMk(1nK4T!uvEIx38pu)n^hCka2u>DS% z*DRJ7TY3h>nW9JY`;dD>GqVL+(+<)fnsrIoxImyvx}f||JW>inU!j?-W!x&=rLt zw2go3R^eeV=2mN)@10^F75wIKN(_L^!R5&efXG(Nw|!(S>$1nly@XZON6!hLSQ1EmlxdBMKiUn7mDtABy9+=SpY1=|Mg*Y- zVvmCr<|nO457Z@ewos8ivBTXIt0m30181e_fGa;cpAe75C5SqzNBC5cEIt2XG@6l7^rd$ndGJ zuhzTaopMbM$td(4=m`KufcqFg8Ycg9(A6p2=pO>YmG*(I>s>Z{jTjpXhRk=)m21<~+Z8so4Qkn5fXFu{5f9A=q@rD9Q{; zh<~7onO;w-MZrUxx84-0Oke#LQ3!-&&p5t=z!Ys5v@<7^UQ9$K&$C;Q*4F`*&Rz=C z2yj*s`_zO|I4;=}LJ&$p2;W6Js~_{m2>OpF6(i> zPd^dK9$f7GeZ!4U2;R@b`tU%KUG~V#WYSYX1jt7(l)%A6ghRXingmvr*Pwr$(CZQHhO+qTiMZFV}gZCmrs%;$6d!(Mx> zs;jDQv+te%w3_5wc+PuXGAiuj!rKPqW6QUANy_z7_9C)VH&2habR@#vl0M|-iQ!Z^ zg5#M!FZ?zt>ArWSboX&Vy3}qcVwy)rY)=F2&nbbG@%%etjJoK?n?iW!$^x|H3UVPITQ!sq&`aO@3|5EC} zPPQbFPlrXNj?i7|E6Hc`6-LbmSqkChhz$#w90^*7gTGJo;9HqSTGJ4uNOVMyqmBD^ciE`+|JSk`F<8?u5G zjy92-Vi@fG+KB4<0PEwGQlLs6Df?SM}Iiv=qR)Xpl zGa-|9g;;hKa5p5rC?LXYtXLUa_j=iNDA--AH!%c*kQ$c0!JmB=zEAU-h|(S|w<+H% zMzvL?QAeAt@3_4V$B!I8(Lo@2LlCRB8V~Jca=eE${uYLmV>rGe$3+UR2~5JB@S{M( z<+BhL@#B&m&T1z@eh(1r7PS7b_{FQBTI7oyAIV|=mL30LkdMc?_iY28Y0mKH&>zeifY zp-)b)67>RBtgF9=NX4zY0z=mkU!SN?3T9vb&+DT|GStleZx_Q%{D1TM2>%DK&(Ybz z-OAL=+2#NHd@cuLO}{xRZhgbLyVavPAVY6<6fd3Zm#ukw60kYFr}k}>MBs|Fq{L7@ zTI0LlKi>M-K?9yCrA^?aUQgXVT{_yg3c?J}C5d(8N~!9ayUz=h`F&;zzh4rQx6RM4 z+$Tx}&z`#oTs+*|#%6pKGdn#>9Jn4!DK65j*gT!yrwu&(cPXjkGyeqz4}K|gs5uhz&u$8%VsyCy>{heAVHU>Ul!Nr7V9yB!(O z4NK%-)11+Zq#$zp`%U7k*ud8WI?(v(@Y|`QymwwhjwQ7Nlqk9H%WFyGi{3K<1#e6S z93{Jbt$U={(B7nzrXyLx$?s4w#O>ogGYE^3aKV+A;Ie?Z>=`)Yo0oD{4JVUcDvj?` zf&A6QqJluma67pu9WOu^snr!ofMDRHT*Wm+&$+zU)z;X2$Sw#&e5PMkfRxvo4u;`J zQNf4(Uchn0%7r~|WrL+Ga&eTVx1$NWI!y3gC)%@kJQiUP)ua}^XAqX=veZ~mL48IZ zbCGz*$x5%g&>s@^a;O4!ev?S-z*#>IS(n#KSA$r>!8eBHXNvDQ@c?yZMe4F)PH)rW z%SbX52TMhxOS2b-M;Y5Y26ca#rIDREFhRfog;O(YREP)*+vM%#p1ByjN~kWcDqJFu zb!nmEJV*k8iNNvIARIZOq5$h=qd#t(quxI;%d~$wIf{ylO&@uw*PSed*vL@a^_w!9 zIDciGpQapUpR|x`kYL?QBgc{-UhL8LqaF(T6XAQ|K}Du_Ve8mv3u>2BpVnx$B%{)6 zTW53EgRXF^R5&RuEUUV$-N*ca@uH54PC`OEpK9F|-DRX;goI0)-Il;4?hWRWYbN~~q-9_J${`i+Lf#hi9Y>xDW&tRWh|17ZWch2zu@h=tJ; zWqaX#MM^5)0d@pI5C+!xS5QQi6EifQCw=`1>X2wXEWMgc?$aNIb^3;6=Q3!1i3X8q zL+j9@K7Cy~7;(zss;AXrznSr%OW-QhkLA3`GZ9@ZabRCnK$0p!WSvLm0cpjim@Q zmx75HS9ZZQ^{CN4a2GKCyz!^=cqPE^>*o5;9NRIGG?pR>$8$Iuj>Lo1di_gVbSySk ziS#4|jO#vFYm`$h4siz|PK|8cN1bXw{OF3T;`|3&`*-mysGDS1@w_LXBK%)6fY2&6 z3nQ*8QhZ2g%+gOrG8{)9t2j^7a}?7^j(8=6%M@6Qhr8sZV&msvpKL7Pzrg=pJjpLRF{V7*g3 z`<%^;s6#cU?R6fHpl$+okAP)=qw;dMv~f(0xQoFQ%MraVe0h5Ae0c)a0?kpUODlIL6BU0x|4* z%?a^|!1k&sdR=DGndY1t1q==u{=?^A4P2&zS^AmM@ahzaISrd)l=no51%-U-w1lu_ zPuy_JuPy{x+ZG64HUnW(V?A$dKva*a5b}6)1%_!}Ie*AzEUz4sjMRtWa+E{pMbM4d zyDGGp0QFzB7!O_tJu@9(T#dv=PGl6&ko!Kv^rPjxy~ZT>Hzwz$h6z*roMX5jbO_o8 zrNr=%+-WL>Dl1saYJ7#|i;PXjgeqQ+mrwiB6@;V5fTu4rRu>Z$Nu~*xNHeFqL>7)Y z7}5!4h}??A+{r_JKWzu9D7nELz^IlUL&D!%1|uALkkTn851nVo%a4 z0oDIfTFZ<(E)73|UW&Fg`W0?7&ZP*IGo@@&yjHsxit|*iKak;ru3QNYhXSZHuMFF0 zD1$01VNHvsb#BwCj-W|^{>_}+6KXtU)aeNc?{m(vMsU$@)Uc6N${A4cY17JU{5yIq z3QJ+3)gsZ0Sx}Dif;@*O@-WTl{m`8sz#`>?6bp1Cc2U#k7DE~Hi0Lu*u$jAtTms}{ zgG|!1keX~<6T9n&Dp7O^>&fa!USu%pRXQF*FL5*VwkaFgk4psZ&B7;)`gC%MB&r?6 zEQ35eG#khD9-V|L%L?7r)BJEefp_Og?ZU^U7EVqwckxavit6|R+1GmbIGx@TElX?b z9;>?Qg)2996|fe8=$#;m`(mo=>hsv=l1yiz7jo>bP4d>CW(2SUR< zhnI{8X6QI{HJr5~eR9@%jG;t402wqJ-3!T!tAUWh2tW-nFf)!?ihhDPpquqwP11b0UGGFHYF7ta10yF}S!&ATL92>cB&-4zxlP_mr?OEA2ytF^wiReour0moOx>E0PCFd5ToY`VX0VHk*DZo~F^d zBVhzge_Y(p8Z*_(K$X0-xrx+-3o^HXsLgYab8iBy*6uo80V z$H~eIjC_w97_hQ>o$F9iZP*BX8(B1MRF3sIT^jV+9fuNNdPlf){}h>2b*b^-qts3L z^S({Xt^=4kQ6zQO`zmD7IWfGjI9dcEAq99!%1}?&UIBlTM;xHCIHTM$)JmGFF?E=#)__JzHyTd0 zo!bZ{egIM-XE)kD-?~=^2=NXPNdSRn$$kahv7k{STA>xhx#)8?{&NbGr@49(fHnBV z7pB1zlq6o%;*QoqUoC?aH?hNJ21^{G!^n-v+hB!Qq2|!gDG(($+4e>KCc1@60I3c<^ zoxqb|-V+W~lwa3*wuN47S2EdUDilpDKZEezI{VuxTTNuk!Lh^ zJJwLX@56?dXrm_QLlL+k`*4;KjTV%$p|Vaqlcz(4W06J7m?Ukdc_mZvZe)nnQ=?=j zDB(VFGbi5~;>9)D)n!4?s8YuR8Q^0?iOrr1l4zB#ys%4SA(kH@o3w1REJn=ET$t#> zD8Z8DSxJKZEy5Zl5v5$E=x>?xuWvx8dsGk83s>Ap;;Co+Z41irh)cPQ&K&xW!N}A! z)HJ`8buC~jS9yFB3oD&de0kN>|7nk?SBL`BwUi+FGBC=)d7cGJN&uK)onXOeo7@mN z%2u$k)sbWgN8sgRe};N&JvOhVqh zcNq3M&Huu#mQnTybOr%!2~(z`<~~MN>KX}jPM8VGuemi3*&pajF2jbG&Vdy4iEC1N zmjiHG()G-*djE=PA!Kp8`t5I_><0$!XPo}4oqp7j?d+||pU-e0nW*t?PG&eS;u)EXr6%8~ zcEG~uNB({Fs}AF`08JL^lx>*CFpsSBEjcF=~r zyK~CwG!1oYIhVu+wMnq%@ zz7 z3~|y1p9{P1ZE1+;{#BBPY>swZEvxI<)|%=N_C?pcM_9FJUrvald9$gqNG%VrAPMEdaqegy-j+}?B?hVU3QRE)2a8nsdW6^uyNv^44qA`d&8J0SEeN!u*!IhGKu z6v5ZwO(QZ@(tcNp4?~R+2ldr1I<&SjD`^Om!_ty#Zn&zfj`w0T-DeUBf#28uS4-$E zLCj#+4xPpP!WL{v3=NV0R(v`=9XBARyfj>-wsY+{0Y*dN7<0l95Sz?tHp~d%b6US0 z5?Z(JYC=QD!+QglCR$5;g5hx*! z@mbd|Wo-Deo-}ek?a4+f)3%%)B0K$+EBMWm^B6yj-xZNp@#XI?Qb4#a zc!2iv@kfD;&v)Fxl2w$~b&YQEYZI*^?ZR2&YV>dD*BFg5_Mva)nA2yi5?rw*VJwK& z=%Pss$BpVjbOep87dBD$ z`j}eyI!1|o(=zB?hJ8_4vF8+1&2#Dcej<_;c->)>-%KNH4e4-(R{}Cu95YNBfA5^; z$D+y%U0awj&G@%jr^-xy{zSU~qD3ptWs1&2d*6(S{!o^9IR;g%~0XR~{gQhmuIHzZ^`E`+XH)0Tkq zQwQf0qFd6(o}0&~8vGQTHw74yHxUhcHq%~9JvdP)He=rW32X^^zB zE22f~qBhOfUs-T)BU#u9(zFQH_9U!@L|@@WQ|6V&&%KwDK8$SSv8u0gGXpt{nSWu$ z^31Az!j>#AqI&=f#ZA)J@p!?`H|4E0n5^AaZL;<{Oe;HX>d6dWKK{`GFk+&T_BZ#z ztI-nXc+vRHn$(Qh@K_`ffvqtC)9;o>Wjf~ccWc;XtWHx49q4LN%!VGQ2v_0rMCejS z#LfHTv_=YL)_E<@_FZ@4AL3oFkuQ=KcY7UHa#clcUCBu1c8FpjfezQVSL5eHh_bNviT{R*beR;gFd=g7a;iv>14`St%1 z6Vz7Oq`&XFwYk5%z9<&#c)YxDw7*jh^OtI) zdo|4ew-7gR@!pE>_I9?=dL@tU#{4b~!l%jqI8~V`M`qt9&slOLT}5~np&42pRp0u! z@+p2DduQGige83xoxEs9sX#U{*sy|{)|<4=!1^0I%=^9)Kc{_5uTyI7V0KB7-$5!; zRxp7w04YfC@6M{jqE>x#%ZbDD{6W5Cgb1Hi zY}Y<}KW$x4x+3hus>+3a_|e&5sL|j>sSuA8R^-;QSem=(T-F=y?Y~eitizLk2mXA; zdegA83`e<)#K9d$Db9@6({<>n6p^7!)M^rL6WNp|Z^V>bx81vpzEJYa-T&sF3yH-k zHEI=3y{0XdUUR~bk>OD%4^pO;w5h;dobT`zQ}h@tamx&wUH1YLkv?;=mTC=ngy+); zw8$0enePZOV>M1^n|c<+Zg_z$RqyguIGH}>W@0gA^|Yd1i|M2RshT4m zfm-Z-XHKNxxYb9%Pb*595Vc}JRxF6thte^DtV$RgredpL;9taO-pbzM(#ndiY4rYU z#v0cy`1#_7a{DJ}DCVlii;$g$`M{66G3HeK-}UB0aq3sc%&kd1HTAqJ1uU|Kvq6Yj z1;-gFn`w>B0UGQ8Xx>t1j!a%4v;{nt0rASXTp(x2(WG-s9 z;ay*j#0w(W6MC*x@K&?75(8|`DDwPs2=zbN0`MAw6^W$`eSxj*52&K4!4q-iIs#jV z30{Fcxh@Xzg%0 zr&g{x3HP8?8nLszatT~y9{ZUdw7;)I5>YQB+g;5XMmpp}I#(eV+Ji1tV3~%ZdBI)G zw?TiN;(>fw#eUsXdTb=cz~4D&&tjSxP?Q}c1sD47*o05Sz}I-ni~V*9s>yIuk`9z6D8Bb#S%F?F!1@>NH5jhi9Otqy@ zI`BL<*I`*YPCN44`G-xP$VqAx1Ox#jHy{1`+5B2x-G_^-*p!krS=$)NzrDQdc6o7e zadVxs>fJqiXSqP@@EYD5fb+xZ>&Hn@KCw2;g*)S*(;H<{(iRZxTM?N=~oxv$}dLIZ1pFADL>vEqur-uegEBx z1+3|GQOSihpS=X97oorVWzlgbM^3!Em%&Hft-bGvnWP+`_r z$kX73{T9|=;O)D7s=eI@oJO)pNT48&v1|Rzcj4)8xJ<0)M$Sy&hOZM2DratP!r0>B z&hYz{@%+rVL`Hu%JO9OVMux@g6(zR+J6TsY-q#u~J%`Wl$DiJd%R;XJ_8bO`-lp{M zW~1*D=-zF%On8jm{g&6gb(7nBk5&J3wiK~N8pr#=stm%ahDL;t{VF7Q6K_m;eA#jdu$CI8ysA4I_*q6H9ZGI@Z z{p*`}zU{aQ-Vx2`&Yb!5p_f;_^E?vgo=}7C`@)mOSimQ~?*6{aJO<=coS~qwkT#nQ zXuOgrh*mocMbNJ(iTVMdPJml{$&~=2@Z0U1b%J)Ekios{xSbV)f6gJrU72}v2sn&= zuZH{t`tW~GnvY|fm^1@1XZIXAvz{UzO(wZV>`wnfR3;%0ynWlB_wEi0vO$vOM59zAxh~c#D~Z)xS+fP&bP1qo}-@nd`dj}Irs`> zLwgUg0VofhNC%#*c(8MS$us;4p=qXmgeF6QTA@HG!#g$M73OYUp+8TaNPbfGjo)2E zk+!6G16FkpUQhaRR=@8f!)aa%W=iLy3)t^Y@i&r?&J_&ZF4G4!J~0JVDG{%C3nzdV zJUFi(SbB-r%U3I9z!zjmqh{&*j5;{=JA+Nb>x5vUGU#d176Hu24 z$zGF{f#jJjJ-HMre+6&c9S|g)3J=>In0Vw6B4n)B4#FG9!B}BuzIvF9H6@6EMKsmZ zyF26=bLa|s9N-D``HxfI79Ew5qZYbx3x>G4k-@^qn}T9hfj5 z+_-i51qA4FWakw2BMswq=%K^&XXyhkoA)0~0|h>L8b;J3+V)&fm~X|>7&m1l{04?p z!@xPbH@_lC9rv~Wj;poD9QTN$gMp|AtHlTqk-R>e?BvRYN5}LQ8s|SUQ30>E2%}dM= z$Oty-adPF#d=mI4`Hxj>NgMB%(rloYa@(gfL_F@F+a#KJ>&A<3bKH){kn#I+6bv|& zvg5&H$W8LFpOiLQET+vs+c|Bvvi@FA+R{KDi9Ouj5BkAX3}CO8yzr~ym92xMQbBf74SXVzPkN( zZ2U#<8<{2WFS0#eS3+cb<^+hxNx58Z`N^f)!A%=hh_SXpz`Z7Ki(&rpW!=fb|tBLNIRwNPKT%K;g#sb%S2i zOa(}Vj=bIr=WqFWFn&>VqTxNC;V+50Ni;hCrn96NJpwHY+JEBzj9?EH_RrFa&h70# zJe;53bp-i_oQi(^WcIfwj7tP?2fq2;uU~6;kni?*@^X3I{qlLf?F}AYLnP4Sp9Oq; z@6Csd$1rdVm)YxhKLOg&<)79);gbn;$GmTCJ^8Wb#$!^Z@p zTfij}`DpPh9_vQW9s9N(5Ef0imT{uEm-e~TU2kzT#aNxBrC^Bk7LQ=_wCJiXPsCjA z?0dFCt$6ajX9CPWd>W<1$Tzn{0y&;3EFTMqI4(?(^odqXR}=Qo6Pk5=N1lu7s9%b? z`8IU;4$RPpC}uL*%TXa|U@+oS$oICGco!JY5e(`5ws6@Vf96{-$@&Wi>7+kRD9r>u zzrLQ#Um#-us{gK>xP5oWVVfVt9AISR+qRMq-@pT=!X2-ko-_l+tDR+jF$tv_N^WT? zoy$GuMlZ5+WAbtHT;48a%Y!iZAj<>f%0=FSz*cF$3?_GHHONWb{49x=!ZN{wV%@JE z9Xa`I$;~p7@nVJIV1t%TE*fF}qQ9dN=P8D(Vj zcG5PGEzaNys&mK3_aH~(vc&A1Am+&=Z}Og6I_z~z4&T}=gBlUEb>uGm*tN9=as!3S zK1r#SV_Yk}ui#PWXw-VmT*6{!&-g-UwqMsa&5Z|tv*kI*L@#_rgz8lZaOenSdNct_$Q_m z5*XINJRLY9E1~&%s*V_Ae^9TjSM83)o2x?GReM(noq-h(f-~P&FkG_%bWb&pXsAT z&=+x<{BaCL*p_Dpb|@q#JceDi&|QL;Y{KEA(ed-iBk$P8$&**LYj51$fVcV^6g47| z9d)rc`QiXO%&N%gjY1NBi0?Y1uWD~ame0OkzWjW`_|DR9$j_$EKngG_Zqg*{h)hqe zDC8P-VqsSH!yUIVfknjRKWGz<+O19p414?9bxFYu6^F0!pkXnM`?WLF%E3jvtO9N8an!Fks|;YT}6e)TIZ44{>mloFg3VfbA63WwNkDz z`hk`df#Bgvaz>dR#Uc>4nqH%Cv*!>=OQLXdRkRd|3>0_*-ghS_08^lU9y<#CNkj1d z0vt00AAGD7v2@6X)>!#IR;l-jdq|O`I4eWrE$nIpq#=|R=uXkIvb&2}DSCYht@r>8r_)Lr zprJD_{7~yd-O*wRZ4(WLSZkSHq?BvVg<^wUqG9-0deP5VR?~%mHy`Z`2PleE^Cc+~ z_QFkH3>#teh`S{sQk&D3vb^25LBO5Ly4kc|C~jN}?EwC(Qs%GL;WoaU3dbd;9B-Qv z^Opk7mvWe#7=e;z7>a((bZBS($z;y&vfpUd&?u)>jaFY| zX&uK(kJDss>~?%{5M_<=E%tB?Hv4%ZYS`sUFYg8W6SE{#B>0*nGTb3|BX^hfK^=+8 zEbgZlt+QQu(|rrC(gBwK-3X0&!wN7Q81-*c47DbU{V}=66jZlh;qjHPa?f`{WFu}! z9MvO6f5}JHfe4!wMiFB0D7wbupCD%AAWcFlpWQGFp4?tr6ZLf-&tI<;!OwyL$r(!% z`%$(oL`05w>l9kk@*}r99X6&r zXKcw17)gWZ)>%F}2^X&os~a6HF?Qo>MYx8xbzD&Jn191&v7XyRl9*b<0<-tF0_uS< zE~v5_HLQsfCW)317o&sRXez+rhqZ1?5@`3ut!TO0d?E^y{`egf8hK^_{jdS!=xi{7 zcQE<65`rhBzq2zAte^<4(3QOd#E<(6NjMe?u((E*@zNWDwd##QaVK^%OBEba$lg}* z7b8*AO`a-*6gl5IMHs z04|h>IbbyJ`@Q=9c8Ax*1+ReJf;74RM3Zazv`(qSA?zslU2hC~0dF$PLr%LNiMm9U z_zJ{5TP@Z4QF8z{&q1Z4IPYJ~lCWgbEIH<-K%ng?gaHl(!0-^HToqmL5F#{HfF!Q9 zY4s7RWK|^mqfoZt?9Z7))W$+~RWp++x!hNEvKi z88vQxm>xxn49NY9s_GEf-`e$yelzuA)1jXTH#KER%{;f1MZ4x$ zI1#NiVjJ3E*e@U3S zl2XyjE>RX8J4gxbe#hHAPh>gE z=7tlP*qIbXYCz|5hwgmj?waRa&c1uugTH-BrtnM?u~9hmN>ONK$T;h3Vk_LCJp;c3 zO12u7{37<6bMphG>{oIYI?c_ScX|jBl2^q9z!JB%ZJM!3mFBEWK+`EjLXgM}2SOs_ zMl)aH+!lfmHDoOjyF*c~k#c^Vj?=>_pp!{E-6>T_*vIeS^w9h`MJ@<{JqBlr31z0N zRM?&cb2KQAiqcFOv*b8oeB}yyv@q}9?TzR^*#sbs2@2`kZEd*>y4rxojlVUk=}E6v zZ;(7OO?zaF@icbg7%7g8=|nh^qHzb4-xw$$=>KMs`x*Q4UxK0}f<;O;vJVzW6EmS{u4!UN`da)RS!G!x)T`YnNsfM9 z-|Ell{w8ThnW2ZG^ZfZQNJzhjLfas8VV9RDRq4`e zY817vGcC6?Qtcg07{|1f>YAyo--)>{xs1ukyxiKM^gOr>z|r5Q$UY%`28N?#d(j)q zy{Y5aOzsg0L6NP#7h}mnd=+&vG)UyoE%Sa|BN~ET42eId;7r=zbgk&D`ZvtJ+;x5L zP<|{REISntQ%(o>-%d$jZzlWJRBcO5T{TTmB<^L;#=ADi?<%(;er_WAX1FEkeAyP4 zbs4xE1@`7ju0u7`x^_3blCLtzEpJtWuPrUJDWvhWeqx4Tm?)2A6MP5_jmHc8i?-oB zi5&hhHYISM+R7N9yi3i*-Ia7IovE50+P&rIBiG)1*%fY4BS&UZBfA0$1TNY!zv7U@ zeL!#-u=tF`OxMtNiKkiI$1azUO*C{5chDx<8ka!jBEqsH{dAVCB+gniylOk8}pZ4fML(M&3m!nD&< zV(AQTs6&?csuv%h2pAeF^bq6E{Vv4fyf3?Wc09t{-d85GLc^(uA(L43&po0~9SE$$ z&mQK8Q2hq|e^N;!&IQdz#~DsL7r`Yz%VKNm-^$L4{1TsNc{;P)RF`_Bo&flk^EL}3 zgwuc1EOP0~y}o7qnpMEdt-Y>#*WItM9{?%L2#W7npeB!3{D%tYSoV0NpUhT8B`vL4 zDPsyF#jHo5FQHsFp!b$_`b4U*IF(6r#8cOMB+S`IJf<9%4sW7$5sPkFq?;H5$chS zvobvxB(PFk^-g|N`~eZb+WsWVNu8_6)b3}__u{=PjD?svimCNX`Kt&2r>!e{A29lV zJ$~+MFtuMNZ9nDDAZsGmKwuuiGlH?47RDb><0v+vOedEF8l=VbA97+F$MVP=@DOoG zTmyM*u-K?Hs_=~`j(!LDAHN>or;q1mB0&Fb%>5>@)uXG0MA(+w!+y&KVO5xF|4p#Z zt3Dz5x~f3VoVh^1s33}rTK;G?Qq0AcIF9x+hQkUh@dbQEMm3gjSNHGR`6UE`N5R#u zkF4njF*LfnRl^(4-C)5^22uVJE;@E7zX%G@WNX_2KgPeaF}L`BHAUs<7c@us zjvPn@<|?5Vr<{^$wKXvAXQL(pcrW7HK)Z%?ct)j`xXNaE8*1Br5gIX0dYHQ6o|5PWD+72*E<<%+*vrCAi2L4;IYr`MvDK`45LZBCVZT!l3 zcLOqixN+HpDn}q;VVGQ;fVMaw%PGQc62xG9-10;uoj@FFzCD&E^yeRjhX> zSx9_F)wpoj9gzZv9y!>*?(E*6^*7|T_$`J^y;W*$uV6fB{I@q$=AiPek^W;90kOlf z`P+*tw|q!cRPQ}8(zn}f+Up3x*3gp|?M^UqFbsvfF4MlF!FAKVp!q)V5uVlA4g#DI z$?cnQZre3lqBnCMY-GHbbdEquXcQS)$n#au#DccUSB+t`+|RTo;TP(pR_Bn$=4nt? zxLd7&cZp*Z=Gieq522xnSl?m*iUV-*udl*^5ur`QqA^}sysIpV2qVelT*^wmMp+m! z##{MYuQS0}bOzf&5V=gA<+(0XmO<^7{Xi1%Nr-+5u{A7YOEf(zagH2UPY9oER1bbt z>EKqJFa1Z@kJViKXLuUf%~nWn^q=LB3nLlL>!An-?YJ9G-_^U7)Io7+PEW4(&mffG*_49GXmYvh7UiQJF%G`S~j$u|c=%JokJFd$>B;SrJW*{+xIcaUJ|Y zxJEwVr%Gwr4rm>~n|A(TxqkrOLS{ zQ_B>+@g#2tN~^y`G?F5=1Pq5HXc2aKzK$>o;4#1144=17KbL&!Fd1*{%q5aZ64ILv z!vA=nzEaQaP@;0J=xzed3p4vd#xVCj7bu>kTE%r!AVgei@qt-+%$EWPnCvXvxLEqf)km&(K6~@p z%@J_{r06wwJ%V96c4D%UdW$X?PsWUiR^F&#<4=jeQDWE3P5^xQgtVuir2`{`dkS%D zjEG0@b?nT@xsD^---jT5fSQ?La$1Aoji29XI+gI9h7UBwY+m zLop7lE0yP3$~a9t)q7KYo~>NZv5ZnVON?Vn7t@v6Y;Qqf9O-0Op>r9WlNz9c2!_i$ zdBC-aJaJoj`qg!E)KNO!S@V=#fZ(S0{7Iz^$*d>D{BXS&48i|Zo^_}Z09pF!+!gs( z`4nIwpNM^f3M>=!dF-wjAJ-#sNNS)orzFJWR-(8pwi`T_l&9 zLm&xAVY+xzhQ}c8ZnG{oxYt8bu&jpq8Ow3-vh^WY$cXN_=afv%yRHwGL2D3Y-9uNC zQ=0|%Waaf@6BK-z-vMQ1%I0TduLIzp{Nq@N%FenQ(7%MXPQM9rcSMVjWmjP6tQgl!n{7;|(5sZ!3sQ3L zc`T`$z?(chujom;6ykeMef6PT*gj#V%)r2ux2lD$Y6?|{fDa=hG0StOT$qf*>|mV* z|HY`%*N}W{7Wg@Y?I+vkBE`Bgjg*FoXJM+-<15?(@`H#PA2aqpAExj8J|2Fouz|9Z z%{}7ki5rM*N|9lNq>@-qYd6?XvHh%Rotqjdp(1T*0ZomTF-PR6xn+^}C0o z21%fLb-^}ZJ^p-FxTmRvu~r7~BBaq422={yy+0ze!C~O(k3DjZJ~KLPpn*ioHkvdV zf{Cb~kX)0~*`E&0{p!tsZj_3SS19eP{{e#x%%BMATjNr-lsIPA@bv_C0OFSqMUmk6 zSePqfmQqi@8Ch@(fEK$;>Quxc9?=(X3YS$jF9%@TMKcLxH-_sOAYn1wqm2x6AVRVrs7b2dUn6+y4Sm;v$!G)7L0GFL0XC~ ziPgfNm{K1s;O1J}pO}9713bX|E8B^5nOr|HjE%Lbv7w$Q`L~|3P+5=jaQE=}KSH|# z49nM|&y6t~mQEO3rBd$t3RK;MR2GdRPZt9af29Krkazhda&RLt0nTL;wVKh!l#Z~v z-pSiZBuFJT?SUg=F~iDHFmu26SE&};Lq@$9eRLnITm7cxX~b0t2D~(Ggo0YI`cdrb zf`m9*$R&PHOuNRzDlTVBjS(*2enR}n`RQZnlYjK$7H7yt|-BN@LJPC(NsA& z#h~|U2)}NqjjG0UYD0iDw>%s>*!fttc|n6UVwGIZJ3tSHgoNZtja0#02MTw^&hZuO z;Y5b9++L45n5Hms4u!*k6cQmQf(6Ni4RQp?m%MSp0)=fx-x$HDeIXE02;v$_*8EJB zOf2Ry7(o*5;3bMC5dZxGM4|#_`tG^IxX1F^jyNOM&tPslbaf~r7A5{rL=Z)wTfYrR zR$5kzmEFJn*TeY-(?{?Hk~G?#n@<#Aq-J`_At(`uuoa`=KW%iAgeFB;eKBTTR4Ub#IYOE;dbXg~cqc%Eq3fo|u!83(XBKKF zvQoNLI^Z@_=}PEyaD30V$_#!Alz(w_%S-$;WAD6+fd)x?s3tK?*U?ayJsOt8rH5e^ z*<#LI4j zMIjv(Wz3xlvZ}8n<9J#Or5ZC&1|vdvL%P3pwpXkJziOPKiE(1kz!o|y5A7OAc^$hd zO+F~vpZWsdnSNy~1NL-*s+83HCGV~7PJ$Tj9+K5lrFwKD*fuOd=vljEVZojvGDB!d zm`$(X*|nzU4)(y-Xok{|@KOB%i2-sE+8pX;2Nr46=Urc--fjq?43cH5``@@ZZ4wox z`|9$EDOdZVHf+im?h**E(&)_?%NbZav#A%AEk+2b@52?x)yGXsXbI zSMjZ)=pvj|Fv##fWJ3%LwXL};l+o(%nX zX%udVvz=QEEw6jyyV5Cjm^8(nq6y(#bdR#|CXhQtiWHWW98Y?~?k@v#5cry*!3#>NvNuyq z^>jccsFkJ-{MeZ}wUW^+uy;{}C=kz(*?-lK+l$~TQv6~@j@Dka(3sI1)L^SB{RW() zux4?5h+pJ~)cu4zPz>f!lSTv*+6yRSaz?$re~`?8--yf6Lhmu06j$o}=_0d5=mmk9 z2t`7r37`yQ$i=7BFnFPa47F;YQLPxz=eb73I}QtV z6)A(jnq_q%`fqXNv;m=O$;1iIc+{ZchQUv*uGE;aP3bVTkxo#N<#b>H^r*bT&J5~RxZYW^}T1iMzcicZIMDqH3g%gg!|Czm%>LOdyHeEi_R!2xQ>Mb?BY3O7OF!S`t zQ$49W>ra^;q=IInT29i|flu?+3Giq`{V&pHD=BE(BiREv4Ce|5|39`utodb7~q0#vGLb3>117YW^mdqV6=r7>&L#SMBzA z-+eu=GU)Ri^1)~{3l6&oRITWNdDYGxA!}qVQbx3@V%jvoE&Xr&LUyWf*Py~vDTQ91<+be$9Zwyf)YeA3>fAI zTOh4YHe@Tn_RfLx5E9=uz5ei2zCO(^V$2E1_q`}ejmE+Sq(xBQu~1qvDWP&gUAHeb zj7se{{T{s^?qp=S>A4-zzn6_?eL*kR{n000`@A5*6T~Z!wWFUL2CbNpZ%Y_Z8nN_t zvyHl9zv(6VG*zWKLAERxxeB@>3{LT}W zG2%`sAu7Mhj}F|+e{J71_XrarZ+R~l1rpp8EStvPYwH8nreg0M4KX=Jd;a^+ktYd5(P;q0#U_V3ZsNJSSCQMcg&B|*;4m)_}o@puncs{IN zjBp3T!b+!56zHgC`mrs$8vGWIQhNF}pQRhC3 z@IlG1FQ3w8vUYq@J|!GpLR7vDgr-2sTbJ3WpRM+`^HM#nso ze37)vFSH^2p9Y_f7XSj%UI34<^1862B6#T)DMiN7SQdMa$hS*m$b=OGP1U;&Bf!-- z9P`n^ph=M=Ws7BE?_}6Cf_>Uy1&oNd*(UHI!X-642u}B2?-*HH9z?d?(vLCNI3Ob5 zBKC*35~sK$!4J#O8OMSf8FGuJi3dQM>EL4gZhXc=-herQ{#Pa1C#*s&5Oq` zaI6jyPA1FEXH-F^)A1c0SW~l7xWNB>GGa9G-4t)X3=g;y`~-eJZ(Iso>VrE9;{$VErxYm$YJ$u330^_qzPR`MKkVH5Jq}|c8J|7&=6J9YPXY2h9*;n`zZ{`p}Q5QtWbtQ>mVA^%jds@@! zoz|bhPd1i{;P3uu7kD8@JSzrD381I})L6q6f}~=`p&%jPLV$>ou$6xCA2mLlEohw) z+N}!`B$xPC_?{Z!rlslKzID#CQA32$@~<6`aA>4k@hO{^!f)v4nI};XAlWZR1fiH z9x^$=zQ{1h=!3V^Q$x!&(`QdsnX-HJ$o)3Px-gPvTj{a^ z<^u=rIHq)2TJ6>;ByhtvBKXbo-iKXT?T#!Ph=HmtwJ~$RNa?ZEP4GbbN3EB!Dkcu8>To2$d8-S~ zqYSJA_XqH&g0aF8vQ^^f#B7a<1BxP@zcwyasmj$EEcps zuk`pFc?c(j+Rtb!^hNX>jzX?G5)@w;l;|sOhBEnwT#fM`Fl9~w& ztI~G0tU1QJ3(4hxh{|{)dk&|Zt4$POCT!k%@R1u*C#Zq%uu^)P50rRVwz1|w}!)d zvIhx`guP5g8w9>a z^xDN|7ggWL*05a7h-T)wLtUwmy0!}HwUl#U;a)iwm)E z3nD35fv;4cm6|Jav%598XRRS7b!)SWT{Da8EQdv3m;b9&B4Jgcja31VRd)qC*|A)K zVnc$%R6}7gpxm+~SsPU4^D$=yJgW~|I)`wc%WNWX@0v5qF`2`a1x=)m(;kUOM)&R$ zmt|YwY|Jm(lIrd~hcp8J*D+O=cHQk*A;N_c(9F6tqy6)kUq9A9Vbal_Q}z1x6~i^G z=oiltnvkP_FzoHM0y~Y4v;VJzu68AK!dQWRHQFuhqbSuwS10QcTWN36o=p0y$JN3A zx_fc%W8EjNQTB@Vk&0Qihpi0jWRf3dmHv*EbVXl&*&=3lF6-{7SB zxfa8K-<4Uxu~@U3c779WRE&U9SoZpitJ=Y&csrUAxITTgL$SBBsXtT?`7|Fr_*%&b z@jWnabcIt^PQJ3%Kg=gk)F8GG0eV1Y45GR9Jsl(T2d}WfmPS5xbJFcN+rX904^jPcJ z>`WKMFeH&X#Ix;4#pA=%PhP(M=Kj4ueExfN9i@Ksu{=bYhc!rDrXKBNDP#D%58ga| z^WEbo_j`Z%d~oOUot?XX`2Fwy_y;pOjzFol;4w74o^v(BzGTiE4FruP&soQUcF++W z<_3%}2TCNel~V9Ht-9FdK;je2Ttm}6 zDU;c;1ziyw>f2x1VET-y{{2gNuolSQ&$Pb`a z2c^-ei71I#jYVYVQ1G3;aV1NTikP#mWZ()^AhQcU&`Ik#kbW(X$H)?;@Pr~p422)| zco2eK7-Evj^WvME&|{d>k#xKNDBY`x<3YN_8^;7+Un0Tx6b}I*Ug_`em1H7xQ*MkB zSiPBP%&QuFyZ7^K#=8lXo@ql!`_jGg1{~_MQ@I%l8hX%Vkr~RE9|z*J%?ham)Tpl? zef8@q=-d%BrCZrX9j2E-zTAMB*#z#rcU+br(!ZJ6D9W+wLp@ZDAVyjyp>og$fgG00 z$AsPv`^DkgBWJ2(gcOOfUU~Fg+R~M~oiV83ya0hXTMQCkY1cZkb{Gm+qN2pHM z(E9`Iyy>bDioG%`{nbXzi;Q_6feyNjRXeEI^gmmey*V3BXY=7Ha^F$wn7NkxHUQM^ zYkcVR)$4&7A)uJ@Xz;=!e&8F@5|ZhGu--@M%QWQ=%s|~nmP8zrk;jBf0~A?(Q~xZj zBpb3mNslueFF}KPJFUFo028gYSR;7>IqEEG+ApVqtt}o zI)oVE{pit8yls5c`{wCudr1t*M~h|gL~IsN!TB^XVbza`i7Vfy%Ek^P%(URi3uc9qx8rKlStQ-K%Dy zd4MP2)gSVS-Zk^T0gX?9U4q74>=;0-bMb7`7;;tLgoo?naa4#aR5(d1hfiqjEfx{4 zHEOfa8;Bn`74gE_D?*;3Nv%jf&7*pq`B5B`=cPK**!*pGc!@Z7x?}>oFeiMQl;-th zxjb9k-`+-Y;mP>{&X}KWyGc#|ju(q_yf?h_$3NW3UCyRPO5v#&eyqDFx2TBee~G5j zIPFPD0#l^WhR9n2V=WHZi#;^Z;8}dYNj_1tsH%~|wQU14Sz|CE+ECOw69SEh=!ci! zAg=-@mQHlEGe}t9MF9c9Na2K<-W`J^NjFo((Fozs0CAT*y$)+%OvF*H)p!txP&Iro z3t_ePXWZx1*cWVl;bY{#2qc`tNxVg#X=}aVjFz=a1G4_jMoT|IJBY;D`2n8y^J6?T zEO1x+;&qq{WLE3^p4Ii^*$M-sV|-h1zHoIrPX5smI^}Mja>}qgfPopj98Qyp4SwVm zJ5KU)dNX1tHd^)z~Y--zE z;q$Qufw__cUG`I=%Qi_c+{0DG$brvbv*MC0*HtzF|2lgY=I!2HS<`X8XEP!yM6o014NKp0XD<)W|mC3suc@assk}H8MeE+fK}aP zzG*cOzfrnrOx>evp>Z#gx==t^(=!3nJ-u^&q0Z_D8yTi5IA~i)1{)^vet{I<6c=UIL$Ye6x%GVnOKr z4&vMFEUpM@eW9}K(Yt$_sqT#)zFH5^t_RiyzJzck(2x%)X_i(S&)=Z>J|?`Whx_c2 z=o?7yik%6Y#7hU1rVdQe1akuv)EWjCn6|%#?M}9sNGWh*#7k0}ddmWv&}pky3~X@` zS|#!F#Yp!Sh9i>Hc-nlVZLx>ZZfk-bs*z(Mj*qD4@GI0yvf9AiNQYxoMx8=gth3M* zXLxB_p&{ST=94N%CaP6C5h7C3r~cmF)*rRL{{z!G_xLvwY2V`SXkE;9h)UF{-GNrr zt>SfZU9TF9P}!$E!F2-c?&%31>gPc0Ub66>#Xxlhe`G3Da}UhkPTABYQ_F)g2)VQ&!*LUpYlITT3}3XX4p*k**K4&P|a}Z%K^)&ckzL8 z*!hlTc`}1L4rhKg>m7`-$$%5yc+qG!HztrCysQarf)%_W;(#nYA!qwBU+S4#K@Y;b)6(a55R~OYX@zyO0O)N0; zCpdG^*!b#Xg$`1WlMR?nQy;ATs||p_KEMSb`a>qLm6Agu6jE(hi|tYj)(Q5<<<(P? z)u&jvPGHwrFSW$U^;de2SO%`b9jg%>KZ@mB(hHaKbx_4`n-tW6jTN;1pr7|mS?VxC zhD8BsNv3Q1MukpCy;1;vyX5}QitW}`iFI3Svg5is zEkvr$#&N)K8%k?R>t+^4t$p`MftQU2cbcs9it}wS+qeT05k2H#JF6M2^J5cjfHt{p zSUY>Z-P^{5Zav3oiIs>#L58s%&V`9oTk^tK=RVbX{u^ zm0|Y7S{M;E{=yDdYK(IaEXKOyLu$u@U$Ax##4rjrqmh_RMnpg6a7;C}VwYeU)(d=p zgdp89d`1Iad>mUm*Jgcu_A9mnJf`PP@M*1q{!?4Wr3@Af6sthMh5)&sPxC$dGT>L% zH-{9JQ%89bm0*?g_;qW61PzAB{Rdv5=$_5VT&L>5$<20A1TKaB5iRi>&awfGPOJ3H z5?;~R=d9#zX9$?IJf_?B*X2x;Y*pxZ)X)n%Y@WfRhZh;xZ5&RpEA?i4+A#c``OXr# zIRN8GP#jbYqQXayHoJoy+ot_Ch2m8*))R00zH7JN5$7`PwvBmO321C-fQ2=}b#`2q zAZQ6>I5}vXEqs1oSiRD`u;0qi8!d5 z3!niGCVS<9-R-b;l|k+Hb%V{mrIS$%*6`t!(u&*~bIzxlZ7QF@n$TwW?#3o0ISFdM zA`&doWe5vD=TEoy$roFHAQ|eJJO$sp6SnwoL+`c#XT!)X)V zYohSJH0BXz9^B!MYrlfXMZ5g5rgc%}Ta%-_6;TLz<^zTeinO*JIL*Oa<2B%8?ot-p z4k$I7+G3nG!pm2^cC~+#WeeAa9lm>dL@%}(rA@FrxEV*NSt=e zVL`nvZ%vA+C?B25VJ>TG0n~V`3@8`VSAgwmgNxr4zO+FW!=PP=)J(@?alvy0(k@q4 z49k~^AE8IgPKZg8dhNX;_PgP8fVo4l`m7HA!o#=|@%a6!9=4YRLriRSRkeXDV##a5Ue5t#hT_6Hh&!o z;R0l`*;zf(&R{`SJ{oDKY==x`2|$z{8$yN&7`1~DBTqRM8!txk@@?Rly2J9eK@EKqXEdt|=@w4WQ>>f&dCkLxiz%UFVWm zJ~IF#pUT}Y@X5-C{ZO+{zibX)x@aT;6ukhAq{np8ng@j43te8@ft}HMb+T{Gnm*f? z_||NfU(^A=ntQQ|Y0BUgaHd~`SDI_T+6AF%o4A?#1)suS_iYWk0_=Q>H*Dq$YAOE-P^Xa^qZbJ2mzhS^ zibn2~D0{U%c(--c%!N72<|mu0B-b3e(77t>L?ed5W5tqKZ9;lFk!Qc>^ddv4*ba=< zNphje0i1Cks>WZaw$RV6?>`TJb)8(;G(!=g4(wOG-j!j5>!1N>H;;zJxt3E_>z*p} zP#6ODoI_Ma{Y1f5x_&92AivHeWFNf5)0tCA%6d%IX-ui%+CMq48V;Zy6DvTgp+UGT@NlYq%%D|Ey96Y{BU@sbL zUZ6NayCtzcjZ}a`vSf0>3@PlH2ga+zn&A<)`?eA~xRsR6HlTVBK|0)Zj4Sld@stam zedtAPm86#)+Vx?A$J1fez>3zk7$ep4k5vOig2#As!k>V$9;7efz*V{ORa1W1Vocwg zQ%MLwQ?RRcTaI4yIo66WaRYw}a#AFsP)XLCxHM-r!E>g%u&w@7Jxz3=la~Qw8KJ#BcjGv-;Pc+7s+$gP?|tI&bx50m`S_K4xK-YNh) z`0>&9R&BL84;g)&Z>p6WhoaFr{}$0S%5gFqEZjOlson4IHd}-aweC2q5>~gvlAVcf zd7QREr#$pP&p~ zEptG|22%*G#+`6Un;<1FPEVKbm}~JK9d`rl9Z36Dsz`vuBqA4}3c*AAu!MKG_5*zP zKfYSI$TO-lIh+k)<@f9_tWfbcZ?dNx75MdTp($0V55a}q%*gIU5Yh4$(JCuP_INgDC65nDVX=7Q2d7QJp$Tmg4cgu+&2PqP;Rz=ukiMyG%&P>-xWHoMWY~(Se z(-~gG>qRg#dYCXuPUD1#4B!+5iDlzJLcN~2e8aNhofLB&&8;Y;U+d;0v=EqC%avD(M(+u^&k!kSGL?s~++ zocv5Nq!BUP(b?YS=wK2pkrl>!DP|W_fUzIvXX#J5LissJZdu#^tR~!1%n#8{lLe82 z3yLIA82ia3yolD1dLBS}n1 zUUB9=q-V9`i!olG!$x#Yd^4$AJxX3{M|>|O#(VM0@o@zUo)4vG`86(B!SQ07)MgP{;O>+09gO!Mm$+Wv=Da-t=;!u7zzQEHG*;~5r7B z6vuMF3|$hR6>X(Q(ZAksx0g?a;L0MTaF&?&jU0T}2(Ql^Gr>~`M8SX}sQjnD|GjMI zEIycNTJEKGUXYq0ajMl2G|SuvVtA|suaz)Vx~j}V#SA6iRgr3zysBjpFiO)_fBa-} zeKK;i0KB&qGSUqAhijsj>HP&wZKm0#_zc6zK7g!v{TdG*S#?Ypr2)v*&hf?pgazQ` znb%xKy1KNGud+ATbY2Kr7bT^XLY6(1_GDEhaW9Ot-e2Q$vW73uVJGR-x&Z_bqckqz z)81?Vh-9@iMOW==XjOc_{!{|tZBo&32DxTuhE&V4L}Er>t?k6{=mi0qkC(yukqlvL z-)e;Jw|Na9M5Msu>+HSC%H3}rt0`sE*&%HA^TG%N!}RON9+HJED)2&xoVD0) z7);JY*vwv4v9h5Lm|O#fMk0x`1I6yxgCXwexStS%*pI51Vvy~wXL?tIt`{c_4&&g> z^AZnUcyWL$OxlMeGI=<%oWL9PtHTiyD5@s16+e-O6GbNUwbCn%&Psw!X^A9ISQ(bc ztIXM=zj53MRb-9}6KBRx6|mHXW6*I{$QTABIzlz;GimD`-V!y(Ds28aEhP=z= zqO4yzV7HYF9dRwJ7?Op!is3K)3WQ=I)S_W|zSTil0^)jxRQvHU$`(2pR8D0uBue=N zt))%=#v-2E<5jnZ=eQDd3R-KH20h7h8&fw8Y8?^A_0&*JWBT4L04>}sP!iX7;T8MC z@zIzE+9yL?wh8vHV#^@I+4wz9p;mZf(S&%-D&IOV502-dM&3$?mb9r->k7y_9Q}BX zXQz#nx?YO%M%+OGAj=G5PXr~x#mVXtS!*6KW6K*A>J)bQxv4BpqF9r(5|pDNepcQ_ zh)vl+b}T|QR<*WJ+T_cywym{MA2JNj)|cJ}T^(l{25@9dmEU35(~T-cKD~=Vp+E-P z7^@amaNDVA#G*ivMy2t~xlrwXt&@%vuFOcsgEPs;8EMFsjI`!~qf1{m1FdSsz>315 zMl$41=*&9M-^$v&$S?+o-6)65dcv^FZ^QTHw-z0(MNUAYfvEVAx=%xGskSi$_j^h) zAubJk6Y0m9M`l_&f>@Lf2-__~yS7lqfN>Sq^%8}W>H+dL6XLCsi-)ZgsT|Xb7lw+9 zSZGFS(N2E1{gy1x(Fw_#`LJj{0c@EtzaFezrA=w(N_&*<=*BkF0aH@?F@yoGyxxkA zan*6s&=D`ywh3jW4d&O}Mi*umdSluw1@4akeN^439SD>ppCBU|=luC{P;F!R0T*}c zOYbi@S)vJhLs3)93RI1)Xp0AG{FF%wtYT+Ie;+pENuRZ`#@q7ScMx}t&qug%VBR+r zO6fBr%gMS#m}2CZQXIgr~ts}XoHc&ABw=U10hq(E8 zk|fUgB8-&U>5#sx-nWm-g7d?!#hv@9$?}x)2avc-C>1t`oG4K)d0z1CQ@qv;m1FIj z{BJff@cU5FTlfvsc!0H^EQ(bSB;HKj=jCfC<4aWd`$u2={H-=<^j8<<`I+#V;| z+8T4VVKk5paKCl8oU)ySX2U!D*ywsU1uuf%{I?KpsYw!V{0ad#(KS8M^o5SCUyk$E zmpyi`0^e1u1a;T$V`WvoF2U!0gf;5g1W?{EO-l=ccHWZ?+{A(xVkXo=0A}lU(h85#*N%)E^Zz^Q$ zxJ=v~El~Pll)_4F^#UYkY?tW>`4YYNmp^YoE)R62D?^5!kW|iN z83akL1lr>I=#5`7nhcHB4kCTHnnl%#T&o;Sz5gADlCelFI0kn74{Uq^dPL8y?~q?fsr9o!watJf17h z)Ue@!LRJ3x>2%b*$Mp+QusmhfSGvjsYJfc7bLJ_g+BF)K2xXuE$%yFeBQS*qGQL|Yq;qw!JA0L zED+7CR2;GJ&qF(#S$~(|h@Br>MuEL(h5tIg=pkk;#3xk?F!_sDCuZD$LEtTavu(20 z8{})?poiRWfH>)R+28cUERx4%Q_=KNEV0gT8rV2&-GToCu}CUmO1w5nVVQARwNCeO z$CqV}Kg83rPq9#-dh4(!1oS7Zh=t&^yn`4@lZUci3e3ApUML zDq(qRekri!RZ2ZKuurJ_Z8qbZDJ)z1UUJM7qP2FrV_+c#Rd*Yklu%YlAie(IP;Q-C z9VV7VulSpvNgg3x^sU_x77_tFB^~lm8<#-GsHI3?Gx|<<>q#=d13d>Se)7IKe0cek zPY3)oocJET0mJ>JpJM?`7$&YkOc4rOCLPer>aH?YOH}vW2rIEptjJ{x0lWHERFKn$ zLc-#+X4GOY$LDN9q_`y+wF~C164NAOxLcSZ>gRZ+q$3eIRSVvW!?+jie^jDUfB*X; z732RcLXe0FAxxJCm^1)vQRsX;m}5eEGy8fDdrbK3Gx`fM7(7=+YR(WSmyFnvG|vAO!+ zJ0AFL&3yT=fzKI~I(}LT3J0)#f$#}|+3E75#>x!<< zkTm?(XGjv9d>E^U3>BSfG{H{93>t4Fa)Jt5|G#rNdu^m>wOtSBq96b#n*IVn||(<_x|T!NKU)M zXGsG)JR7&QBZS;M`d!IxdrHA^!ckJjNhst&LmrIC`sJje7Usp9&cg=j8L~hgIj=;e z10Kc2*|uzC`>K)?T7x=nOP!XK{Q3}#@&e_MmaybqCrY}n*$J}LrD|QUh9pGuB__Z` zi>ti`zl0p)W_)3Ia5h{I-}zG_N9SJc3i@1J+xOCG63mh9=c87Ik4g| zby5U_b8!6d{0NVWUV&(W8m@gFw5(P*LG0*J%*?+Tp0u>%PEY0DmEc>HHdI^>6}cie zKjy)yw>00h1PM20?F3&dw$u}QvH;M#1|d7@H=qqwzgZWoBZMlPE_tc2ip=LZ18{+a_aW9+gN zPNRRLeg$#OIF$k}lqi8@aa`po=dFEUTrv>3FOw#*v|K}dF#NIF5= z?D`wIk1T$D{&S0)etye0c#J@@J5Dl=jkL7b9@vYUj4jMZ(r|+3|Ex&4F)7I@abU1- zan8J@RW?D&%oR<@zH9{;H32RQER#po|VzzI_N9k7kGG{BvO5)?@#Pvq-9u zgaV_%z{l8yW{Rhx9(a;{iECvzAd-XQ;D9*_(#Xx4z8R@v2;!Wlj-vshQ#nAM6|!i^ z?bqUGDUmu;CW)$Ql=5VP;>yz(f#qKZ6_TRWedo!!3~N=5!oU-^*Od^KTFI|3brqdi zLJ~)Mu0rGr-0E%K$E`gYfR*9ad#)B%-5uw?-JHo~XWUan$~U5YVO-rrfz1NtKMOg& z9!BgCj%cwJ7@VT8D8L;cI6rV_@D0X>l{S~TP5Fv|)2`He zawI5G*-$ML*h%Ss)N`Z^t0t>ye)uh+RlGeNU~H;V3*J-F z@p(6i8JzcX@~p$C;IFCb9Vded?kUB8*_@u?o%i{r9^bu<3qB{4-a!MWMCT^#_&V;9TIUIYhPvPj`ba%%Dt;<=%#kf#@e3y7p-5%Ps6TQTZI zQx&>Wm|=>JeA)sBxT}4*T=e&*IODl!-g5SEPt5kZmGztEiSYGWmwmM-^U?@ZVnwxj zhu5QT_n6vro6DQhrmbJ?un`7_3bD0#-%aNRbIVd>hxPXOfS!eNKoq82)t`6L=U|-S zFQGGIzln6<^Cd03p`Y}Z*Cspl=m+TXWTKl|*I(v#~LgW7LHe)e_Jtt>P;djzHix_mQ!N#Gix3{4h4?L;OHXNcp*ECSv#!yQ~SWQ*0K`7Nv&%354-C(Ibvw2e3IQ|IBP z2`rH6_*C!Jc`r%Mq0IE)Iu!cRWOhD!hAC&|1@3#lr<6#cb2tp?I`dh&B2Z=<`^j>T ziajhV2c^L^Ki3RnDB90C@&7YRY^9Xkxo;G-_g|TU9 z-lBKPi~Ej-I6phL+m>-~XS6 zP#ua|!H+E53r(O`I9Gh{h44yCuuoxpgTksmObr2FN{{cwMt2czC%6@T<3uJAtHWxj zN}v+uB&-k!uBE@8%^~Qe$VxmzhJ5A<0rj70ZKqXuSiB;Bk;IIHh}n;oJ)tWMgtw0x zk#Dr6<$a(`TvQQGdDP@@3-CBieTIzhRbU4Jdc|Kbb11Bka;*3)Voqc$pGpr$J1b;K zB9jgBDjR=0YFf%PvwJMu6XNYy!Rw*1)K zAvPs&)U3~=_H!OO!}=-RppG;9$AjLZAznJe96ay6{_8h3FDv>D^#&K57%h282s$yG z6K+rG;31(ZcC#_RQKN8q2lnkf83XBgrb~eTI`S6_`)3aC&o(cbmi=sHNHt8os~Q7qzvUr6&4mSf-25D-)IpGB_4e8>Ux%mArX_D~M@6R=c9pvmi!xC}J;he0t35 zi%JjNU2k^cTg?}I+=L>Si%#^KNhy}>-OK{xH)rqdj$bu7#vKgJ{1Sbk!RB-p`#JiE zLsxj76^qR!j&(&Rv#D+;;UXJFZmSij_&RP-qL^gg$L?DW@dyd@O=9^aD@hia808Kz zM)9$2Va9g&emR$dlpv1{a5Qo!86Lxe)}H&2X8^{#E6e4B`=L}DKvMnq?gw2WZvNUFWDoqM6pV zrkQNPOo7!OmrnejyMR7PMs1d%kCvWf@Il@3lI$@rx$PH$2qM_?W2%jX0px!Q#;Q}T3cIMbo)fHHge_}PqJiiDkZsI>7{Y2cvw3PqCyvhj;DKp`BS>4`# zF~uqnl*0{)F?7ZWvEIYeA?JD}2u^Utdx|ad!n)S{9}$Ow|HQhCrig{Y)ZZ*+1Y%ZWoI_hBaDeifbm-(Bl5%)okc5a~XjEWba+o$?5*U}+@d$P10fhhWGi`m^I(egPkfzR^`ZR?6d2 zcA#r#fd8{XkrAN$;MamL7v!HZ4#?Bq)M9b_$Fl|=3uRg17z_46xOe~yrLMBf?7&l> zSiqEWS5ebXQNPA1Gu$NBdvWk1oDf?`MzT)F(V2@FIry2^iLr!hlPB-OlLz#U&@7}c z6>(#SD%SqsCWJy6pFVavD#SLSISAh^mt@y1aJt#MEAg+=rgDQ%0AbB-dZtm&kDfc` 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +